- Docs
- Developers
- Introduction
Introduction to smart contracts on Archway
The Getting Started section provides an overview of the fundamental aspects of smart contract development on Archway. While a basic understanding of Rust is helpful, the content is designed for learners of all experience levels. The goal is to offer easy-to-follow instructions and hands-on experience through step-by-step guides covering the following topics:
- Setting up a development environment
- Creating a basic smart contract project
- Deploying a smart contract to the Archway blockchain
- Interacting with a smart contract
You will notice that the complexities of smart contract development are not covered in this section. The Getting Started section is intentionally straightforward and easy to follow, with the more complex aspects of smart contract development addressed in the Smart Contracts section.
What are smart contracts?
Smart contracts are self-executing programs stored on the Archway blockchain that run when predetermined conditions are met. On Archway, these contracts are built using the Rust programming language, known for its performance and safety features. Smart contracts form the basis of decentralized applications (dapps), enabling complex, automated interactions on the blockchain.
On Archway, smart contracts are possible through CosmWasm. CosmWasm is a smart contract platform written as a module that can be integrated into any blockchain built on top of the Cosmos SDK. In simple terms, it is the Cosmos (Cosm) way of utilizing WebAssembly (Wasm), hence its name.
How smart contracts operate
- Automated Execution: Smart contracts automatically execute actions when specific conditions are met, without the need for intermediaries.
- Flexible Mutability: Contracts on Archway can be designed as either mutable or immutable. Immutable contracts provide unchangeable logic, ensuring transparency and preventing tampering. Mutable contracts allow for upgrades, enabling developers to improve functionality over time while maintaining appropriate governance mechanisms.
- Decentralized Storage: The contract and its state are stored across the blockchain network, making them resistant to single points of failure.
- Deterministic Outcomes: Given the same input and state, a smart contract will always produce the same result, ensuring predictability.
- Interaction via Transactions: Users interact with smart contracts by sending transactions to the contract's address on the blockchain.
Why smart contracts are useful
- Trust and Transparency: Smart contracts remove the need for trusted intermediaries in many transactions, as their execution is transparent and verifiable.
- Efficiency: By automating processes, smart contracts can significantly reduce transaction times and costs.
- Accuracy: Smart contracts eliminate the errors that can occur in manually processed transactions.
- Security: The decentralized nature of blockchain and the immutability of smart contracts provide a high level of security against fraud and tampering.
- Programmable Money: Smart contracts enable complex financial instruments and agreements to be encoded directly into the blockchain.
- Interoperability: In ecosystems like Cosmos, smart contracts can facilitate interactions between different blockchain networks.
Network access
To work with your contracts, you can choose to either set up a local testnet or connect to one of the existing Archway networks. The Archway Constantine testnet is readily available for easy deploying and testing your contracts.
For setting up a local testnet, refer to the Running a Local Testnet guide. To learn more about the available Archway networks, visit the Networks page.
The Constantine testnet uses the aconst native token, which is required for paying transaction fees. To obtain these free testnet tokens, follow the instructions on the Requesting Testnet Tokens page.
Sections
- Developer Tools: Provides an overview of the various tools available for developers to build and interact with smart contracts the Archway network.
- Rewards: Explains the rewards system within the Archway ecosystem. It covers how developers can earn rewards for contributing to the network.
- Smart contract development: This section focuses specifically on developing smart contracts on the Archway network.
- Guides: The Guides section offers step-by-step instructions on various aspects of developing on Archway.
- Resources: The Resources section provides additional materials and references for developers.
Area-52 learning platform
The Area-52 platform is a resource for developers looking to learn CosmWasm smart contract development in Rust. This learning platform offers a number of tutorials focused on helping developers understand and build their own multichain applications.