用途:viem 是面向以太坊的 TypeScript 客户端,用于在 TypeScript 项目中连接链、读取与写入合约、管理账户并处理链与 ENS 等数据。
主要能力:客户端与传输方面,提供 Public/Wallet/Test 客户端,支持 HTTP、WebSocket 与自定义传输,并支持 multicall 批量调用。合约方面提供 getContract、readContract、writeContract、simulateContract。账户方面支持本地账户(privateKey、mnemonic)与 JSON-RPC 账户,并可用 publicActions 扩展。链方面内置 viem/chains,并可用 defineChain 定义自定义链。ENS 方面提供 getEnsAddress、getEnsName、getEnsAvatar、normalize。工具方面提供 getAddress、parseEther/formatEther、编码、keccak256 与 ABI 辅助函数;ABI 方面提供 parseAbi、encodeAbiParameters、decodeAbiParameters、getAbiItem。认证方面提供 SIWE 的 createSiweMessage、verifySiweMessage、parseSiweMessage、validateSiweMessage。公共数据方面提供 getBalance、getLogs、getBlock、estimateGas、waitForTransactionReceipt、watchEvent。
使用方式:按需从对应模块导入上述函数与客户端,结合传输层连接节点;合约写入前建议先 simulate 再执行。
适用场景:需要类型安全的以太坊交互、合约调用、账户管理、ENS 解析与 SIWE 登录的 TypeScript 应用。
限制:资料未提供安装命令、收费与价格、平台支持范围及具体性能数据,暂未提供。