Ethers.js JavaScript Library
Introduction​
The ethers.js library provides a set of tools to interact with Ethereum Nodes with JavaScript, similar to web3.js. Darwinia has an Ethereum-like API available that is fully compatible with Ethereum-style JSON RPC invocations. Therefore, developers can leverage this compatibility and use the ethers.js library to interact with a Darwinia node as if they were doing so on Ethereum. You can read more about ethers.js on this blog post.
Setup Ethers.js with Pangolin​
To get started with the ethers.js library, install it using the following command:
npm install ethers
Once done, the simplest setup to start using the library and its methods is the following:
const ethers = require('ethers');
// Variables definition
const privKey = '0xPRIVKEY';
// Define Provider
const provider = new ethers.providers.StaticJsonRpcProvider('RPC_URL', {
chainId: ChainId,
name: 'NETWORK_NAME'
});
// Create Wallet
let wallet = new ethers.Wallet(privKey, provider);
Different methods are available inside provider
and wallet
. Depending on which network you want to connect to, you can set the RPC_URL
to the following values:
- Darwinia Development Node
- Pangolin
- Crab
- RPC_URL: http://localhost:9933/
- ChainId: 43
- NETWORK_NAME: development
- RPC_URL: https://pangolin-rpc.darwinia.network
- ChainId: 43
- NETWORK_NAME: Pangolin
- RPC_URL: https://crab-rpc.darwinia.network
- ChainID: 44
- NETWORK_NAME: Crab
Tutorials​
If you are interested in a more detailed step-by-step guide, you can go to our specific tutorials on using ethers.js on Pangolin to send a transaction or deploy a contract.