钱包API

集成接入 Wizz 插件钱包

欢迎来到 Wizz Wallet 开发者文档!本文档旨在帮助你学习如何在DApp中接入 Wizz Wallet

入门

在接入 Wizz Wallet 前,首先需要在你的终端上安装 Wizz Wallet。点击此处下载

安装并运行 Wizz Wallet 后,你会发现新打开的浏览器标签页在开发者控制台中可访问 window.wizz 对象。

示例

浏览器检测

要验证浏览器是否运行了 Wizz Wallet,请将下面的代码复制粘贴到你的网页浏览器的开发者控制台中:

if (typeof window.wizz !== 'undefined') {
    console.log('Wizz Wallet is installed!');
}

你可以在这里查看 window.wizz 对象的完整 API。

连接 Wizz Wallet

“连接”或“登录”到 Wizz Wallet 实际上意味着“访问用户的比特币账户”。

你应该在响应用户操作(如点击按钮)时发起连接请求。在连接请求进行中时,你应该始终禁用“连接”按钮。不要在页面加载时发起连接请求。

我们建议你添加一个按钮,允许用户将 Wizz Wallet 连接到你的 dapp。点击此按钮以调用以下方法:

可以从这里获取 Provider Api的定义

方法

getVersion

获取插件当前的版本。 (仅插件支持)

参数

返回

Promise 返回 string:当前插件版本。

requestAccounts

连接当前账户。

参数

返回

Promise 返回 string[]:当前账户的地址。

示例

isBiHelixAddress

查看当前钱包地址是否支持 BiHelix 网络。

返回

Promise<boolean> - 查看当前钱包地址是否支持 BiHelix 网络。

示例

requestCPFP

创建 CPFP 加速交易请求(仅插件支持,且要求版本至少为 2.9.1)。

参数

txid - string - 要加速的交易 ID。

返回

Promise<string> - 加速的交易 ID。

示例

requestMint

发送请求以铸造各种类型的数字资产。(仅插件支持)

参数

  • options - RequestMintParams: 铸造请求的选项,根据被铸造的资产类型而有所不同。这是一个对象,可以根据 type 字段具有不同的属性。

    • type - string: 指定铸造操作的类型。可能的值有 'mint_arc20', 'mint_nft', 'mint_realm', 'mint_container', 和 'mint_dmitem'

    对于 'mint_arc20' 类型:

    • atomicalId - string (可选): 要铸造的 ARC20 的原子 ID。

    • arc20 - string (可选): 要铸造的ARC20的名字,和atomical id二选一

    对于 'mint_nft' 类型:

    • fileBytes - Uint8Array (可选): 文件内容的字节。

    • fileName - string (可选): 文件的名称。

    • contentType - string (可选): 文件的 MIME 类型。

    • bitworkc - string (可选): 提交交易的挖矿难度,必须是带有单个可选的 的十六进制,与 1 到 15 之间的数字分隔,不超过 10 个十六进制字符。例如:0123 或 3456.12。长度在 4-10 位数字之间。

    • bitworkr - string (可选): 揭示交易的挖矿难度,格式同上。

    • satsIn - number (可选): nft 中的 sats 数量。

    对于 'mint_dmitem' 类型:

    • atomicalId - string (可选): 要铸造的容器的 ID。

    • dmitem - Record<string,any>: dmitem 的 json 文件

    • satsIn - number (可选): dmitem 中的 sats 数量。

    对于 'mint_realm' 类型:

    • bitworkc - string (可选): 提交交易的挖矿难度,格式同上。

    • satsIn - number (可选): realm 中的 sats 数量。

    对于 'mint_subrealm' 类型:

    • satsIn - number (可选): subrealm 中的 sats 数量。

    • realm - string (可选): 父realm的名称,如果为unicode字符,需要先转为ASCII字符

    • subrealm - string (可选): 待mint的subrealm名称

    对于 'mint_container' 类型:

    • bitworkc - string (可选): 提交交易的挖矿难度,格式同上。

    • satsIn - number (可选): container 中的 sats 数量。

返回

  • Promise - void:

示例

sendBitcoin

发送BTC交易。 (要求插件版本>=2.6.0)

参数

  1. address 接收地址

  2. amount 发送的BTC数量

  3. options 可选参数:

    • feeRate 使用的费率

返回

Promise - string: 交易的txid

sendARC20

发送ARC20交易。 (要求插件版本>=2.6.0) (仅插件支持)

参数

  1. address 接收地址

  2. arc20 待发送ARC20名称

  3. amount 发送的ARC20数量

  4. options 可选参数:

    • feeRate 使用的费率

返回

Promise - string:交易的txid

sendAtomicals

发送Atomcials交易 (要求插件版本>=2.6.0) (仅插件支持)

参数

  1. address 接收地址

  2. atomicalIds 待发送Atomicals ID列表

  3. options 可选参数:

    • feeRate 使用的费率

返回

Promise - string:交易的txid

getBalance

获取当前连接账号的余额 (要求插件版本>=2.6.0)

参数

返回

Promise - { confirmed: number, unconfirmed: number, total: number }: 当前账户的余额

getAccounts

获取当前账户的地址

参数

返回

Promise - string[]:当前账户的地址

示例

getNetwork

获取网络

参数

返回

Promise - stringlivenettestnet 网络

示例

switchNetwork

切换网络

参数

network - string: livenettestnet 网络

返回

示例

getPublicKey

获取当前账户的公钥。

参数

返回

Promise - string: 公钥

示例

getInscriptions

列出当前账户的铭文

参数

返回

Promise - Object:

total - number : 总数

list - Object[] :

inscriptionId - string : 铭文的 ID。

inscriptionNumber - string : 铭文的编号。

address - string : 铭文的地址。

outputValue - string : 铭文的输出值。

content - string : 铭文的内容 URL。

contentLength - string : 铭文内容的长度。

contentType - number : 铭文内容的类型。

preview - number : 预览链接

timestamp - number : 铭文的区块时间。

offset - number : 铭文的偏移量。

genesisTransaction - string : 创世交易的 txid

location - string : 当前位置的 txid 和 vout

示例

signMessage

签名消息

参数

msg - string: 要签名的字符串

type - string: (可选) "ecdsa" | "bip322-simple"。默认为 "ecdsa"

返回

Promise - string: 签名。

示例

pushTx

推送交易

参数

options - Object:rawtx - string: 要推送的原始交易

返回

Promise - string: 交易 ID

示例

signPsbt

签名 PSBT

此方法将遍历所有与当前地址匹配的输入以进行签名。

参数

psbtHex - string: 要签名的 PSBT 的十六进制字符串

options autoFinalized - boolean: 签名后是否自动完成 PSBT,默认为 true

toSignInputs - array:

index - number: 要签名的输入

address - string: (至少指定地址或公钥中的一个) 用于签名的私钥对应的地址

publicKey - string: (至少指定地址或公钥中的一个) 用于签名的私钥对应的公钥

sighashTypes - number[]: (可选) 签名哈希类型

disableTweakSigner - boolean :(可选)

在签名和解锁 Taproot 地址时,默认使用 tweakSigner 生成签名。启用此选项允许使用原始私钥进行签名。

返回

Promise - string: 签名后的 PSBT 的十六进制字符串

示例

pushPsbt

推送交易

参数

psbtHex - string: 要推送的 PSBT 的十六进制字符串

返回

Promise - string: 交易 ID

示例

事件

accountsChanged

当用户公开的账户地址发生变化时,将触发 accountsChanged 事件。

networkChanged

当用户的网络发生变化时,将触发 networkChanged 事件。

Last updated