One-button click to access your own local devnet, wallet, explorer, and indexer for prototyping and testing applications in the NEAR ecosystem.
With support from the NEAR Foundation, we’re providing the Kurtosis platform for free to ecosystem developers to improve the developer experience for prototyping and testing applications over the NEAR blockchain.
NEAR’s vision aligns very well with Kurtosis — we are both focused on empowering as many individuals as possible to build meaningful technology. Our missions are complementary: Kurtosis allows for whole networks to be shipped to users, which allows us to package an entire NEAR network so all of NEAR’s developer-first goodies are right there on blockchain developers’ home machines. For testing workflows, those same networks can easily be shipped within CI tools as well, for example Github Actions or Travis CI.
Developing on shared test-nets is okay for getting things out the door, but leads to many lost developer hours and pain for a number of use cases. Ideally, a development team would be able to deploy their own test-nets with all the components they need (wallet, indexer, explorer, smart contract compiler), so that they have complete control over the system. However, starting and connecting all these components together is complicated. It takes a significant amount of work to get the runtime environments correct so that they just work for developers.
Solution
The Kurtosis engine is a container orchestration platform optimized for prototyping and testing workflows. With Kurtosis, many complex problems involved in tying together different services are made simple. Think of Kurtosis as a high-level system built on top of production-optimized, low-level container orchestration systems like dockerd and Kubernetes. Kurtosis makes the environment setup and manipulation workflows necessary for end-to-end prototyping and testing easy.
In Kurtosis, the logic for setting up a prototyping or testing environment is stored in a “module”. The NEAR team worked with Kurtosis to set up the NEAR Kurtosis module, so that the entire ecosystem can have a much better development workflow. A Kurtosis module can run locally on a developers laptop over dockerd, or in any CI environment with a docker daemon installed (CircleCI, TravisCI, Github Actions) — so modules work well with local prototyping workflows as well as end-to-end testing.
Results
In the NEAR module, users get a NEAR sandbox node, indexer, wallet, explorer, and a smart contract helper — all set up via their own Docker installation. Users can link their NEAR CLI to this local network like any other NEAR network, so the development workflows that work on the shared test-net also work on the local network.
The NEAR module has quickly shown promise — users report it as “the easiest way to set up a local devnet by far”, a full-fledged devnet that is “really fast”. The Kurtosis module has several concrete advantages for development:
We’ve opened usage of the NEAR module to the entire ecosystem. For any developer building an application on the NEAR blockchain, Kurtosis offers the best developer experience for setting up local environments, as well as running CI-based tests. You can see a 5-minute demo video of the NEAR module here.
To read NEAR’s case study on Kurtosis in the NEAR ecosystem, click here.
Get started
To get a NEAR network running on your machine in 2 minutes, follow the instructions at https://docs.near.org/develop/testing/kurtosis-localnet.
The Kurtosis team is actively working with all ecosystem users to add features and improve the module so that it’s as useful as possible — visit us in the #kurtosis channel in the NEAR discord to chat about new use cases and needs, and we’ll support!
Learn more about Kurtosis at https://kurtosis.com. If you’re interested in using Kurtosis to accelerate development on your ecosystem, please reach out to hello@kurtosistech.com to set up a chat with one of our founders.