web3.js

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

Puedes usar web3.js para interactuar con contratos inteligentes desplegados en la red Base.

Instalar Para instalar web3.js, ejecuta el siguiente comando:

Copy code
npm install web3

Configuración

Antes de que puedas comenzar a usar web3.js, necesitas importarlo a tu proyecto.

Agrega la siguiente línea de código al inicio de tu archivo para importar web3.js:

javascriptCopy code
const Web3 = require('web3');

Conectando a Base

Puedes conectarte a Base instanciando un nuevo objeto Web3 de web3.js con una URL RPC de la red Base:

javascriptCopy code
const Web3 = require('web3');

const web3 = new Web3('<https://mainnet.base.org>');

INFO

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

Accediendo a datos

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

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

javascriptCopy code
async function getLatestBlock(address) {
  const latestBlock = await web3.eth.getBlockNumber();
  console.log(latestBlock.toString());
}

Desplegando contratos

Antes de que puedas desplegar un contrato en la red Base usando web3.js, primero debes crear una cuenta.

Puedes crear una cuenta usando web3.eth.accounts:

javascriptCopy code
const privateKey =PRIVATE_KEY”;
const account = web3.eth.accounts.privateKeyToAccount(privateKey);

INFO

PRIVATE_KEY es la clave privada de la billetera que se usará al crear la cuenta.

Interactuando con contratos inteligentes

Puedes usar web3.js para interactuar con un contrato inteligente en Base instanciando un objeto Contract usando el ABI y la dirección de un contrato desplegado:

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

const contractAddress = "DIRECCION_CONTRATO"

const contract = new web3.eth.Contract(abi, contractAddress);

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

javascriptCopy code
async function setValue(value) {
  // consulta de escritura
  const tx = await contract.methods.set(value).send();
  console.log(tx.transactionHash);
}

async function getValue() {
  // consulta de lectura
  const value = await contract.methods.get().call();
  console.log(value.toString());
}

INFO

Para obtener más información sobre cómo desplegar contratos en Base, consulta Desplegando un Contrato Inteligente.

Last updated