This repository include a example implementaion of Rust contract with NEAR-SDK, a contract which use basic contract, versioned and upgradeable contract
If you're using Gitpod, you can skip this step.
- Make sure Rust is installed per the prerequisites in
near-sdk-rs
. - Make sure near-cli is installed.
Run the following, and we'll build our rust project up via cargo. This will generate our WASM binaries into our out/
directory. This is the smart contract we'll be deploying onto the NEAR blockchain later.
./build.sh
We have some tests that you can run. For example, the following will run our simple tests to verify that our contract code is working.
cargo test -- --nocapture
The more complex simulation tests aren't run with this command, but we can find them in tests/sim
.
You can build and deploy this smart contract to a development account. Dev Accounts are auto-generated accounts to assist in developing and testing smart contracts. Please see the Standard deploy section for creating a more personalized account to deploy to.
near dev-deploy --wasmFile out/counter-tutorial.wasm
Behind the scenes, this is creating an account and deploying a contract to it. On the console, notice a message like:
Done deploying to dev-1234567890123
In this instance, the account is dev-1234567890123
. A file has been created containing a key pair to
the account, located at neardev/dev-account
. To make the next few steps easier, we're going to set an
environment variable containing this development account id and use that when copy/pasting commands.
Run this command to set the environment variable:
source neardev/dev-account.env
You can tell if the environment variable is set correctly if your command line prints the account name after this command:
echo $CONTRACT_NAME
The next command will initialize the contract using the new
method:
near call $CONTRACT_NAME new --accountId $ACCOUNT_NAME
To view the number in contract:
near view $CONTRACT_NAME get_num
To increment number
near call $CONTRACT_NAME increment --accountId $ACCOUNT_NAME