Ether.js

ethers.js es una biblioteca de JavaScript que permite a los desarrolladores interactuar con redes blockchain compatibles con EVM.

Puede usar ethers.js para interactuar con contratos inteligentes desplegados en la red Base.

Instalar

Para instalar ethers.js, ejecute el siguiente comando:

cssCopy code
npm install --save ethers

Configuración

Antes de comenzar a usar ethers.js, necesita importarlo a su proyecto.

Agregue la siguiente línea de código al principio de su archivo para importar ethers.js:

javascriptCopy code
const ethers = require('ethers');

Conectando a Base

Puede conectarse a Base instanciando un nuevo objeto JsonRpcProvider de ethers.js con una URL RPC de la red Base:

javascriptCopy code
const ethers = require('ethers');

const url = '<https://mainnet.base.org>';
const provider = new ethers.providers.JsonRpcProvider(url);

INFO Para conectarse alternativamente a Base Goerli (testnet), cambie la URL anterior de https://mainnet.base.org a https://goerli.base.org.

Leyendo datos de la blockchain

Una vez que haya creado un proveedor, puede usarlo para leer datos de la red Base.

Por ejemplo, puede usar el método getBlockNumber para obtener el último bloque:

javascriptCopy code
async function getLatestBlock() {
  const latestBlock = await provider.getBlockNumber();
  console.log(latestBlock);
}

Escribiendo datos en la blockchain

Para escribir datos en la red Base, necesita crear un Signer.

Puede crear un Signer instanciando un nuevo objeto Wallet de ethers.js, proporcionándole una clave privada y un Provider.

arduinoCopy code
const privateKey = 'PRIVATE_KEY';
const signer = new ethers.Wallet(privateKey, provider);

INFO

PRIVATE_KEY es la clave privada de la billetera a usar al crear el signer.

Interactuando con contratos inteligentes Puede usar ethers.js para interactuar con un contrato inteligente en Base instanciando un objeto Contract usando el ABI y la dirección de un contrato desplegado:

arduinoCopy code
const abi = [
… // ABI del contrato desplegado
];

const contractAddress = "CONTRACT_ADDRESS"

// solo lectura
const contract = new ethers.Contract(contractAddress, abi, provider);

Para contratos solo de escritura, proporcione un objeto Signer en lugar de un objeto Provider:

arduinoCopy code
// solo escritura
const contract = new ethers.Contract(contractAddress, abi, signer);

INFO

CONTRACT_ADDRESS es la dirección del contrato desplegado.

Una vez que haya creado un objeto Contract, puede usarlo para llamar a los métodos deseados en el contrato inteligente:

Last updated