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