@depay/web3-wallets

中文文档
18.1.20发布于 2026/03/03MITESM + CJS零依赖构建来源已验证近 30 天下载 3823

One-Stop-Shop JavaScript 库将各种Web3加密钱包和多条块链同时与单一接口相融合.

中文使用文档
文档目录27 节
  1. 快速启动
  2. 演示
  3. 支助
  4. 平台专用包装
  5. EVM特定包装
  6. SOLANA特定包装
  7. 职能
  8. 获取钱包
  9. 名称
  10. 标记
  11. 账户
  12. 连接账户
  13. 平台
  14. 支持的块链
  15. 检查钱包是否连接到特定的块链
  16. 接收钱包事件
  17. 切换区块链/网络
  18. 交易
  19. 数据结构
  20. 发送交易
  21. 获取钱包交易数
  22. 签名消息
  23. 日志
  24. 改划
  25. 发展
  26. 开始吧
  27. 释放

快速启动

yarn add @depay/web3-wallets

或者说

npm install --save @depay/web3-wallets
import { getWallets } from '@depay/web3-wallets'

let wallets = await getWallets()

// display wallets, have user pick one:

let wallet = wallets[0]

wallet.name // MetaMask
await wallet.connect() // 0x317D875cA3B9f8d14f960486C0d1D1913be74e90

演示

https://depayfi.github.io/web3-wallets/demo.html 互联网档案馆的存檔,存档日期2013-12-22

支助

此库支持以下块链 :

此库支持大多数加密钱包 :

见 https://depay.com/ 钱包 详情

平台专用包装

如果你想只使用特定平台并包装,请使用特定平台的软件包:

EVM特定包装

import { getWallets } from '@depay/web3-wallets-evm'

SOLANA特定包装

import { getWallets } from '@depay/web3-wallets-svm'

职能

获取钱包

getWallets: 返回一组可用的/可连接的钱包。 最多可等5秒, 因为检查现有的钱包连接 . 使用 drip 以更快地接收可用的钱包.

let availableWallets = await getWallets();
// [<Wallet name='MetaMask'>, <Wallet name='Phantom'>]
let availableWallets = await getWallets();
// [] no wallets detected. (you can still try have user connec via WalletConnect or WalletLink)
import { getWallets, wallets } from "@depay/web3-wallets"

let availableWallets = await getWallets()

let wallet
if(availableWallets.length == 1) {
  wallet = availableWallets[0]
} else if(availableWallets.length > 1) {
  wallet = availableWallets[parseInt(prompt('Which wallet do you want to connect?'), 10)]
} else {
  // Let the user choose:
  // you can still try to connect via wallets.WalletConnect.connect()
  // or wallets.WalletLink.connect()
  wallet = wallets.WalletLink
}

滴水点滴

传出 a drip 回调到 getWallets 以获取可用的钱包,而不等待所有钱包检查 :


getWallets({
  drip: (wallet)=>{
    setAvailableWallets(
      availableWallets.concat([wallet])
    )
  }
})

名称

name:string: 返回钱包的名称.

wallet.name // 'MetaMask'

logo:string: 返回钱包的标志为PNG Base64-encode.

wallet.logo // 'data:image/png;base64,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'

账户

async account():string:获取当前已连接和正在运行的账户(不提示连接屏幕). 回返 undefined 如果没有账户连接.

await wallet.account() // '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'

连接账户

async connect():string: 连接账户. 可能打开钱包连接屏幕 。 在 Aync 返回中提供连接账户 。 如果钱包无法连接, 则返回 undefined。 。 。 .

await wallet.connect() // '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'

平台

platform:string: 已识别钱包的平台。 如果钱包有多平台支持(如EVM + SVM),则每个平台将提供1个钱包实例(如Phantom,Exodus等)

wallet.platform // 'evm'

支持的块链

blockchains:Array: 包含辅助区块链名称的阵列

