ICE Blockchain
Search
⌃K

Local Standalone Blockchain

This article covers the procedures required to set up a development node for testing locally.
Developers looking to build smart contracts on ICE blockchain can run ICE blockchain locally, inspect the blockchain state, and test their code. Following are the steps to setup development node locally.

Install Rust

If you are building the ICE/SNOW binary release manually, follow this article to install Rust and all the the packages essential for the build process.
Depending on the OS, Wasm toolchain might require manual installation.
E.g. on macOS (Big Sur v11.6), Wasm is added using following command
rustup target add wasm32-unknown-unknown --toolchain nightly-x86_64-apple-darwin

Prepare the ICE/SNOW Network binary

Option 1: Download the ICE/SNOW binary

Download the ice-node binary release from here.

Option 2: Build the binary release

The ice-substrate repo's main branch contains the latest ICE code
git clone https://github.com/web3labs/ice-substrate.git
Build the code with the following command, which will generate the ice-node executable file inside ./target/release folder
cargo build --release

Run the local development node

./ice-node --dev
Once your node is running you should be able to see output similar to this on your terminal

Connecting to Polkadot.js

Now you can use polkadot explorer to communicate with the node. The websocket and RPC url for the locally running node are
  • WS - ws://127.0.0.1:9944
  • HTTP - http://127.0.0.1:9933
NOTE: More about using polkadot explorer is here​

Configuring Metamask

Once the node is started and running , you can configure your metamask to the test node to start deploying smart contracts and building dapps on test node.
Configure network in your metamask according to following settings:
  • Network Name: ICE - local
  • RPC URL: http://127.0.0.1:9933
  • ChainID: 42
  • Symbol:ICZ
Configuring metamask for SNOW/Arctic is here​
Now you will be able to make RPC calls to the local ICE node, deploy Solidity smart contracts, interact with the smart contracts.