Time to read: 1 min
Configure Hardhat for Rootstock
Prerequisites​
- Rootstock-compatible accounts/address.
- You can use existing accounts or create new ones. See Account Based Addresses.
- Wallet
- Set up a Metamask wallet and get a private key.
Getting Started​
Step 1: Set up Your Hardhat Environment​
- Install dotenv
To manage environment variables, install
dotenv
using the following command:
npm install dotenv
- Create a
.env
file- In the
rootstock-quick-start-guide
project root, create a.env
file and add your private keys (do not share this file):
- In the
ROOTSTOCK_MAINNET_PRIVATE_KEY="your_mainnet_private_key"
ROOTSTOCK_TESTNET_PRIVATE_KEY="your_testnet_private_key"
Note
Depending on your desired network, using a Testnet and Mainnet private key is optional, as you're not required to have separate private keys in your environment variable.
Step 2: Configure Private Keys​
To configure your rskMainnet
and rskTestnet
private keys, you'll need to update your hardhat.config.js
file in the root directory with your private keys.
- Copy the code snippet below and replace the existing code in your
hardhat.config.js
file. See diff file for initial code.
require("@nomiclabs/hardhat-ethers");
require('dotenv').config();
<!-- Hardhat configuration -->
module.exports = {
solidity: "0.8.20",
networks: {
rskMainnet: {
url: "https://rpc.mainnet.rootstock.io/{YOUR_APIKEY}",
chainId: 30,
gasPrice: 60000000,
accounts: [process.env.ROOTSTOCK_MAINNET_PRIVATE_KEY]
},
rskTestnet: {
url: "https://rpc.testnet.rootstock.io/{YOUR_APIKEY}",
chainId: 31,
gasPrice: 60000000,
accounts: [process.env.ROOTSTOCK_TESTNET_PRIVATE_KEY]
}
}
};
See how to Get an API Key from the RPC API
Replace
"your_mainnet_private_key"
and"your_testnet_private_key"
with your private keys. For information on how to retrieve your private keys, see How to export an account's private key.
Step 3: Fund Your Accounts​
- Mainnet
- You'll need RBTC, which you can obtain from an exchange. See Get RBTC using Exchanges.
- Testnet
- You can get tRBTC from the Rootstock Faucet. Additional faucet options include; Thirdweb and Blast Faucets.