In case you missed it, here's a link to the video on YouTube.
What we wanted to do:
Our goal was to build a transaction that deploys a reference script, which would be a really helpful utility to add to Andamio CLI. Reference scripts allow us to attach compiled Plutus scripts to UTXOs for later reference by transactions.
When developers are building Cardano applications, they often need to put a Plutus script on-chain, so that they can test their application on Preview or Preprod. Later, when an application is in deployment, different reference scripts might be needed for different instances of an application. This is the case with Andamio, for example. General Cardano users might not often need to deploy their own contracts, so we're not yet (see footnote) prioritizing building that feature into a front-end. Since it would be great for devs to have easy access to this transaction, it's a great option to build into a command-line tool.
What we did:
We made some progress! Mix provided a quick review of the simple spending transaction we looked at in session #002, and then embarked on building the deploy-ref-script
transaction, using Apollo.
Once again, we didn't quite finish our work in under an hour, but we're excited about what we learned and about next steps.
What we learned:
There are a few functions we want to learn more about, and we have some good questions. For now, we acknowledged the ambitious nature of the task and decided to continue exploring solutions with the help of the Apollo library maintainer, Eduardo. It's exciting to reach this stage of the project, and in the future, these weekly sessions will provide a space for ongoing updates from contributors to different projects.
What's Next?
- Mix will contact Eduardo, the maintainer of the Apollo library, to discuss the challenges faced and seek guidance on implementing the desired functionality for deploying reference scripts.
- We will continue exploring the Apollo library's codebase and documentation to identify potential solutions or alternative approaches.
- Prepare to discuss and work on other aspects of transaction building, such as handling datums and datum parts, in future meetings.
- Invite suggestions from meeting attendees for building other utilities or features based on their requests and needs.
Footnote:
Actually, it will be very cool for general Cardano users to create their own instances of popular contracts, and in the future, that's something worth building. What's cool is that when we do, we can use the same functions we're writing now to build public APIs.
About Cardano Go Live Coding
Cardano Go Live Coding meets on Mondays from 1300-1400 UTC.
Follow the project:
- Notion page - public dashboard
- Andamio CLI on GitHub
Register for Weekly Live Coding Sessions
If you’re just getting started
- If you are a brand new to Go, check out the official tutorial. Then, take a look at Go by Example - it's a great introduction.
- On YouTube: How to write beautiful Golang CLI is a helpful overview of Cobra CLI, and it illustrates the design patterns we're using with Andamio CLI
- Cardano Go PBL is currently in development - we'll share more soon!
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.