Back to Blog

The First =nil; Testnet Is Now Live

=nil; Testnet v1 is open for everyone to participate

30 Oct 2024

=nil; Foundation is excited to announce that the =nil; Testnet v1 is going live today, as the next milestone in our roadmap towards Mainnet. 

With developers stress-testing our proof of concept and working alongside our core team to refine the architecture and provide valuable feedback, we’ve made great strides since our Devnet release earlier this year. 

The =nil; Testnet v1 marks a significant step towards building an L2 that blends appchain scalability with monolithic composability, powered by zkSharding. 

This release includes several protocol upgrades, DevEx improvements, and concrete examples to help you use the network. At this stage, our goal is to establish and expand the first =nil; ecosystem dApps and support our developers as they continue to build and test zkSharding. 

Join Testnet v1 now.

Key Devnet Insights and What They Mean for Testnet v1

Our Devnet was the first proof of concept for zkSharding and a chance for a select group of developers to join our core team to identify and address bugs, build support for various tooling, and stress test the system. 

We have been excited to see our Devnet Cohort deploy contracts, build a sharded NFT minter, and the first MetaMask Snap for =nil;, among other things.

Most importantly, we have received incredibly valuable feedback on our developer experience. These insights are helping us perfect the way developers use native interoperability across independent execution environments. 

Testnet v1 Breakdown: Here’s What You Can Expect

With this Testnet, we’re opening =nil; to a wider set of developers. If you want to be among the first developers to build our future with us, join Testnet v1 here

Now, to the nitty gritty - here’s what we’re rolling out with the first =nil; testnet:

Significant DevEx Improvements 

Dev Support

zkSharding is a cutting-edge technology–it can be hard to navigate a sharded architecture if you haven't built on one before. 

For this testnet, we created a library of useful examples that will help you build on =nil; and unlock all the benefits parallel execution affords. 

Our docs include examples starting from CLI to our javascript client libraries and smart contracts. All our docs are up to date as we applied automated testing to everything we write. If a code snippet is in the docs–it works.

The majority of our early devs asked for real world examples, especially as it pertains to DeFi use cases. We addressed this by porting and integrating Uniswap V2 code to demonstrate how DEXs can work in sharded environments. You can use this example both as a porting reference, and as a way to test various kinds of indexers running on top of our network.

We’re also running a dedicated Telegram group for devs building on our network to share resources, help debug, and provide direct support for your ideas.

Better tools and interactions

We’ve added several upgrades to improve the way you can interact and use our network:

  • Gas estimation is now active to help you estimate gas spend for a chain of smart contract calls that span multiple shards. 
  • Error handling is more reliable now, especially where it concerns contracts communicating between different shards. =nil; shards work semi-independently, which means that if one contract fails, another should get its money back and be able to handle the error correctly. For this we added a request-response model, which has such guarantees and is implemented on the protocol level.
  • Debugging - because of the way EVM and Solidity work, compiled bytecode doesn't itself carry any debug information and it's not really possible to display a comprehensive stacktrace. To work around this problem, we went with a standard way to produce a special "metadata" service where users can upload the code of their deployed smart contracts. With this tool, you can generate all necessary debug information and display the line in code where the contract has failed.

We’ve also made improvements for HardHat support and improved the stability of Ignition tasks and adjusted Ignition commands so that the experience is closer to the classic feel of regular Hardhat.

Additionally, our TypeScript client library nil.js can now be used to script any behavior our network supports, including minting custom tokens, transfers, smart contract calls, fetching results, etc. It can be used either in combination with HardHat or to build any kind of third-party tooling including wallets.

Dev Sandbox

To make it easier for our community to experiment with the network, we've built a simplified in-browser IDE that allows writing smart contracts, topping up the wallet with Testnet tokens, and interacting with smart contracts with a click of a button. It is a good alternative to HardHat if you don't want to set up all the tooling on your personal machine. You can also use the Sandbox to immediately open any code snippet from the docs.

Enshrined tokens 

Working with the token standard now is much easier. In Ethereum, tokens are predominantly deployed using ERC20–this solution isn’t necessarily compatible with a sharded environment. 

Instead, we designed our solution so that our network can "understand" tokens natively. This means you can easily create tokens, hold them directly in your wallet, and send them wallet-to-wallet without relying on a central token standard contract. Our efforts were focused on making sure that token minting and governance is simple and efficient–all our tooling and client libraries allow you to operate with them.

Protocol and network upgrades

We have made significant progress in pushing forward key zkSharding features. In terms of DevEx, the network still operates the same as it did in the July Devnet, but we now have:

  • Shards running in separate nodes
  • RPC running in separate nodes
  • Archive node implementation

If you’re curious to test new upgrades yourself, join our Testnet now.

What’s Next

Testnet v1 is open to everyone as we continue to build the =nil; ecosystem. 

We encourage you to join and explore the limits of parallel execution in a sharded environment. Developers can expect another two testnets before our Mainnet launch EOY 2025–check out our roadmap here for more details. 

To stay updated on all things =nil;, subscribe to our Telegram announcement channel and don’t hesitate to reach out to us on X.