This is a full report of the node diversity workshop we had on the 22nd and 23rd September in Toulouse. This is the second iteration of an initiative that was started in April, see: Node diversity workshop #1. Feel free to use this thread to provide feedback, gather ideas or push some topics further in the forum using the Node development sub-category.
Thanks for reading and sharing the love of node diversity
Introduction
As Cardano is now firmly settled in the age of Voltaire with fully decentralized governance, not many things are still centralized in the Cardano ecosystem. However, all blocks are produced by a single node implementation, whose development has so far been funded by a single company even though it’s now being handed over to the community through Intersect and treasury funding. Over the past years, quite a few aspects of the Cardano protocol have been successfully ported to other languages and technologies, yet until recently there were not any attempt at building alternative full node to provide a fully decentralised network.
As we start discussions across multiple teams working on Cardano components - current and future - in initiatives like the CIPs and cardano-blueprint, we thought it would be a good time to meet up in person (again), to discuss and work together on things that maintain the integrity of the Cardano network while also supporting node diversity.
This time, it is the Amaru team who led the initiative to organize and coordinate that second node diversity workshop. It’s also worth noting that this is the first workshop of the kind entirely funded by the Cardano treasury – for it used a portion of the Amaru’s treasury allocation.
The attendees came from a variety of backgrounds: node implementers, the Leios R&D team, Mithril, Lantr & Antithesis (see the full list of attendees below). In total, we had the delight of welcoming 36 people to Toulouse for the workshop.
Summary
During a sunny Monday of September a group of Cardano builders & enthusiasts gathered in Toulouse to bring to life decentralization in Cardano. The workshop was split into two days: one day dedicated to the testing and simulation environment and a second day left open using the Open Space Technology workshop format.
Day 1 started with an introduction of each node implementer and their project:
- Damien Czapla for Amaru
- Paul Clark for Acropolis
- Chris Gianelloni for Dingo
- Michele Nuzzi for Gerolamo
- Alexey Kuleshevich for the Haskell Node
- Alexander Nemish for the Scalus Node
- Alex Sierkov for TurboCardano
- Clark Alesna couldn’t join us but we still had a small introduction of RAZOR
- We finished with a special overview of Leios by Sebastian Nagel
Day 1
Following each team’s introduction, the rest of the day was dedicated to learn about the capabilities of the Antithesis platform. We had the pleasure to host a team from Antithesis that provided a quick overview of the platform and then helped everyone get started on using the platform itself to test their setup.
To streamline the experience, the HAL Team from Cardano Foundation made available a command-line tool codenamed anti-cli which uses the Cardano network itself to record and track tests run requests. The participants could then use preexisting test configurations to start with.
Special shoutout to:
- Paolo Veronelli the lead developer of
anti-cli
whose presence was very helpful to onboard participants- Luis Marcano, Eric Dinh and David Searle from Antithesis for their time helping the community familiarise with Antithesis concepts
To add some fun to the experience, a small competition was proposed: participants running tests were given a certain number of points depending on the “quality” of their testing, and the top 3 winners were awarded prizes in ADA.
Here are some statistics about what happened this day:
- Quite a few bugs and infelicities were uncovered in [anti-cli][anti-cli] which was very helpful to steer the development of the project
- The tests run generated more than 120 transactions on
preprod
, - There are now 13 users and 12 repositories, registered on the network to run Antithesis tests,
- 18 tests were completed this day.
The overall reception was very positive with some future concrete actions planned:
- Add existing E2E testing scenarii and transaction/load generators to use by antithesis tests, leveraging existing testing infrastructure for cardano-node,
- Improve documentation and UX for
anti-cli
, potentially making it useful outside of Cardano, - Campaign for funding Antithesis for 2026 through treasury withdrawal,
- Keep supporting teams wishing to leverage Antithesis to run their tests,
If you want to learn more about Antithesis autonomous testing, you can check out this article written by Arnaud Bailly.
And of course, after a full day of workshop, everyone got a taste of French cuisine
Day 2
Here are the spontaneous sessions that were held during the second day of the workshop:
Each of these sessions will make for a follow up that will be looked into with the organiser split into:
- What are the main takeaways from the session your organised?
- What’s a practical action that the group agreed to take moving forward?
You can find the updates that will flow in the coming weeks in the Amaru playground Miro board
The day 2 finished with a live demo of Amaru with:
- Matthias showcasing Amaru running, lookings at traces and metrics and having a focus on the implementation of the governance
- Eric going over the Consensus chain selection, connection and wiring
- Roland presenting what the simulation environment is and the specificities behind it
- Arnaud sharing his thoughts about building snapshots and trusting the data from implementations
- Jonathan & Josh going over the UPLC VM progress
You can find all the demos about Amaru on the PRAGMA website
Attendee list
- Alex Sierkov
TurboCardano
, node implementor - Alexander Nemish
Lantr
, node implementor - Alexey Kuleshevich
Haskell node
, node implementor - Andre Knispel
Haskell node
, formal methods on ledger specs - Arnaud Bailly
Amaru
, node implementor - Brian Bush
Haskell node
, leios R&D - Chris Gianelloni
Dingo
, node implementor - Damien Czapla
Amaru
, product manager - David Searle
Antithesis
, problem solver - Dominic Wallis
Haskell node
, node implementor - Eric Dinh
Antithesis
, problem solver - Eric Torreborre
Amaru
, node implementor - Geoff Little
Amaru
, node implementor - Giorgio Zinetti
Antithesis
, problem solver - Hari Amoor
Gerolamo
, node implementor - Javier Sagredo
Haskell node
, node implementor - Jean-Philippe Raynaud
Mithril
, implementor - Jordan Millar
Haskell node
, devops & product manager - Julien Eluard
Amaru
, node implementor - Karl Knutsson
Haskell node
, node implementor - Livio Klopp
Haskell node
, haskell node infrastructure - Luis Marcano
Antithesis
, problem solver - Marcin Szamotulski
Haskell node
, node implementor - Marcin WĂłjtowicz
Haskell node
, node implementor - Markus Gufler
Haskell node
, SPO - Martin Kourim
Haskell node
, end-to-end testing - Matthias Benkort
Amaru
, node implementor - Michele Nuzzi
Gerolamo node
, node implementor - Nicolas Frisby
Haskell node
, node implementor and leios R&D - Oleksii Khodakivskyi
Lantr
, node implementor - Paolo Veronelli
Haskell node
, node implementor - Pascal Grange
Amaru
, node implementor - Paul Clark
Acropolis
, node implementor - Ramsay Taylor
Haskell node
, formal methods on ledger specs - Roland Kunh
Amaru
, node implementor - Sebastian Nagel
Haskell node
&Cardano Blueprint
Conclusion
As highlighted in a final retrospective session, everyone really enjoyed the constructive atmosphere and the overall back and forth between interesting topics in various sessions. Even while discussing more heated topics people were surprised how collaborative and friendly the debates were.
We are quite ecstatic to be able to bring together node builders thanks to our budget from the Cardano governance and make this kind of events a recurrent touchpoint.
We found a good mix of hacking and using the chain while also having open ended agenda that allows for more room for people present. We have quite a few ideas to make it even more efficient like allowing “main themes sessions” and “side sessions” to make sure everyone can attend some big topics like Leios deployment alignment for example.
What’s next is gathering the key takeaways from the sessions and make them into actionable steps that bring value to the discussions that happen between node implementers. We want to make it a recurrent habit of bringing up “things that happened since we saw each other”
And last but not least, people in the workshops wanted a more direct timeline about node diversity workshops and a bit of roadmap synchronisation. We will include this in the Amaru budget next year with a scope related to organising 2 node diversity workshops and facilitating roadmap/testing/implementation alignments between node with similar goals.
You can keep the discussion going either in the forum with the tag
Node development
or join us on Discord:
PRAGMA/Amaru Discord
Cardano Scaling/Node diversity Discord