viem
Viem is currently only available on Base Sepolia testnet.
Install
To install viem run the following command:Setup
Before you can start using viem, you need to setup a Client with a desired Transport and Chain.To use Base, you must specify
base
as the chain when creating a Client.To use Base Sepolia (testnet), replace base
with baseSepolia
.Reading data from the blockchain
Once you have created a client, you can use it to read and access data from Base using Public Actions Public Actions are client methods that map one-to-one with a “public” Ethereum RPC method (eth_blockNumber
, eth_getBalance
, etc.)
For example, you can use the getBlockNumber
client method to get the latest block:
Writing data to the blockchain
In order to write data to Base, you need to create a Wallet client (createWalletClient
) and specify an Account
to use.
In addition to making a JSON-RPC request (
eth_requestAccounts
) to get an Account, viem provides various helper methods for creating an Account
, including: privateKeyToAccount
, mnemonicToAccount
, and hdKeyToAccount
.To use Base Sepolia (testnet), replace base
with baseSepolia
.Interacting with smart contracts
You can use viem to interact with a smart contract on Base by creating aContract
instance using getContract
and passing it the contract ABI, contract address, and Public and/or Wallet Client:
CONTRACT_ADDRESS
is the address of the deployed contract.