Concepts

Learn about the concepts behind Clarinet.


Network types

Clarinet supports different network types to cater to various development and testing needs:

NetworkDescriptionUse case
simnetOptimized for fast feedback loops, introspection, and portability.Ideal for initial development and unit-testing.
devnetLocal Stacks and Bitcoin nodes running on Docker for faster feedback loops.Use for integration tests or local frontend development.
testnetA pre-production network that offers a realistic environment for testing.Ideal for final testing before deploying to Mainnet.
mainnetThe production network where real transactions occur.Use when you're ready to deploy your smart contract to production.

Deployment plans

The default deployment plan of every Clarinet project is contained within specifications set inside certain files. In addition to this default deployment plan, the user can manually configure each plan, adding additional transactions or contract calls across multiple Stacks or Bitcoin blocks.

You can commit, audit, and test contracts without including any secrets in the deployment plan, and you can share these contracts without exposing any sensitive information.

Primitives

Transaction primitiveTypical usage
Publish contractsDeploy contracts to an in-memory simulated Stacks chain, public networks like testnet and mainnet, or deploy external contracts to your local network for testing purposes.
Call contract functionsCall a contract deployed to any of your local devnets or public networks.
Send BTCPerform a simple bitcoin transfer from a p2pkh address to a p2pkh address.
Wait for blockTest or automate contract deployment across multiple Stacks or Bitcoin blocks.
Send STXSend stacks to an address or contract.