Ethers.js
What is Ethers.js?β
The Ethers.js library offers a collection of tools to interact with Ethereum nodes using JavaScript, similar to Web3.js. Caldera also has a similar API that is fully compatible with Ethereum's JSON RPC invocations. This means that developers can take advantage of this compatibility and use the Ethers.js library to interact with a Caldera node as if it were an Ethereum node.
Getting Started with Ethers.jsβ
- Create a JavaScript Project to store all of the files you'll be creating
mkdir ethers-examples && cd ethers-examples
- Install the Ethers.js library and the Solidity compiler
npm install ethers solc@0.8.0
Setting up Ethers Providerβ
Import the
ethers
libraryDefine the
providerRPC
object, which can include the network configurations for any of the networks you want to send a transaction on.Create the
provider
using theethers.providers.StaticJsonRpcProvider
method. An alternative is to use theethers.providers.JsonRpcProvide(providerRPC)
method, which only requires the provider RPC endpoint address.// 1. Import ethers
const ethers = require('ethers');
// 2. Define network configurations
const providerRPC = {
caldera: {
name: 'Caldera',
rpc: 'RPC URL', // Insert your RPC URL here
chainId: CHAINID, //Insert your ChainID Here
},
};
// 3. Create ethers provider
const provider = new ethers.providers.StaticJsonRpcProvider(
providerRPC.constellation.rpc,
{
chainId: providerRPC.constellation.chainId,
name: providerRPC.constellation.name,
}
);
Note: Ensure that all of your smart contracts are deployed on the Caldera chain and that you have updated contract addresses on the front-end.