接收 Spark 支付
Spark ↔ Spark 转账使用 Spark 地址来识别接收钱包。要接收付款,您需要获取您的 Spark 钱包地址并与发送者共享。
Spark 地址格式类似于常规的比特币地址格式:
地址示例: sprt1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu
查看Spark 地址了解更多详情。
代码示例:
const sparkAddress = await wallet.getSparkAddress();
console.log("Spark Address:", sparkAddress);
发送 Spark 支付
向其他 Spark 钱包发送比特币支付:
const transfer = await wallet.transfer({
receiverSparkAddress:
"sprt1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu",
amountSats: 100,
});
console.log("Transfer:", transfer);
使用 Spark 钱包,您还可以向其他 Spark 用户发送和接收代币:
const transfer = await wallet.transferTokens({
tokenPublicKey: "0226ec76414bcf3f87e37882912a595f1d6701b609b97d0ed464284b418a395dba",
tokenAmount: 100n,
receiverSparkAddress: "sprt1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu"
});
console.log("Transfer:", transfer);
接收 Spark 支付
要在转账后检查余额,使用 getBalance()
方法。
// Check updated balance
const balance = await wallet.getBalance();
console.log("New balance:", balance);
getBalance()
方法返回一个 Promise,解析为包含以下内容的对象:
balance
:表示总金额(以聪为单位)的 bigint
tokenBalances
:代币余额的 Map,其中每个条目包含:
- 代币的公钥
- 一个带有表示代币数量的
bigint
以及一些代币信息的对象
此外,您可以监听余额更新事件。
wallet.on("transfer:claimed", (transferId: string, balance: number) => {
console.log(
`Transfer ${transferId} claimed. New balance: ${balance}`,
);
特点和优势
- 即时结算
- 与链上交易相比费用更低
- 标准公钥寻址系统
下一步
掌握 Spark 支付后,您可以:
需要帮助?