Base Español | Non Official
  • 👋Bienvenido a Base
  • Overview
    • 🔵Acerca de Base
    • 🏗️Usando Base
    • ℹ️Información de la red Base
    • 📔Direcciones de Contratos
    • 💲Tarifas
    • ‼️Diferencias entre Ethereum y Base
    • 🔴Decentralizando base con Optimism
    • 📖Guías
      • Deployando un Contrato Inteligente
        • Usando Hardhat
        • Usando Remix
        • Corriendo un Nodo en Base
      • Construyendo una dApp
        • Usando thirdweb
      • Corriendo un Nodo en Base
    • 🔗Links Útiles
    • 🛠️Herramientas
    • 🖥️Proveedores de Nodos
    • 🌐Exploradores de Bloques
    • 💦Faucets de la Red
    • 🌉Puentes
      • Red Principal Base
      • Red de Prueba
      • Preguntas Frecuentes | Puentes
    • 👀Oráculos
      • ChainLink
      • Pyth
    • 🔧Cadena de herramientas
      • Foundry
      • Hardhat
      • ThirdWeb CLI
      • Truffle
    • ⌨️Clientes
      • Ether.js
      • thirdweb SDK
      • viem
      • web3.js
    • 🎆Layer Zero | Multicadena
    • 📔Contratos
    • 🪙Tokens
    • Estado
    • Kit de Marca
    • 📑Terminos y Condiciones
    • 🔏Política de Privacidad
Powered by GitBook
On this page
  1. Overview
  2. Clientes

viem

Previousthirdweb SDKNextweb3.js

Last updated 1 year ago

INFO

Viem actualmente solo está disponible en Base Goerli testnet(red de prueba).

es una interfaz TypeScript para Ethereum que proporciona primitivas sin estado de bajo nivel para interactuar con Ethereum.

Puedes usar viem para interactuar con contratos inteligentes desplegados en Base.

Instalar Para instalar viem, ejecute el siguiente comando:

cssCopy code
npm install --save viem

Configuración

Antes de que puedas comenzar a usar viem, necesitas configurar un con un y una .

javascriptCopy code
import { createPublicClient, http } from 'viem';
import { base } from 'viem/chains';

const client = createPublicClient({
  chain: base,
  transport: http(),
});

INFO

Para usar Base, debes especificar base como la cadena al crear un Cliente.

Para usar Base Goerli (testnet), reemplace base con baseGoerli.

Leyendo datos de la blockchain

Las Acciones Públicas son métodos del cliente que se mapean uno a uno con un método RPC "público" de Ethereum (eth_blockNumber, eth_getBalance, etc.)

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

javascriptCopy code
const blockNumber = await client.getBlockNumber();

Escribiendo datos en la blockchain

javascriptCopy code
import { createWalletClient, custom } from 'viem'
import { base } from 'viem/chains'

const [account] = await window.ethereum.request({ method: 'eth_requestAccounts' })

const client = createWalletClient({
  account,
  chain: base,
  transport: custom(window.ethereum)
})

client.sendTransaction({ ... })

INFO

Además de hacer una solicitud JSON-RPC (eth_requestAccounts) para obtener una Cuenta, viem proporciona varios métodos auxiliares para crear una Account (Cuenta), incluyendo: privateKeyToAccount, mnemonicToAccount y hdKeyToAccount.

Para usar Base Goerli (testnet), reemplace base con baseGoerli.

Interactuando con contratos inteligentes

javascriptCopy code
import { getContract } from 'viem';
import { wagmiAbi } from './abi';
import { publicClient } from './client';

// 1. Crear instancia de contrato
const contract = getContract({
  address: 'DIRECCION_CONTRATO',
  abi: wagmiAbi,
  publicClient,
});

// 2. Llamar a métodos del contrato, escuchar eventos, etc.
const result = await contract.read.totalSupply();

INFO

DIRECCION_CONTRATO es la dirección del contrato desplegado.

Una vez que hayas creado un cliente, puedes usarlo para leer y acceder a datos de Base usando

Para escribir datos en Base, necesitas crear un cliente de Billetera (createWalletClient) y especificar una (Cuenta) para usar.

Puedes usar viem para interactuar con un contrato inteligente en Base creando una instancia de (contrato) usando getContract y pasándole el ABI del contrato, la dirección del contrato y el y/o de

⌨️
viem
Cliente
Transporte
blockchain especifica
Acciones Públicas.
Account
Contract
Cliente Público
Billetera: