Create guides on how to build Subnets. Help fellow developers shape the future of Web3.
Ava Labs has launched a contest calling for written developer tutorials to Subnets. The goal is to expand our library of resources available to projects that want to launch Subnets. We want to make the short process even easier for developers. After the contest, we plan to add 5 to 10 tutorials written by you, our contest participants, to the official Avalanche docs.
Anyone can submit to our Subnet Tutorial Contest. The contest begins today, June 6, and ends on August 2. All submissions that follow the official rules (below) will be considered to win some of the $32K prize pool.
All selected tutorials will win $1,000. Every tutorial that goes through revision processes and completes Avalanche’s feedback rounds will win additional incentives as outlined on the contest terms & conditions at the bottom of this page. Winners will also be promoted across social media and the Avalanche community.
Please see the official rules below for more details.
We’re very excited to see what written tutorials you come up with, and we’re thrilled you’ll be helping to scale Avalanche and our rich ecosystem.
- Submissions should function as stand-alone tutorials, explaining the step by step process of achieving a concrete goal. Developers following the tutorial should have a complete loop understanding of how to repeat the task in their own development process.
- Steps in the process should be clear, with concrete code examples that can be copied and reused.
- Every newly introduced term should be explained in the tutorial. General programming knowledge is presumed.
Round 1: June 6th — July 5th (11:59PM ET)
Round 2: Jul 14th — Jul 22nd (11:59PM ET)
There will be two rounds of judging. All submissions accepted for the second round will receive $1K. If you incorporate the feedback you receive from the Avalanche Developer team in round 2, you’ll receive the corresponding prize below.
Avalanche will choose the best Tutorials based on originality, creativity, simplicity, correctness and accuracy, practical implementation and ease of understanding. All decisions will be made in Avalanche’s sole discretion and are final.
- Choose one of Avalanche’s tutorial subjects below.
- Submissions should be in the form of long form text, formatted in Markdown, submitted as a link to the GitHub repository.
- Each submission should have an introduction, where the purpose of the tutorial is explained, the main body of the tutorial and a conclusion with key points highlighted. Use of full Markdown capabilities is encouraged (headings, code blocks, tables).
- Extensive usage of links to existing Avalanche tutorials, references and API documentation is encouraged. Illustrations are welcome and valued as well as a demonstration video.
- Submit your contact info and links to your tutorial
Winners of the contest will be announced on the Avalanche social media channels, and via community channels.
$2,000 USD prizes:
- How to set up your development environment for local subnet development
- Operating and securing bridge in production
- Create a tutorial for customizing subnet-EVM genesis file
- How to create a private, permissioned subnet
- Wildcard: show off what you did with subnets, creative topic.
$3,500 USD prizes:
- Deploy an NFT on a subnet that also can be listed for sale on the C-chain — NFT Bridge (other bridge providers besides chainsafe https://chainbridge.chainsafe.io/)
- How to use a ERC-20 C-chain token as the gas fee token — (Native Minter Precompile) + Bridge to call this contract (other bridge providers besides chainsafe https://chainbridge.chainsafe.io/)
$5,000 USD prizes:
- Propose a novel stateful precompile and show off how it could be used
- How to extend subnet evm with custom functionality or opcodes
- Use the BlobVM for metadata and graphic data on a Subnet NFT project
How to set up your development environment for local subnet development
You should show the complete set of steps needed to install and run subnet development locally on a Linux or Mac computer. Downloading needed packages, installation procedures, using to setup to demonstrate a simple ‘hello world’ local subnet deployment. Try to cover as many additional instructions how to:
- Troubleshoot common issues
- Add node validators to the subnet
- Access funded accounts
- Deploy smart contracts
- Interact with contracts
- Bonus point: explain how to experiment with different customization by creating/tearing down/recreating
Operating and securing bridge in production
Tutorial should cover as in-depth as possible the steps needed to secure a bridge between subnet and the primary network (additional points for covering subnet-to-subnet and subnet-to-other network bridges). List and explain gotchas and things to look out for.
How to add stateful precompiles to your subnet evm
Show how stateful precompiles can be added to a subnet and how they work in practice. Bonus points for any additional precompiles demonstrated.
Create a tutorial for customizing subnet-EVM genesis file
Document the options available in designing EVM genesis file. Discuss the options potential customizations bring, as well as things to look out for. Bonus points for concrete examples how to design the genesis to achieve a particular goal in subnet operation..
How to create a private, permissioned subnet
Show how to set up a subnet to make it private and permissioned in various levels of privacy:
- Control of validator requirements
- Control of contract deployment
- Private transaction posting
- Private transaction reading
Deploy an NFT on a subnet that also can be listed for sale on the C-chain
Show and describe the steps needed to set up an NFT collection on a subnet and show how to set up a bridge to the Primary Network where NFT could be listed to sale on a marketplace and change of ownership reflected on the subnet. Bonus points for additional capabilities like renting, swapping or composing NFTs.
How to use a ERC-20 C-chain token as the gas fee token
Demonstrate how a C-Chain native ERC-20 token can be used on a subnet as a gas token. Solution should use the Native Minter Precompile, and a bridging solution other than Chainsafe’s. Bonus points for showing basic tokenomics operations: token mint, token burn.
Propose a novel stateful precompile and show off how it could be used
Using a stateful precompile primitive to develop a novel subnet capability and demonstrate how it is used and what advantages it brings to a subnet.
How to extend subnet evm with custom functionality or opcodes
Using the capability to fork a subnet-evm and demonstrate some novel capability that could not otherwise be possible on a regular subnet-evm. Possibilities include changing the way the VM works, adding VM opcodes or changing the way VM opcodes behave. Discuss possible security/operational effects, especially potential downsides.
Use the SpacesVM/BlobVM for metadata and graphic data on a Subnet NFT project
Demonstrate how to leverage SpacesVM and/or BlobVM to store metadata or various binary data (graphics, video, sound) on a subnet NFT project. Bonus points for showing how to deploy everything on a single subnet.