Terrain initial setup
Terrain initial setup¶
This tutorial uses a Terra-specific development suite called Terrain.
Terrain will help you:
Scaffold your dApp project
Develop and deploy smart contracts
Create custom tasks for blockchain and contract interaction
Access a console (or REPL) for interacting with the Terra blockchain
Create predefined functions used in tasks and in the console
1. Set up Rust¶
Rust is the main programming language used for CosmWasm smart contracts. While WASM smart contracts can theoretically be written in any programming language, CosmWasm libraries and tooling work best with Rust.
First, install the latest version of Rust.
Then run the following commands:
# 1. Set 'stable' as the default release channel: rustup default stable # 2. Add WASM as the compilation target: rustup target add wasm32-unknown-unknown # 3. Install the following package to run custom cargo scripts: cargo install cargo-run-script
2. Install Terrain¶
Use npm to install the terrain command-line tool globally:
npm install -g @terra-money/terrain
Check your Terrain version
Make sure you are using the latest version of Terrain. Previous versions may cause errors.
If you installed Terrain from a previous, make sure to update it:
npm uninstall -g @iboss/terrain npm install -g @terra-money/terrain
Next steps: LocalTerra or Testnet¶
Depending on your setup, you can either install LocalTerra or use the Pisco testnet to power Terrain.
LocalTerra is a development environment designed to make it easy for smart contract developers to test their contracts locally. Terrain can also interact with the Terra blockchain’s live testing environment using the Pisco testnet.
Localterra may not work properly on machines with less than 16 GB of RAM. Please use the Pisco testnet if your device does not meet this requirement.