viem
TypeScript Interface for Ethereum
README
TypeScript Interface for Ethereum
Features
- Abstractions over the JSON-RPC API to make your life easier
- First-class APIs for interacting with Smart Contracts
- Language closely aligned to official Ethereum terminology
- Import your Browser Extension, WalletConnect or Private Key Wallet
- Browser native BigInt, instead of large BigNumber libraries
- Utilities for working with ABIs (encoding/decoding/inspection)
- TypeScript ready (infer types from ABIs and EIP-712 Typed Data)
- Test suite running against forked Ethereum network
... and a lot lot more.
Overview
- ```ts
- // 1. Import modules.
- import { createPublicClient, http } from 'viem';
- import { mainnet } from 'viem/chains';
- // 2. Set up your client with desired chain & transport.
- const client = createPublicClient({
- chain: mainnet,
- transport: http(),
- });
- // 3. Consume an action!
- const blockNumber = await client.getBlockNumber();
- ```
Community
Check out the following places for more viem-related content:
- Join the discussions on GitHub
- Share your project/organization that uses viem
Support
Sponsors
Contributing
If you're interested in contributing, please read the contributing docsbefore submitting a pull request.
Authors
License
MIT License