For the complete documentation index, see llms.txt. This page is also available as Markdown.

钱包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