Blog > Authors > Tim Harrison

New Cardano node, explorer backend, and web API released

We’ve refreshed Cardano’s architecture – with more yet to come

12 February 2020 Tim Harrison 4 mins read

New Cardano node, explorer backend, and web API released

Today marks the culmination of considerable effort by the Cardano team: the release of a new Cardano Haskell implementation. This implementation consists of two main components: the Cardano Node and the Cardano Explorer Backend and Web API. Over the past 18 months, we’ve been building a new architectural foundation that will not only prepare us for the upcoming releases for Shelley – and, thereafter, Goguen – but open the door to third-party developers and enterprise adoption.

The changes will begin with the Ouroboros update to Ouroboros BFT (Byzantine Fault Tolerance), which is tentatively scheduled for February 20. For now, Cardano’s blockchain production remains on the old implementation. After the update to Ouroboros BFT, we will be able to migrate the core nodes that create blocks, while Daedalus users will be able to upgrade later, once the compatible wallet backend is available.

Why now?

The original implementation of the network node – launched in September 2017 – has taken us as far as it could. We’ve known for a long time that a new architecture is needed to achieve our roadmap, ready the system for Shelley, and provide a foundation for Goguen, as well as other future releases.

This update is about radically improving Cardano’s design, and is the first to take advantage of our work on formal methods. While the old node was monolithic – with components like the wallet backend and explorer built in – the new version is modular. This makes future integrations easier and allows the node to be more readily incorporated into other systems, such as those used by exchanges. In the new architecture, the node, wallet, and explorer exist as separate components (a new wallet backend will soon be released).

What’s involved?

A significant achievement of this new implementation is the separation of the consensus layer and ledger rules. This decoupling means we are able to change the ledger rules without making changes to (or risk breaking) consensus. Following from this, when we transition into Shelley to Goguen, only the ledger rules will change. This will allow us to execute deployments more efficiently and add new features more frequently. We’ll have less to validate and test, while supporting more efficient development.

Some benefits will be immediate, and others will be realized over time. The direct benefits are that IOHK engineers will be able to innovate more easily and make changes to specific components without necessarily impacting others. The new implementation, coupled with the update to Ouroboros BFT, will also lead to significant TPS (transactions per second) performance improvements. For end-users, the benefits of this update will be cumulative, as the Cardano network profits from greater developmental support and system adaptability and portability.

This new implementation is the result of a lot of hard work. Now, we start to see the benefits of our commitment to formal methods, delivering a network that can not only scale, but remain stable while doing so. The new codebase has had substantial – and ongoing – testing, and we’ve been able to make a number of fundamental improvements without inheriting the shortcomings of the old codebase.

The new Cardano node also features an IPC interface that can be used by multiple client components, including wallets, explorers, CLI tools, and custom integration APIs and tools. This isn’t only about us being able to develop better-performing systems and applications, but others being able to as well.

Cardano Explorer Backend and Web API

The Cardano Explorer Backend and Web API is the new explorer backend and web API for the Cardano Node. It has been completely rewritten compared to the previous cardano-sl explorer. It has a new modular design and consists of the following components: Cardano Explorer Node, PostgreSQL database, and Cardano Explorer Web API.

  • The cardano-explorer-node is a client of the Cardano node. It synchronizes Byron chain data into the PostgreSQL database. The PostgreSQL database schema is a stable public interface and can be used directly for queries.
  • The cardano-explorer web API is a REST API server that reads data from the PostgreSQL database. It is compatible with the old cardano-sl explorer HTTP API and old web frontend.

For more information, see the release notes and documentation linked therein.

This release is about preparing Cardano for what’s to come, and ensuring we have the architecture and network apparatus in place to scale, remain agile, and allow for the necessary interoperability, interactivity, and ease-of-use that industry use-cases require.

For the latest Cardano updates, visit the Cardano forum or follow us on Twitter – and stay tuned for more information on the new wallet backend.

Shelley Incentivized Testnet: the story in numbers

We've compiled some Incentivized Testnet statistics. Check them out.

7 February 2020 Tim Harrison <1 min read

The Shelley Incentivized Testnet is proving to be an incredible journey. Originally, we hoped for around 100 pools. As of today, we've reached over 1,000 registered and more than 670 active pools. Over 11.5B ada is now being staked on the testnet. The many improvements to performance have resulted in an increase in uptime – but there's still a way to go. We are not resting on our laurels, even for a minute, and efforts to improve stability and performance are ongoing.

