只需四步即可在 DApp 中完成钱包创建、交易构建、广播与追踪全流程。下文以 EVM 生态为例,融合「Web3 钱包」「钱包 API」「助记词衍生」「多链地址」「交易签名」「实时查询」等核心关键词,手把手带你跑通最小闭环。
第一步:本地生成助记词 & 地址
每一位用户在第一次打开 DApp 时最担心两件事:1.私钥会不会泄露;2.地址是否兼容多链。答案都藏在 签名 SDK 的 3 行代码里。
1.1 安装最新版签名 SDK
npm install @okx-wallet-sdk/evm --save
1.2 一行代码生成助记词与 EVM 地址
import { genMnemonic, getAddressFromMnemonic } from '@okx-wallet-sdk/evm';
const mnemonic = genMnemonic(); // 返回 12 个助记词
const address = getAddressFromMnemonic(mnemonic); // 0x 开头 42 位地址
至此你已经拥有可自行保管私钥的 Web3 钱包。
本地构建源码示例
如果你倾向于离线构建,可以:
- 克隆官方开源 demo
- 运行
npm run build:dev
- 查看
tests
目录下的create-wallet.test.ts
用例,其中演示了 Solana、BTC、EVM 多网络地址一站式派生。
第二步:聚合地址为 Account「账户模型」
单独一个地址只能查看单一链上的代币余额;而 账户(AccountId) 能把多条链上的同一用户地址打包在一起,实现一键批量查询。
- 钱包(Wallet)= 助记词控制权
- 账户(Account)= BIP-44 派生路径层级,可衍生 2³¹-1 个账户
- 地址(Address)= 每条链下的最终收款串
2.1 创建账户
调用官方 REST 接口即可完成:
POST /api/v5/wallet/account
{
"addresses": ["0x123...abc", "bc1q...xyz"],
"name" : "开发者账户 A"
}
返回的 accountId
即可用来:
- 批量查询 代币余额(ETH、USDT、NFT)
- 聚合查看 交易历史(跨 10+ 链统一时间线)
第三步:构建、签名与广播交易
已完成地址创建,接下来就是最刺激的「转账」环节。
3.1 获取链上必要字段
POST /api/v5/wallet/pre-transaction/sign-info
{
"chainId": "42161", // Arbitrum 主网
"from" : "0x123...abc"
}
返回字段示例:
{
"gasPrice": "0x5F5E100",
"nonce" : "0x12",
"gasLimit": "0x5208"
}
3.2 利用 SDK 离线签名
import { signEvmTx } from '@okx-wallet-sdk/evm';
const rawTx = await signEvmTx({
to : '0xAbC...Def',
value : '0x16345785D8A0000',
gasLimit : '0x5208',
gasPrice : '0x5F5E100',
nonce : '0x12',
chainId : 42161
}, privateKey);
3.3 广播交易
POST /api/v5/wallet/transaction/send
{ "rawTransaction": rawTx }
服务器返回 txHash
,即可直接通过区块浏览器查看交易状态。
第四步:实时查询交易详情 & Webhook 订阅
4.1 轮询查询
使用下列接口即可随时拉取状态:
GET /api/v5/wallet/transaction/detail?txHash=0x...
响应示例:
{
"status" : "success",
"blockNumber": "0x133ADCE",
"gasUsed" : "0x5208"
}
4.2 Webhook 订阅
如果你不想频繁轮询,配置 Webhook URL,系统能在 交易确认、失败、打包成功 时秒级推送:
POST /api/v5/wallet/webhook/subscribe
{ "url": "https://your-dapp.com/webhook" }
常见问题 FAQ
以下内容使用日常口语,专为首次接触 钱包 API 的开发者而设。
Q1:助记词到底安不安全?
A:助记词由 128–256 位熵值生成,12 个单词相当于 128 位私钥。离线生成、本地加密保存即可,不要截图,不存云端。
Q2:怎么验证地址属于哪条链?
A:地址前缀即可区分:0x 开头为 EVM 系列;bc1q、1、3 开头通常属于比特币系列;查看官方 钱包 API 文档中的链标识表即可快速定位。
Q3:可以一次性添加 50+ 地址到同一个 Account 吗?
A:接口支持 batch,单次最多 100 个地址,更大规模请分批并做指数退避重试。
Q4:交易失败 gas 会被扣吗?
A:当链上 revert 时,已用 gas 仍由矿工收取;提前模拟估算可显著降低失误率。
Q5:Demo 项目有没有浏览器插件版本?
A:开源 demo 中包含 W3C Manifest V3 的浏览器扩展源码,只需修改 manifest 就能跑起 chrome 插件钱包。
Q6:Webhook 推送失败会重试吗?
A:官方按指数退避规则最多重试 8 次,你的服务器及时返回 200 即可节省重试带宽。
到了这里,你已经拥有:
- 本地生成助记词和多链地址的能力
- 聚合账号模型统一管理
- 离线签名 + 链上广播 + 结果查询的完整闭环
再配合丰富的 钱包 API,你即可根据用户需求快速迭代 DeFi、NFT、链游等多种场景,无需重复造轮子。祝你开发顺顺利利,早日填补下一款现象级 Web3 钱包 的空白!