Andamio Logo

ANDAMIO BLOG

Cardano Go Live Coding Session #004

2024-04-07: by James Dunseith

In case you missed it, here's a link to the video on YouTube.

What we wanted to do:

This week, we continued our intial exploration of UTXO RPC, which provides a shared specification for interacting with the Cardano blockchain.

Our goal was to see if we could implement a query tip function using the recently released a minimal implementation of the GetChainTip endpoint from Blink Labs.

Here is the code:

What we did:

We didn't quite get the function to work, but we learned firsthand how UTxO RPC ensures stability. Because the version of the Go Codegen did not match the current version of the UTxO RPC specification used at the Demeter endpoint, our endpoint would not work.

Instead, we got to take a look under the hood at how different UTxO RPC compliant endpoints are being built in cardano-node-api. We took a brief look at how gouroboros is being used, and we discussed the potential of other endpoints, like 'hold UTXOs,' which might have some interesting applications in transaction-chaining.

What we learned:

It's important to understand how versioning and compatiblity work across UTxO RPC. This week, the chainTip function didn't work, but in the long run, this is a really good thing. We only want to use these RPC functions if we have some assurance that they do what we think they do, that they're stable, and can't be changed. The current goal of everyone working on UTxO RPC is to reach a stable V1 version, so that developers can start to use it, and where breaking changes will require a new major version (V2).

What's Next?

  • When the endpoint is ready and versions are aligned, we will revisit the chainTip above.
  • In the meantime, we will focus on building transactions in other ways, as we continue our adventures...

About Cardano Go Live Coding

Cardano Go Live Coding meets on Mondays from 1300-1400 UTC.

Follow the project:

  1. Notion page - public dashboard
  2. Andamio CLI on GitHub

Register for Weekly Live Coding Sessions

If you’re just getting started

The team is working towards creating a PBL (Project-Based Learning) course, and the current focus is on generating raw materials, including code examples and lessons.