This box comes with everything you need to start using smart contracts from a react app and Next JS on RSK Network.
First, ensure you are in a new and empty directory.
unbox
command via npx
and skip to step 3. This will install all necessary dependencies. A Create-React-Next-App is generated in the app
directory.
npx truffle unbox rsksmart/rsk-next-box
unbox
command.
npm install -g truffle
truffle unbox rsksmart/rsk-next-box
yarn # alternatively `npm install`
truffle develop
truffle
.
compile
migrate
app
directory, we run the React app. Smart contract changes must be manually recompiled and migrated.
// in another terminal (i.e. not in the truffle develop prompt)
cd app
yarn run dev # alternatively `npm start dev`
// inside the development console.
test
// outside the development console..
truffle test
Gas is the internal pricing for running a transaction or contract. When you send tokens, interact with a contract, send RBTC, or do anything else on the blockchain, you must pay for that computation. That payment is calculated as gas. In RSK, this is paid in RBTC. The minimumGasPrice is written in the block header by miners and establishes the minimum gas price that a transaction should have in order to be included in that block.
To get the minimumGasPrice do the following steps:
Run this query using cURL:
Mainnet
curl https://public-node.rsk.co/ \
-X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false],"id":1}'
Testnet
curl https://public-node.testnet.rsk.co/ \
-X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false],"id":1}'
Find in the result the field minimumGasPrice
For more information about the Gas and minimumGasPrice please go here.
Copy your mnemonic to truffle-config.js
// truffle-config.json
const HDWalletProvider = require('@truffle/hdwallet-provider');
//Put your mnemonic here, be careful not to deploy your mnemonic into production!
const mnemonic = 'A_MNEMONIC';
Please be aware that we are using HDWalletProvider
with RSK Networks derivations path:
m/44’/137’/0’/0
m/44’/37310’/0’/0
For more information check RSKIP57.
Check the gas price of the network, and update truffle-config.js
if necessary.
app/utils/web3-util.js
Mainnet
const provider = new Web3.providers.HttpProvider("https://public-node.rsk.co");
Testnet
const provider = new Web3.providers.HttpProvider("https://public-node.testnet.rsk.co");
Run the development console for any RSK network.
# Console for Mainnet
truffle console --network mainnet
# Console for Testnet
truffle console --network testnet
Compile and migrate the smart contracts. Note that inside the development console, we don’t preface commands with truffle.
compile
migrate
Then continue from step 5 of installation steps
Go to top