Skip to main content

Deployments

This project defines its own set of deployment environments to more accurately reflect their intended purposes. While many blockchain projects use terms like "devnet" and "testnet," we chose not to adopt these legacy names because they often carry ambiguous meanings.

For example, in many projects, "testnet" is sometimes used for both structured testing and staging environments, even though these serve distinct purposes. Similarly, "devnet" can refer to anything from local developer experiments to shared networks for feature previews. To avoid this confusion, we use clear and specific terms for each stage of deployment.

Environments

Test

The test environment is strictly for running test cases. Unlike a traditional "testnet," which may serve as a public pre-production network, this is intended for controlled, automated, or manual testing of specific features.

Development

The development environment is where active code changes happen. This includes feature development, experimentation, and debugging. Instead of calling it a "devnet," which could imply a shared public network, this environment is explicitly for ongoing work and internal validation.

Staging

The staging environment is a near-production environment used for final verification before deployment. Many projects lump this into "testnet," but we make a clear distinction: staging is meant to mirror production as closely as possible to catch issues before real deployment.

Production

The production environment is the live, operational blockchain. This is where real transactions, users, and value exist. No experimental features or breaking changes should be introduced here.

Why This Approach?

By defining these environments separately, we ensure that:

  • Each stage of development has a dedicated and clear purpose.
  • There is no ambiguity between test cases, development work, and pre-production validation.
  • Teams can confidently move through structured phases without misinterpreting what a "testnet" or "devnet" should actually represent.

When choosing an environment, consider whether you are testing isolated features (test), actively developing (development), preparing for release (staging), or deploying to real users (production).

This approach helps create a more structured and intentional workflow, reducing confusion and aligning terminology with actual use cases.