文档中心
探索 DWeb 框架的无限可能,构建下一代高性能 Web 应用
Web3 工具函数
Web3 操作库提供完整的 Web3 相关功能,包括钱包连接、合约交互、交易处理、事件监听等。支持浏览器钱包(如 MetaMask)和服务端操作。
**环境兼容性**:客户端/服务端混合使用(钱包连接、签名等功能需要在浏览器环境使用,RPC 调用、合约交互等功能可以在服务端使用)
快速开始
Code
钱包连接
Code
余额查询
Code
发送交易
Code
合约交互
Code
事件监听
支持监听新区块、交易、合约事件以及钱包账户变化和链切换。所有事件监听都支持自动重连功能。
**自动重连特性**:当连接中断时,区块监听、交易监听和合约事件监听会自动尝试重新连接。支持指数退避策略和最大重连次数限制。
**历史事件支持**:合约事件监听支持指定 `fromBlock` 参数。当指定起始区块时,系统会先扫描历史事件并触发回调,然后继续监听新事件。历史事件扫描是异步的,不会阻塞新事件的监听。
Code
区块和交易历史
Code
扫描合约方法交易
扫描合约指定方法的所有调用交易,支持分页和参数解析。适用于获取合约方法的完整调用历史,如用户注册记录等。
Code
其他常用方法
Code
工具函数
Code
API 参考
createWeb3Client
Code
主要方法
基础方法
connectWallet()- 连接钱包(浏览器环境)getAccounts()- 获取当前连接的账户getBalance(address)- 获取余额(wei)getBlockNumber()- 获取当前区块号getNetwork()- 获取网络信息
交易方法
sendTransaction(options)- 发送交易waitForTransaction(txHash, confirmations?)- 等待交易确认getTransaction(txHash)- 获取交易信息getGasPrice()- 获取 Gas 价格estimateGas(options)- 估算 Gas
合约方法
callContract(options, waitForConfirmation?)- 调用合约函数(写入)- -
waitForConfirmation: 是否等待交易确认(默认true) - - 如果
waitForConfirmation为true,返回交易收据(包含status字段) - - 如果
waitForConfirmation为false,返回交易哈希 - - 如果用户取消交易,会抛出 "交易已取消" 错误
- -
options.address和options.abi可选,如果未提供会使用配置中的默认值 readContract(options)- 读取合约数据(只读)getCode(address)- 获取合约代码(字节码)scanContractMethodTransactions(...)- 扫描合约指定方法的交易(支持分页)isContract(address)- 检查是否为合约地址
合约工具函数
getCode(address, rpcUrl?)- 获取合约代码(独立函数,需要提供 rpcUrl)getFunctionSelector(functionSignature)- 获取函数选择器(函数签名的前 4 字节)encodeFunctionCall(functionSignature, args)- 编码函数调用数据
事件监听方法
onBlock(callback)- 监听新区块(支持自动重连)onTransaction(callback)- 监听交易(支持自动重连)onContractEvent(...)- 监听合约事件(支持自动重连)onAccountsChanged(callback)- 监听账户变化onChainChanged(callback)- 监听链切换setReconnectConfig(delay?, maxAttempts?)- 设置重连配置
相关文档
- Application - 应用核心
- API 路由 - API 路由系统