wallet.blockchains // ['ethereum', 'bsc', 'polygon']

检查钱包是否连接到特定的块链

async connectedTo(blockchain):Boolean:检查钱包是否连接到特定的块链上.

await wallet.connectedTo('ethereum') // true

如果未给出参数,请告知钱包连接到哪个区块链:

await wallet.connectedTo() // 'bsc'

如果连接到多个块链, 则可以提供数组 :

await wallet.connectedTo() // ['ethereum', 'bsc']

接收钱包事件

on(string, function):undefined: 注册给定事件的回调函数.

wallet.on('account', (newAccount)=>{
  doSomething(newAccount)
})

活动

on('account', (newAccount)=>{}): 当用户更改连接/激活的钱包账户时触发.

Deregister 钱包事件

.on 返回需要传递到的回调函数 .off 如果您想要取消事件听众的注册:

let callback = wallet.on('account', (newAccount)=>{
  doSomething(newAccount)
})

//...

wallet.off('account', callback) // removes listener

切换区块链/网络

async switchTo(blockchain): 更改钱包连接到特定网络( 添加到钱包中以备丢失)

await wallet.switchTo('bsc')

交易

数据结构

accepted: Function ()=>{}: 一旦交易被钱包接受但尚未发送到网络(如中继器,World App),将会执行的回调. 没有交易, 因为只有发送才能包含交易 .

api: Array:合同的Api(例如Ethereum的ABI,索拉纳的布局/Struct).

blockchain: String: 区块链的名称, 例如“ ethereum” .

failed: Function (transaction, error)=>{}: 一旦交易在链上失败, 将会执行的回调( 回调) .

from: String: 交易发送者的地址.

id: String: 交易的标识符.

instructions: Array: 指令列表 (索拉纳语).

signers: Array: 签字人名单 (索拉纳).

method: String:拟取名的合同方法名称(EVM).

nonce: Integer: 交易(EVM)的nonce(数字只用一次).

params: Object or Array:参数传入方法(EVM).

sent: Function (transaction)=>{}: 一旦交易发送到网络, 将会执行的回调 .

succeeded: Function (transaction)=>{}: 一旦交易成功, 且至少已被网络确认一次将执行的回调 .

to String:拟与(EVM)交易的合同地址.

url String: Url 打开交易(如在探索者中).

value: Number or BigNumber as String: 交易价值(与交易一起发送的本土区块链货币).

发送交易

EVM: 发送交易

EVM 块链的现有参数 :

api: Array:合同的Api(例如,Abi for Ethereum).

blockchain: String: 区块链的名称, 例如“ ethereum” .

failed: Function (transaction, error)=>{}: 如果交易失败, 将召回执行( 如返回) .

method: String:拟调用的合同方法名称.

params: Object or Array:参数传递给方法.

sent: Function (transaction)=>{}: 如果交易已发送到网络, 将恢复执行 .

succeeded: Function (transaction)=>{}: 如果交易成功, 并且已被网络确认一次, 将召回执行 .

to String: 拟与之交易的合同地址.

value: Number or BigNumber as String: 交易价值(与交易一起发送的本土区块链货币).

EVM: 简单值传输

例如,在Ethereum上发送0.01 ETH:


