Concepts
Learn about the concepts behind Clarinet.
Network types
Clarinet supports different network types to cater to various development and testing needs:
Network | Description | Use case |
---|---|---|
simnet | Optimized for fast feedback loops, introspection, and portability. | Ideal for initial development and unit-testing. |
devnet | Local Stacks and Bitcoin nodes running on Docker for faster feedback loops. | Use for integration tests or local frontend development. |
testnet | A pre-production network that offers a realistic environment for testing. | Ideal for final testing before deploying to Mainnet. |
mainnet | The 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 primitive | Typical usage |
---|---|
Publish contracts | Deploy 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 functions | Call a contract deployed to any of your local devnets or public networks. |
Send BTC | Perform a simple bitcoin transfer from a p2pkh address to a p2pkh address. |
Wait for block | Test or automate contract deployment across multiple Stacks or Bitcoin blocks. |
Send STX | Send stacks to an address or contract. |