Setting Up Your Environment
Environment configuration instructions to get started developing on Secret Network.
Secret Contracts are written using the CosmWasm framework. CosmWasm contracts are written in Rust, which is later compiled to WebAssembly (or WASM for short). To write our first Secret Contract, we need to set up a development environment with all of the tools required so that you can upload, instantiate, and execute your smart contracts.
Install Requirements
To follow along with the guide, we will be using git, make, rust, and docker.
sudo apt-get install git makeInstall git:
Download the latest Git for Mac installer.
Follow the prompts to install Git.
Open a terminal and verify the installation was successful by typing
git --version
Install make:
brew install makeInstall git and perl (for Windows):
Go to https://git-scm.com/download/win and the download will start automatically. Note that this is a project called Git for Windows, which is separate from Git itself; for more information on it, go to https://gitforwindows.org.
Go to https://strawberryperl.com and download the recommended version for your system. StrawberryPerl is an open-source Perl environment for Windows; for more information, visit https://perl.org. Perl is used to build other dependencies that will be installed later.
Note: support for make on Windows is limited, so we'll provide separate commands for Windows where necessary
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcurl https://sh.rustup.rs -sSf | shDownload and run rustup-init.exe.
Download and run the Rust .msi installer
Add WASM build target
rustup target add wasm32-unknown-unknownHaving Trouble? You might need to restart your terminal, or run a command like:
source "$HOME/.cargo/env"
After installing Rust to configure the current shell
Install Cargo Generate
Cargo generate is the tool you'll use to create a smart contract project. Learn more about cargo-generate here.
cargo install cargo-generate --features vendored-opensslInstall Docker
Docker is an open platform for developing, shipping, and running applications.
Install SecretCLI
SecretCLI is a command-line tool that lets us interact with the Secret Network blockchain. It is used to send and query data as well as manage user keys and wallets.
wget https://github.com/scrtlabs/SecretNetwork/releases/latest/download/secretcli-Linux
chmod +x secretcli-Linux
sudo mv secretcli-Linux /usr/local/bin/secretcliRun the following commands in Powershell to download the latest version of SecretCLI and add it to your profile's PATH:
mkdir "$home\appdata\local\secretcli"
wget -O "$home/appdata/local/secretcli/secretcli.exe" https://github.com/scrtlabs/SecretNetwork/releases/latest/download/secretcli-Windows
$old_path = [Environment]::GetEnvironmentVariable('path', 'user');
$new_path = $old_path + ';' + "$home\appdata\local\secretcli"
[Environment]::SetEnvironmentVariable('path', $new_path,'User');Afterwards, restart the terminal and test the installation with the following command:
secretcli versionDownload secretcli for your system here.
Set the file name to secretcli and set it as executable
mv secretcli-macOS secretcli
chmod 755 secretcliDownload secretcli for your system here.
Set the file name to secretcli and set it as executable
mv secretcli-macOS secretcli
chmod 755 secretcliFor a more detailed and in-depth guide on SecretCLI installation and usage, check out the documentation here.
Now it's time to learn how to compile and deploy your first smart contract 🎉
Last updated
Was this helpful?