let sentTransaction = await wallet.sendTransaction({
  blockchain: 'ethereum',
  to: '0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92',
  value: 0.01,
  sent: function(transaction){},
  succeeded: function(transaction){},
  failed: function(transaction, error){}
})
EVM:智能合同互动
let sentTransaction = await wallet.sendTransaction({
  blockchain: 'ethereum',
  to: '0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92',
  api: [{"inputs":[{"internalType":"address","name":"_configuration","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"configuration","outputs":[{"internalType":"contract DePayRouterV1Configuration","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pluginAddress","type":"address"}],"name":"isApproved","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"address[]","name":"plugins","type":"address[]"},{"internalType":"string[]","name":"data","type":"string[]"}],"name":"route","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],
  method: 'route',
  params: {
    path: ["0xb056c38f6b7Dc4064367403E26424CD2c60655e1","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb"],
    amounts: ["11275067000000000000000","100000000000000000000", "1632063302"],
    addresses: ["0x39794c3171d4D82eB9C6FBb764749Eb7ED92881d", "0x39794c3171d4D82eB9C6FBb764749Eb7ED92881d"],
    plugins: ["0xe04b08Dfc6CaA0F4Ec523a3Ae283Ece7efE00019", "0x99F3F4685a7178F26EB4F4Ca8B75a1724F1577B9"],
    data: []
  },
  value: "0",
  sent: function(transaction){},
  succeeded: function(transaction){},
  failed: function(transaction, error){}
})

索拉纳: 发送交易

索拉纳区块链的现有论据:

blockchain: String: 区块链的名称, 如 “ solana ” .

failed: Function (transaction, error)=>{}: 如果交易失败, 将召回执行( 如返回) .

sent: Function (transaction)=>{}: 如果交易已发送到网络, 将恢复执行 .

succeeded: Function (transaction)=>{}: 如果交易成功, 并且已被网络确认一次, 将召回执行 .

索拉纳:简单值转移

例如,向索拉纳发送0.01 SOL:

to String:接收者的地址.

value: Number or BigNumber as String:交易值(仅用于简单的SOL转账).


let sentTransaction = await wallet.sendTransaction({
  blockchain: 'solana',
  to: '2UgCJaHU5y8NC4uWQcZYeV9a5RyYLF7iKYCybCsdFFD1',
  value: 0.01,
  sent: function(transaction){},
  succeeded: function(transaction){},
  failed: function(transaction, error){}
})
索拉纳:签署并发出指示

instructions Array: 一套交易指示

例如,发送1个USDC:

import Token from '@depay/web3-tokens'

let sentTransaction = await wallet.sendTransaction({
  blockchain: 'solana',
  instructions: [
    await Token.solana.createTransferInstructions({
      token: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', 
      amount: '1000000',
      from: await wallet.account(),
      to: '5AcFMJZkXo14r3Hj99iYd1HScPiM4hAcLZf552DfZkxas'
    })
  ],
  sent: function(transaction){},
  succeeded: function(transaction){},
  failed: function(transaction, error){}
})
索拉纳:指示签名人

如果您需要签名指令( 例如创建“ 扔出” 账户)

你可以通过 signers 作为交易的一部分 sendTransaction数字 :

import { getProvider } from '@depay/web3-client'
import Token from '@depay/web3-tokens'
import { PublicKey, SystemProgram, Keypair } from '@depay/solana-web3.js'

const wallets = await getWallets()
const wallet = wallets[0]
const fromAddress = await wallet.account()
const provider = await getProvider('solana')
const keypair = Keypair.generate()
const account = keypair.publicKey.toString()
const rent = await provider.getMinimumBalanceForRentExemption(Token.solana.TOKEN_LAYOUT.span)

let instruction = SystemProgram.createAccount({
  fromPubkey: new SolanaWeb3js.PublicKey(fromAddress),
  newAccountPubkey: new SolanaWeb3js.PublicKey(wrappedAccount),
  programId: new SolanaWeb3js.PublicKey(Web3Tokens.Token.solana.TOKEN_PROGRAM),
  space: Web3Tokens.Token.solana.TOKEN_LAYOUT.span,
  lamports: rent
})

let sentTransaction = await wallet.sendTransaction({
  blockchain: 'solana',
  instructions: [instruction],
  signers: [keypair],
  sent: function(transaction){},
  succeeded: function(transaction){},
  failed: function(transaction, error){}
})
索拉纳:地址查询表

如果您需要通过地址查询表来缩小交易规模,

你可以通过 alts 作为交易的一部分 sendTransaction数字 :

import { getProvider } from '@depay/web3-client'
import Token from '@depay/web3-tokens'
import { PublicKey, SystemProgram, Keypair } from '@depay/solana-web3.js'

const wallets = await getWallets()
const wallet = wallets[0]
const fromAddress = await wallet.account()
const provider = await getProvider('solana')
const keypair = Keypair.generate()
const account = keypair.publicKey.toString()
const rent = await provider.getMinimumBalanceForRentExemption(Token.solana.TOKEN_LAYOUT.span)

let instruction = SystemProgram.createAccount({
  fromPubkey: new SolanaWeb3js.PublicKey(fromAddress),
  newAccountPubkey: new SolanaWeb3js.PublicKey(wrappedAccount),
  programId: new SolanaWeb3js.PublicKey(Web3Tokens.Token.solana.TOKEN_PROGRAM),
  space: Web3Tokens.Token.solana.TOKEN_LAYOUT.span,
  lamports: rent
})

let sentTransaction = await wallet.sendTransaction({
  blockchain: 'solana',
  instructions: [instruction],
  signers: [keypair],
  alts: ['3sEm5YYxgLnP1Z11WXHSgScWqFMrATSNDgZcXAcB1w9A'],
  sent: function(transaction){},
  succeeded: function(transaction){},
  failed: function(transaction, error){}
})

价值

如果数值作为数字被传递,它将会被转换成一个大数字,应用单个块链的默认小数:

let transaction = new Transaction({
  ...,
  value: 1
})

transaction.value // '1000000000000000000'

如果值作为字符串或大数字传递,则按以下规定使用:

let transaction = new Transaction({
  ...,
  value: '1000000000000000000'
})

transaction.value // '1000000000000000000'

错误的网络

sendTransaction 拒绝方式:

{ code: 'WRONG_NETWORK' }

如果钱包连接到错误的网络,则网络不能自动切换.

获取钱包交易数

import { transactionCount } from '@depay/web3-wallets'

let count = await transactionCount({ blockchain: 'polygon', address: '0x8Ffdb4Ee24a625856c82db7FAAE5Bd8B3406eF86' })

签名消息

let signature = await wallet.sign("This is a message to be signed")

日志

改划

使用 https://codebeautify.org (中文(简体) )

发展

开始吧

yarn install
yarn dev

释放

npm publish

版本与发布记录

@depay/web3-wallets 共发布 228 个版本,首次发布于 2021/11/27;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
18.1.20latest2026/03/038 个月前
18.1.192026/02/138 个月前
18.1.182026/02/138 个月前
18.1.172025/07/021.4 年前
18.1.162025/07/021.4 年前
18.1.152025/06/051.4 年前

关于 @depay/web3-wallets 的常见问题

@depay/web3-wallets 是什么?

One-Stop-Shop JavaScript 库将各种Web3加密钱包和多条块链同时与单一接口相融合.

如何安装 @depay/web3-wallets?

在项目目录运行 npm install @depay/web3-wallets,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@depay/coinbase-wallet-sdk(^3.8.4)、@depay/solana-web3.js(^1.98.0)、@depay/walletconnect-v2(^2.12.2)、@depay/web3-blockchains(^9.7.9)、@depay/web3-client(^11.1.0)、ethers(^5.7.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@depay/web3-wallets 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/depay__web3-wallets 是否存在。

@depay/web3-wallets 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@depay/web3-wallets 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@depay/web3-wallets 可以商用吗?

@depay/web3-wallets 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@depay/web3-wallets 的下载量有多少?

根据 npm 官方下载统计,@depay/web3-wallets 在 2026/10/12 – 2026/11/10 这 30 天内被下载 3,823 次,日均约 127 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@depay/web3-wallets 还在维护吗?

最新版本 18.1.20 发布于 2026/03/03(8 个月前);至今共发布 228 个版本,其中过去 12 个月发布了 3 个;首次发布于 2021/11/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。