跳到正文

btc.sendBatchRequest ​

通过 btc 对象批量提交 BTC 相关请求。每个请求独立执行,单个请求失败不影响其他请求。

支持的方法 ​

  • sendTransaction - 发送交易
  • signTransaction - 签名交易

用法 ​

ts
const requests = [
  {
    method: "sendTransaction",
    params: {
      toAddress: "bc1qxyz...",
      amount: "100000",
      broadcastEnabled: true,
    },
  },
  {
    method: "signTransaction",
    params: {
      txHex: "0200000001...",
      type: "legacy",
      prevOutScriptsHex: ["76a914...88ac"],
    },
  },
];

const results = await Turing.btc.sendBatchRequest(requests);

参数 ​

ts
type BtcBatchRequestMethod = "sendTransaction" | "signTransaction";

interface BtcBatchRequest {
  method: BtcBatchRequestMethod;                    // 要调用的 BTC 方法名
  params: BtcSendTransaction | BtcSignTransaction;  // 对应方法的参数
}
字段类型说明
methodBtcBatchRequestMethod要调用的 BTC 方法名:"sendTransaction" 或 "signTransaction"
paramsBtcSendTransaction | BtcSignTransaction对应方法的参数,参见各方法文档

返回值 ​

返回结果数组,每个元素对应一个请求的结果,顺序与输入一致。

ts
type BtcBatchResponse = Array<
  BtcSendTransactionResponse | BtcSignTransactionResponse
>;
字段类型说明
txidstringsendTransaction 广播成功时的交易哈希
txrawstringsendTransaction 不广播时的交易原始数据
sigsstring[]signTransaction 返回的签名 hex 数组
errorstring请求失败时的错误信息

错误处理 ​

ts
const results = await Turing.btc.sendBatchRequest(requests);

results.forEach((result, index) => {
  if (result.error) {
    console.error(`请求 ${index + 1} 失败:`, result.error);
  } else {
    console.log(`请求 ${index + 1} 成功:`, result);
  }
});

示例 ​

批量发送和签名 ​

ts
const requests = [
  {
    method: "sendTransaction",
    params: {
      toAddress: "bc1qxyz...",
      amount: "100000",
      broadcastEnabled: true,
    },
  },
  {
    method: "signTransaction",
    params: {
      txHex: "0200000001...",
      type: "legacy",
      prevOutScriptsHex: ["76a914...88ac"],
    },
  },
];

const results = await Turing.btc.sendBatchRequest(requests);

results.forEach((result, index) => {
  if (result.error) {
    console.error(`请求 ${index + 1} 失败:`, result.error);
  } else {
    console.log(`请求 ${index + 1} 成功:`, result);
  }
});

在线示例 ​

在线示例默认关闭批量广播,并把 sendTransaction 请求强制设为 broadcastEnabled: false。只有开启广播总开关后,各项才会按 JSON 中的设置执行。

在线示例

Turing.btc.sendBatchRequest()

正在检测钱包...

已预置模拟数据;可直接查看调用效果,或清空后换成自己的交易数据。

当前钱包网络未知

当前钱包网络为 未知,此方法需要 BTC。请切换钱包网络后重试。

默认关闭,并强制可控的交易请求使用 broadcastEnabled: false。开启后仍按每一项 JSON 的设置执行。

正在检测钱包...
代码预览