Pickles Sandbox Release Challenges

Coda’s Testnet is a way for the community to test out the network and help to improve Coda. By participating in testnet, you also increase your chances of being eligible for the Genesis Token Program (which awards up to 6.6% of the protocol to 1000 Genesis Founding Members for being the first block producers upon mainnet launch).

Overview of Pickles Sandbox:

  1. Pickles Sandbox Challenges - Learn how to operate the protocol, while contributing to Coda’s network resilience.
    • Technical Challenges - For those who want to try out features of Coda’s succinct blockchain. For the Pickles Sandbox release, there is no limit to who can participate!
    • Community Challenges - Don’t require technical skills and are a good way to start participating if you’re new to the community.
    • Flash Challenges - Every once in a while, we announce flash challenges where you can earn extra points. Keep an eye on Discord!
  2. Testnet Points* - Get recognized with points* for successfully accomplishing testnet challenges.
  3. Leaderboard - Get a view of where you rank on testnet points* compared to other participants. The leaderboard is also a big factor in the Genesis eligibility selection process.

For more information on the Pickles Sandbox release, including a FAQ, check out this thread.

Technical Challenges

Challenge #1 : Provide time to produce blocks using the New Pickles SNARK 1,000 pts*

Launch Coda using the new SNARK and provide the time to produce blocks and the protocol state proof using your machine.

Report the time to produce the block and attach the screenshot of the logs that provides proof for the time to produce the block.

The logs look something like this:

In this case, you would report that producing a block took 6 seconds, as “Producing block in 0 slots” was logged at 19:00:41 and the new block was submitted at 19:00:47. The protocol state proving time is 4.5seconds (as you can see on the middle log-line in the screenshot)

Note that on this network, both numbers will likely take a few minutes rather than a few seconds.

To get the points for this challenge, please fill out this form to submit a screenshot and a txt-file of the entire Coda client status after you completed all above tasks.

Challenge #2: Create and Send Fun tokens elsewhere up to 1500 pts*

New Feature: Fun tokens on Coda. Users can now create their own (layer 2) tokens on Coda Protocol, for example for a future Snapp (SNARK-powered application) that will be built on top of Coda. Check out here how you can do that. Try out minting your own tokens and help out fellow testnet users to do the same!

For this challenge you will receive 500 pts* for minting.
For an additional 1000 pts* , send your own token to the following address:


Submit your information for Challenge #1 and Challenge #2 via this link.

Challenge #3: Coda Hardware Survey 1000 bonus pts*

We’d like to find out more about the hardware setup you intend to use for Coda’s upcoming testnet 3.3 release. The information you provide will help us make improvements in future releases.

Fill in this form for 1000 bonus pts* ! (You can only complete this challenge once.)

Community challenges

Challenge #4: Community Builders Community MVP + 2000 pts*

Community is at the heart of Coda and we want to recognise the people who contribute the most to building and growing the community. Could you host a meetup or set up a Coda Blockchain Club in your local area or university? Perhaps you’re a content creator, consistently spreading the word about Coda? Or are you a strong mentor for newcomers, helping them to get started with coda?

  • Platinum — 2000 pts* + Community MVP — went above and beyond, and made substantial contribution to build a robust, decentralised and collaborative community. Awarded in exceptional cases.
  • Gold — 2000 pts*— made a major, or on-going contribution to the community throughout the release. A major standout!
  • Silver — 1000 pts*— always there, always helping, always positive.

The O(1) Labs team will select the winners for this challenge so remember to share your community work with us over on Discord.

BONUS: Platinum and Gold winners will be automatically invited to apply for Genesis! :trophy:

Challenge #5: Around the Globe Challenge up to 2000 pts*

A strong global community is paramount to our success, and Coda now has Genesis Founding Members in 36 countries! Help us to spread the word about Coda and branch out into new regions.

You could host a meetup for a region without any Genesis Founding Members. Create content to help new people understand and encourage them to join and participate in Coda—whether it’s through a blog, videos, podcasts, social media posts, etc.

Claim your points by letting us know about your meetups, blogs, videos, social posts, etc. here. There’s up to 2000 pts* available!

Challenge #6: Values Champion 1000 pts*