Still, the progress to date is a remarkable testament to the commitment of our incredible Cardano community, which grows in number and passion every day.

We’re started compiling some testnet statistics, a few of which we’ve captured here. Transparency is always our goal: we want the community to see what we see. To that end, here's a look at the Incentivized Testnet's story so far, along with a flavor of the community's reaction. We'll continue to gather community feedback and data, and we'll be sharing these as we go forward. So stay tuned as we continue to chart our journey.

Unboxing the blockchain – the Shelley testnet making its network debut

After a successful test run in London, the networked testnet is now available to the community

26 September 2019 Tim Harrison 5 mins read

Unboxing the blockchain – the Shelley testnet making its network debut

Last week, a team from IOHK, along with Cardano ambassadors and representatives from the Cardano Foundation, met up at a co-working space in London. After a quick presentation, laptops were switched on and a few Rock Pi computers were booted up. An hour later, we had them all connected in a peer-to-peer network of nodes. It was the first instance of the new networked Shelley testnet, available for the community to join as of today.

A recent post about the Shelley testnet covered the journey from the self-node phase of the testnet until now. This new phase is the first decentralized implementation of the Ouroboros Genesis consensus algorithm. While it’s still early days, this is an important milestone for the Shelley era of Cardano.

The networked testnet phase allows IOHK – and more importantly, the community – to test the behavior of an Ouroboros-based decentralized network before making changes to mainnet. The current Cardano mainnet operates on a federated model, with all nodes in the network controlled by either the Cardano Foundation, IOHK, or EMURGO. As a project, the ultimate goal is complete decentralization, with the majority of nodes run by the community. Not only does that goal pose an engineering challenge, but the change must be sustainable for the network to flourish in the long term, so it has to be achieved in an incremental way.

After less than a year of development, debugging, and troubleshooting, the project is close to realizing complete network decentralization – but it can’t happen all at once. Steps are being taken to ensure this is done correctly. The 'private' network we initially set up in London allowed us to see the networked testnet operating in real-time, and to capture crucial information about its behavior in a live context.

This network is being built for the real world, but the real world is unpredictable. By testing the network capabilities in different scenarios, it’s possible to learn more and account for a broader set of variables. To derive understanding from real-world scenarios, wider community participation is required.

That’s where you come in. With the release of the networked testnet, we're inviting the community to help Cardano take things to the next level by running your own nodes and participating in the network. We encourage everyone to take part, and to help, we've made documentation and instructions available to you.

We've already seen a brilliant response from the community during the self-node phase of the testnet. From today, we are inviting anyone who is interested to download and install the latest version of the testnet node and connect to the networked testnet.

We want to collect performance data in all circumstances and multiple use cases. So try to run a node from your local coffee shop, see if it works with their proxy. Try it from the free hotel Wi-Fi. Check out how it reacts with the firewall. All this ‘real world’ data is useful and the more communication we get from our community, the better. We are not expecting full stability at this point; by putting the network through its paces, we can get there, faster.

The Cardano ecosystem is built to be a community-focused decentralized network. As Shelley approaches, the ambassadors and supporters are integral to working through upcoming challenges, alongside technical support from the IOHK team. We expect instability in any testnet. There will be outages and lag in the network at the beginning, but that is inherent to all new platforms. With every iteration, we lay a stronger foundation for the future.

There will continue to be regular updates in the Jörmungandr GitHub repository, where you can download the latest release of the testnet code. This codebase will be iterated on and improved over time based on bug reports and user feedback, with the goal of making the network as robust as possible before we move towards phase three of the rollout later this year: the incentivized testnet.

We’ll be keeping a close eye on how the network behaves over the next few days. The focus, for now, is on stabilization, so you can expect to see some ups and downs. Please make sure you continue to log issues in the dedicated GitHub repository and we’ll get to them. As this phase progresses, we’ll start sharing further documentation and content which will walk you through more advanced functionality, and set some tasks you can experiment with.

Launching the first private decentralized testnet was like rolling a small snowball down a mountain. It’s only going to get bigger from here. Cardano is growing, picking up speed, and moving closer to IOHK’s vision of a decentralized future. We want you to become a part of that growth. Click here to launch your own node and join us.