Blog > Authors > Tim Harrison

Documenting Cardano: a single source of developer truth, fit for the future

1 July 2020 Tim Harrison 3 mins read

Documenting Cardano: a single source of developer truth, fit for the future

With yesterday’s release of the first Shelley-complete node on the Cardano mainnet, a new era has begun. Between this, the launch today of a brand new Cardano website and brand identity, and tomorrow’s Cardano Virtual Summit, the dawn of Shelley is casting fresh light on IOHK's future. It has also highlighted the need for a documentation framework fit for our rapidly growing ecosystem.

We have written and gathered a substantial amount of technical material on Cardano over the years. Inevitably, this has developed organically and has been of variable quality and utility. Not all of it remains accurate or useful. The deployment of Shelley, the growth in developer interest, and the evolution of Cardano has moved us from project into product. So this has created the need to take a fresh look at how we explain Cardano.

Users and consumers of Cardano need to have clear, concise, and relevant material that matches the quality of the code on which the blockchain is built. Documentation needs to be correct and useful, and well organised and focused. In addition, we have identified the need to map categories of information to each user group, or persona. We're building a best-in-class blockchain, and this necessitates high-quality supporting documentation. The old Cardano docs site was in serious need of re-organization and updating, and our technical writers have been busy doing just that. Welcome to the new Cardano docs.

Documentation for the future

Cardano is a complex product with complex technological underpinnings. However, for the developer community and wider audience to embrace it, we need them to understand how it can provide rewarding experiences. They need to know what Cardano can do and how it can solve problems. To ensure that we have the right information for all users, we are reorganising the documentation suite and mapping what each audience needs.

Over the past few months, IOHK has been engaged in a company-wide effort to revamp all the content about the Cardano project. Our technical writing team has been immersed in transforming our previous repository, working closely with our developer teams to create a single source of technical truth, A resource of effective, informative, and up-to-date information that provides value to a broad set of audiences: exchange partners, stake pools, experienced blockchain developers, as well as people who want to understand Cardano. That also caters for skilled crypto enthusiasts and those who simply want to learn about Cardano from a technical perspective.

So today, we’re launching a new documentation site. Instead of a static repository, the site is now a living, breathing source of information on Cardano, plugged into the heart of our development methodology. Just like Cardano, this is an ever-evolving entity. Components are added regularly as we strive to improve on the content we are delivering. New functionality is implemented all the time. We also intend to publish a lot more documentation based on our plans and community feedback. We need to build this out based on what works for our users, whether they sit in the technology or commercial space.

With the virtual summit and our continuing momentum bringing a host of new faces into the ecosystem, we now have a jumping-off point for a single source of developer truth that we can build on.

What the Byron reboot means for Cardano

New code delivers big benefits for the network and Daedalus users as we prepare for Shelley

30 March 2020 Tim Harrison 5 mins read

What the Byron reboot means for Cardano

The Byron reboot is a series of updates to multiple components of the Cardano network. Namely the Cardano node, but also the Cardano explorer, the wallet backend, and the Daedalus wallet itself. The first part of the Byron reboot – a totally new node implementation – has already been deployed to some relay nodes on the network, and the next few weeks will see core network nodes and more relays being incrementally upgraded to the new system. Soon, users will be able to experience the node improvements directly via a new version of the Daedalus wallet.

Why do we need a reboot?

To prepare for the future, and for Shelley. The node that launched at the start of the Byron era was only ever going to take us so far. The new node implementation has been designed from the ground up to support not only imminent Shelley features, such as delegation and decentralization, but anything else that the future has in store. The improved design is modular, separating the ledger, consensus, and network components of the node, allowing any one of them to be changed, tweaked, and upgraded without affecting the others.

The reboot has also been an opportunity to apply evidence-based formal methods and testing to every single aspect of the node. Rather than try and make these substantial improvements to the existing code, it was more effective to work from scratch. All critical elements of the new node have been formally specified, and the final implementation tested against those specifications. Basic code quality and performance are now significantly higher and more robust across the board, as well as being easier to test and verify going forward.

What’s involved?

Improvements to the Cardano node, of course, but work has also been underway to improve the Cardano explorer, the wallet backend, and Daedalus itself. The new explorer has been redesigned to make it easier to use, as well as having an updated visual design and more information available. The improved wallet backend and associated services, collectively known as Adrestia, will allow exchanges and third-party developers to engage with the Cardano network using a collection of independent, self-contained libraries. The newly extended APIs have been explicitly designed to meet the needs of larger exchanges, enabling ada to be supported on even more platforms. And finally, a new and improved Daedalus release will see Yoroi wallet support, transaction filtering, parallel wallet restoration – not to mention some significant performance improvements.

How will it impact the Cardano network?

At the most fundamental level, the Byron reboot will improve the performance of the entire Cardano network. Transaction throughput capacity will increase, and the network will be able to handle much higher demand and transactions per second. The node improvements also make the node more efficient and reliable in terms of memory usage, increasing the viability of running a Cardano node on a low-spec machine or in poor network conditions, which, in turn, enables more users to participate in the Cardano network across the world.

What does it mean for Daedalus users?

First, there’ll be a new rolling release of Daedalus that is designed to allow users to test the new node functionality and wallet backend, and to provide us with feedback. We’ll be sharing more about how that will work in our monthly product update on Tuesday, March 31. Once the wallet has been user tested, feedback will be implemented in a new production version of Daedalus. Many of the issues users have experienced with Daedalus in the past were due to the underlying node, rather than Daedalus itself. The new node will go a long way to improving performance, and users should see Daedalus syncing and restoring wallets at significantly improved speeds.

What’s next?

The reboot commences with the deployment of a CLI and associated APIs to exchanges and wallet partners. The new node update will then be rolled out to more core and relay nodes on the Cardano mainnet within the next few weeks, followed by other reboot and continuing Daedalus improvements in the months ahead. The goal is to gradually and sustainably migrate the entire Cardano blockchain to working on the new node implementation, without any disruption or loss of service. After that comes the Haskell Shelley testnet, which will include onboarding stake pool operators from the Incentivized Testnet to help them set up and prepare for running their pools on the Shelley mainnet.

The Byron reboot is the culmination of over 18 months of work by several IOHK development teams and represents a significant investment in the network-critical infrastructure required to support the Shelley era of Cardano. For more details on the reboot and how it will all roll out, tune in to March’s product update on the IOHK Crowdcast stream on March 31. Cardano product director Aparna Jue and members of her team will join me to discuss the latest on the reboot and the next steps for the project.

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.