There are three core goals of the CLI:
- Speed up development
- Deploy, connect and interact with contracts on Archway
- Encourage security and best practices for developers
arch3.js eliminates the need for working with multiple CosmJS clients by extending their functionalities while also complementing it with Archway's unique reward system. The Github's repository of arch3.js can be found here.
The archwayd binary is the core implementation of the Archway protocol, and you can find its github repository here. It leverages the Cosmos SDK and CosmWasm to reward validators and creators for their contributions to the network. The command-line interface runs a full-node of Archway and provides utilities for chain genesis, account management (keys), validators, nodes, queries and transactions.
Since the release of Archway CLI v2, archwayd is no longer a dependency for the Developer CLI.
Users familiar with Cosmos Hub will recognize the Archway daemon is Archway's version of Gaiad. It's built using the same Cosmos SDK modules, but introduces a new SDK module called x/tracking which monitors gas consumed by applications on the network and distributes developer rewards.
- x/auth: Accounts and signatures
- x/bank: Token transfers
- x/staking: Staking logic
- x/mint: Inflation logic
- x/distribution: Fee distribution logic
- x/slashing: Slashing logic
- x/gov: Governance logic
- ibc-go/modules: Inter-blockchain communication
- x/params: Handles app-level parameters
- x/tracking: measures gas consumption and rewards developers
- x/rewards: calculates and distributes rewards to smart contracts
Go to the Archwayd CLI Page for a full list of the available commands.
CosmWasm is a framework that allows developers to write multi-chain smart contracts using any programming language which compiles to Wasm. It is written as a module that can plug into the Cosmos SDK, making it easy for deploying Cosmos blockchains that utilize Wasm smart contracts.
Disregarding code pertaining to specific chains, CosmWasm contracts deploy and behave interchangeably among blockchains running the
wasmd binary. Archway tooling provides modules for programming Archway smart contracts in Rust, but in future will support Wasm development in both Rust and Golang.