Coda is powered by its participants, and a community with strong values is important for success. We invite everyone in the Coda community to help each other and to create a safe and positive experience for everyone. Help new members by answering questions, offering guidance, directing them to resources, etc. We will be awarding 1000 pts* points to the community members who best demonstrate our core values within the Coda community:

  • Respect –– 1000 pts* We respect each other; our inherent worth, abilities, time, and ideas. That’s why we stand for equality and fairness. Why we’re committed to decentralization. We act with integrity. We work hard to make things feel simple. And why we strive to be inclusive and accessible.
  • Curiosity –– 1000 pts* It’s what connects us all. Our obsession to understand, solve, and know. Our love of collaboration, open exploration, and objective engagement. Our attraction to big questions and “impossible” problems. Our passion to create technology and systems that serve everyone. Our insatiable drive to learn and grow. Our imagination, at work.
  • Excellence –– 1000 pts* We don’t expect perfection. But each of us demands the best of ourselves. We’re here to create elegant solutions. Symphonic systems. Technical beauty. We’re committed to our community and to creating tech they can depend on. We enjoy the process. But we also deliver results.
  • Openness –– 1000 pts* We believe in being open. In communicating proactively. Being responsive, available and accountable to the community. Empowering people with the information they need to participate. Sharing where we are in the process. Owning our mistakes. And collaborating to serve our vision with humility. It’s the only way to earn trust and create a fair future.

The O(1) Labs team will select our first Values Champions, if you’d like to nominate a community member award, please fill out this form and let us know why you think they should be considered!

*Testnet Points are designed solely to track contributions to the Testnet and Testnet Points have no cash or other monetary value. Testnet Points are not transferable and are not redeemable or exchangeable for any cryptocurrency or digital assets. We may at any time amend or eliminate Testnet Points.


Some thoughts on Coda Sandbox:
I like that the sandbox urged me to become more comfortable using docker. I thought I would be able to interact with the daemon from outside the container (and wasn’t), but was able to do so with docker exec -it coda bash.
One thing that might make things easier would be the ability to send the coinbase elsewhere on-the-fly. I was able to accomplish it by editing the startup script and restarting the daemon, but it would be nice to be able to do so without restarting.

1 Like

Yeah if the entrypoint script (coda daemon) is stopped so is the container.

Also if you want to check that coinbase flag actually worked properly you can import that custom coinbase account and see its balance growing.

edit: It might actually show the balance from the host as well …

1 Like

also really liked the sandbox approach to play around and try things out. wasn’t able to send the coinbase though. is there a guide somewhere how to accomplish that?

1 Like

Thanks for providing the sandbox for an entrypoint into the Coda ecosystem. I think this was a great approach as it lowers the technical barrier to entry for new node runners and developers and lets us quickly familiarize ourselves with the CLI.

1 Like

I really enjoyed the sandbox mode. It provided an easy way to get familiar to Coda, without it being too overly complicated from a technical point of view. I think sending the coinbase elsewhere was kind of tricky, but eventually I succeeded. I suggest additional documentation on what the coinbase means and how it is done. I also missed the Youtube Video explanation, that we had for the last testnet version.

Regarding docker, I first thought you had to run CLI from the docker itself, but you run the coda lines from your PC terminal connected to the docker. I think this was not described well, but was able to find this info on the docker website itself.

1 Like

I think the sandbox node is a great and easy way to get acquainted with running a CODA node. Maybe it would be helpful to extend the CLI Reference guide to include some relevant Docker commands regarding the daemon. I had a little problem getting my node synced again after I had used it the day before. Apparently an empty epoch was detected which I found out was caused since I had my node stopped for more than a day (1 epoch). Worked fine once I removed it and installed a fresh container.

1 Like

Is the issue with node sync (restart) after missing a day, specific to the sandbox environment, or is also true for the production implementation?
For a core blockchain developer test of a networked environment, this would be limiting, if one wanted to pick-up executing from a “checkpoint” or last known-good position.

A high level explanation of what the term “coinbase” means for a blockchain, per Bitcoin heritage, could fit nicely into a Wiki article, expanding the notion to the specific Coda environment.
Based on the expectations of existing miners, do not see the need to change that setting at runtime.
What will be missed is a .conf file for all the port and address and seed info