Any message system enables direct communication between Rust contracts and native modules—allowing contracts
to place orders on the on-chain orderbook, query oracle price feeds, create TokenFactory assets, and participate in auctions.
The CW20 Adapter further extends interoperability by letting CW20 tokens seamlessly trade on Injective’s exchange
by converting to native denoms.
With injective-test-tube, developers can integration-test their contracts against actual chain logic rather than mocks,
ensuring real-world correctness. Combined with Injective’s sub-second block times and permissionless testnet,
CosmWasm developers get a production-grade environment for building sophisticated DeFi applications that
leverage the full depth of Injective’s financial primitives.
Key Concepts
Start Building
Your First CosmWasm Smart Contract
Complete beginner’s guide to writing, compiling, testing, deploying, and interacting with your first Rust-based CosmWasm contract on Injective.
Local Development Guide
Set up a local Injective node, compile CW20 contracts with rust-optimizer, and deploy to a local network for rapid iteration and testing.
Mainnet Deployment Guide
Navigate the governance process for uploading contracts to Injective Mainnet, including proposal submission, instantiation permissions, and contract migration.
Using Injective Modules
Learn how to use Any messages and queries to interact with Injective’s native modules (exchange, oracle, tokenfactory) from your CosmWasm contracts.
Additional Resources
- CW20 Adapter — Technical documentation for the adapter contract that bridges CW20 tokens to Injective’s native bank module and exchange.
- Injective Test Tube — Integration testing framework for running CosmWasm tests against actual Injective chain logic in-memory.
- Smart Contract Examples — Reference implementations including Injective Name Service, Neptune Service, and CW20-to-market-order workflows.
