BitTap 钱包 JSSDK 是一个强大的工具,允许开发者轻松地将 BitTap 钱包功能集成到他们的 DApp 中。本文档将指导您如何使用 SDK 的主要功能。
使用 npm 安装 BitTap 钱包 JSSDK:
npm install @bittap/wallet-sdk首先,导入 SDK 并创建一个实例:
import { WalletSdk, Network } from '@bittap/wallet-sdk';
const walletSdk = new WalletSdk({
network: Network.mainnet
// 可选参数:
autoConnection: true/false
});在使用 SDK 的任何功能之前,您需要先连接钱包。您可以使用以下代码连接钱包:
await walletSdk.connection((res) => {
console.log('连接成功', res);
});在连接钱包之后,您可以指定网络。默认情况下,它是 Network.mainnet。如果您想切换到测试网络,可以使用以下代码:
walletSdk.switchNetwork(Network.testnet);在连接钱包之后,设定监听,这将自动连接钱包并监听账户变化。您可以使用以下代码监听账户变化:
walletSdk.setOnAccountChangeHandler((result) => {
console.log('账户变化', result);
});在连接钱包之后,您可以使用以下代码获取当前资产:
async function getCurrentAssets() {
const assets = await walletSdk.getCurrentAssets();
console.log('当前资产', assets);
console.log('BTC资产:', assets.filter((asset) => asset.asset_id === 'Base'));
}在连接钱包之后,您可以使用以下代码创建接收Taproot资产的发票:
async function createInvoice() {
const invoice = await walletSdk.createInvoice({
asset_id: 'your_asset_id',
amount: 100000
});
console.log('创建的发票', invoice);
}在连接钱包之后,您可以使用以下代码进行BTC资产转账:
async function transferBtc() {
const transferOptions = {
recv_addr: 'recipient_address',
amount: 100000,
// 以下为可选参数
min_conf: 6,
fee_rate: 1
};
const transferTrx = await walletSdk.transferBtc(transferOptions);
console.log('转账交易', transferTrx);
}async function sendTaprootAssets() {
const sendOptions = {
receive_addr: 'recipient_address',
// 以下为可选参数
fee_rate: 1
};
const transferTrx = await walletSdk.sendTaprootAssets(sendOptions);
console.log('发送资产交易', transferTrx);
}async function signMessage() {
const message = 'Hello, BitTap!';
const signature = await walletSdk.signMessage(message);
console.log('签名结果', signature);
}async function setOnListenTransactionStatusHandler() {
walletSdk.setOnListenTransactionStatusHandler((res) => {
console.log('交易状态变化', res);
}));
}async function addListenTxId() {
const txIds = [
'your_transaction_id_1',
'your_transaction_id_2'
]
walletSdk.addListenTxId(txIds);
}searchAssets() {
const searchOptions = {
// 以下为可选参数 asset_id 和 asset_name 必须提示其中之一
asset_id: string
asset_name: string,
page_num: 6, // 当前页码
page_size: 1 // 每页数量
};
const searchResult = await walletSdk.searchAssets(searchOptions);
console.log('搜索结果', searchResult);
}注意:每张发票都可以使用多次
searchAssets() {
const pageOptions = {
// 以下为可选参数
page_num: 6, // 当前页码
page_size: 1 // 每页数量
};
const invoicesResult = await walletSdk.getInvoices(pageOptions);
console.log('结果:', invoicesResult);
}以下是一个完整的示例,展示了如何使用 BitTap 钱包 JSSDK 的主要功能:
示例代码连接:
这个示例展示了如何初始化 SDK,连接钱包,监听账户变化,以及使用各种主要功能。您可以根据自己的需求修改和扩展这个示例。
请注意,在实际使用中,您需要适当地处理错误和异常情况,以确保您的应用程序的稳定性和可靠性。