Smart Contracts Made Simple: Dogfooding Soroban at the SDF

Author

Nicole Adair

Publishing date

Last month, the Stellar Development Foundation (SDF) ran a dogfooding experiment with a core question: can we get every single employee, no matter their technical background or expertise, to write, deploy, and invoke a smart contract on Soroban? The short answer: yes, we can. And we did!

How we did this starts with Okashi, the ecosystem-developed, web-based smart contract platform built for Soroban, and a little game developed by SDF and Okashi that we called “The Okashi Cakewalk.”

Dogfooding is hard, but important

Dogfooding, where employees test their company’s product or service to identify improvements, is not always easy to incentivize. For those that built a given product — like some of the SDF engineers who’ve helped build Soroban — it can be hard to find a way to get enough distance to step into the role of the user. For those that didn’t, add in the learning curve of writing code in Rust, understanding the core concepts of smart contracts, not to mention the error-parsing and troubleshooting often required of any development, and the challenge increases — especially if the “dogfooders” don’t write code in their daily work.

What’s more, writing a smart contract using Soroban (or any smart contacts platform in general) requires a pretty complex mental model: What’s the difference between writing and building a smart contract? What about compiling and deploying? And what does it mean to invoke a smart contract or make a cross-contract call?

And yet, there’s something pretty invaluable about dogfooding, especially for a technology like Soroban that launched on Mainnet just last month. The practice of dogfooding a tool or product tests and validates that product, providing crucial user experience feedback. It also gives the users themselves hands-on experience working with the technology they might reference or talk about, but not necessarily use in their day-to-day lives.

Goals of the Cakewalk

The Okashi Cakewalk sought to achieve all of the following:

  1. To establish a smart contract mental model for anyone to follow, including the absolute beginner;
  2. To walk through a hands-on exercise in applying that mental model using Soroban;
  3. To increase the SDF’s familiarity with Okashi as a beginner-friendly platform for Soroban development;
  4. To provide feedback to the Okashi team about the developer experience.

Of course, the Cakewalk was also designed as a game to build excitement and community with a bit of light competition and a specific use case that relied on players’ creativity and ingenuity: minting an NFT artwork drawn in a 5x5 grid using only ASCII characters.

Outcomes and takeaways

Employees had just over one month to work through the Cakewalk guide and mint their NFTs to Futurenet, competing initially between departments, but then, as the 100% participation goal became increasingly likely, playfully wrangling each other to get across the finish line.

The result is pretty impressive: more than 170 Cakewalk NFTs were minted on Futurenet.

What this means is that every non-technical SDF employee leveled up their understanding of the smart contract lifecycle and mental model, and every seasoned Soroban engineer got hands-on experience using a dev-friendly interface for the platform they've been building. They also got direct practical experience applying that mental model by building on Soroban. And they gained familiarity with Okashi, supplying critical UI and UX feedback to Okashi developers.

Personally, I got to witness a pretty spectacular process. As the internal dev advocate of the Okashi Cakewalk, I became the point person for a lot of questions and troubleshooting requests. Colleagues would privately message me for help minting their NFTs in Okashi. But as similar requests moved to the #cakewalk Slack channel we created for this game, those same people who’d privately requested help became the new point people, troubleshooting and parsing errors for other Cakewalk players.

For the month of February, SDF employees were transformed into both Soroban developers and dev advocates – which is pretty awesome!

What's next

The Okashi Cakewalk is playable, beginner-friendly, and open to the community! Work through the guide, explore the Okashi playground, and mint your 5x5 ASCII NFT to Futurenet.

Now that Soroban is on Mainnet, the next version of the Okashi Cakewalk is underway. Stay tuned for the next community challenge coming soon!

And in the meantime, share your minted Cakewalk NFT in the Stellar Dev Discord or tag SDF on social media!