RSK Documentation

Quick Start - Step 5

Step 5 : Run Smart Contracts

Once the smart contract has been deployed successfully. We can use Truffle console to execute its methods.

Enter Truffle Console Mode

Truffle console is a basic interactive console connecting to our local node. Type the following command into a terminal.

truffle console --network regtest

Note that the --network regtest parameter tells Truffle to connect to our local RegNet node.

=

Check Balance of Our EIP20 Token

First, let us get the address of the account which was used to deploy the the contract.

accounts = await web3.eth.getAccounts()
accounts[0]

This should print out an address, similar to 0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826. Check that this value matches the first address that you see in Ganache’s accounts tab.

Now we can check its balance:

EIP20instance = await EIP20.deployed()
await EIP20instance.balanceOf(accounts[0])

EIP20 is the name of our contract. This command will print out the balance of the main account as a big number, which should appear as <BN: 2710>. To see it as an integer:

(await EIP20instance.balanceOf(accounts[0])).toNumber()

This should appear as 10000, the number of the tokens was specified in the parameter to the constructor of the smart contract, in the truffle migration.

Transfer Token Directly Between Two Accounts

In Ganache, copy the address of the second account in the accounts tab, and then save it as a variable:

account2 = '0x2e898C937f22f84a2603fb0BfDeEF43CdAC87f93'
(await EIP20instance.balanceOf(accounts[0])).toNumber()
(await EIP20instance.balanceOf(account2)).toNumber()

This should print out 10000 and 0 respectively - all the tokens belong to the first account, and the second account has none.

Next, use the following command to transfer some tokens from the first account to the second account.

await EIP20instance.transfer(account2, 10)

This should print out an object containing transaction data.

Finally, let us check the account balances to ensure that everything went smoothly:

(await EIP20instance.balanceOf(accounts[0])).toNumber()
(await EIP20instance.balanceOf(account2)).toNumber()

This should print out 9990 and 10 respectively. The first account has fewer tokens as they have been transferred to the second account.

Congratulations

You have reached the end of the quick start tutorials. You are now ready to develop decentralised applications!


Previous