接收 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 支付后,您可以:

需要帮助?