sendTransaction
发送 TBC 链交易。支持多种操作类型,包括 P2PKH 转账、NFT 操作、FT 操作、PoolNFT 流动性管理和稳定币操作。
用法
ts
const params = [{ flag: "P2PKH", address: "收款地址", satoshis: 10000 }];
const { txid } = await Turing.sendTransaction(params);接口定义
ts
interface FTData {
name: string; // 代币名称
symbol: string; // 代币符号
decimal: number; // 小数位数
amount: number; // 发行数量
}
interface CollectionData {
collectionName: string; // 集合名称
description: string; // 集合描述
supply: number; // 集合供应量
file: string; // base64 编码的文件
}
interface NFTData {
nftName: string; // NFT 名称
symbol: string; // NFT 符号
description: string; // NFT 描述
attributes: string; // NFT 属性
file?: string; // base64 编码的文件(可选)
}
interface NonMergeRequestParam {
flag: "P2PKH" | "COLLECTION_CREATE" | "NFT_CREATE" | "NFT_TRANSFER" | "FT_MINT" | "FT_TRANSFER" | "POOLNFT_MINT" | "POOLNFT_INIT" | "POOLNFT_LP_INCREASE" | "POOLNFT_LP_CONSUME" | "POOLNFT_LP_BURN" | "POOLNFT_SWAP_TO_TOKEN" | "POOLNFT_SWAP_TO_TBC" | "STABLECOIN_TRANSFER";
address?: string;
satoshis?: number | string; // 单位为 satoshis,大数请使用 string
collection_data?: string;
ft_data?: string;
nft_data?: string;
collection_id?: string;
nft_contract_address?: string;
ft_contract_address?: string; // FT 或稳定币合约交易 ID
tbc_amount?: number | string; // 大数请使用 string
ft_amount?: number | string; // 大数请使用 string
with_lock?: boolean;
lpCostAddress?: string;
lpCostAmount?: number | string; // 大数请使用 string
pubKeyLock?: string[];
poolNFT_version?: 1 | 2; // 强制为 2,若提供为别的值转为 2
serviceFeeRate?: number;
serverProvider_tag?: string;
lpPlan?: 1 | 2 | 3 | 4 | 5 | 6; // 创建池默认 1;Swap 可省略并由钱包从链上识别
isLockTime?: boolean;
lockTime?: number | string; // 锁仓至指定区块高度(POOLNFT 相关),大数请使用 string
broadcastEnabled?: boolean;
}
type MergeRequestParam =
| {
flag: "FT_MERGE" | "STABLECOIN_MERGE";
ft_contract_address: string;
}
| {
flag: "POOLNFT_MERGE" | "FTLP_MERGE";
nft_contract_address: string;
};
type RequestParam = NonMergeRequestParam | MergeRequestParam;
const params = [param: RequestParam];独立 Merge 请求只接受对应的合约字段。它们会始终广播,不接受 broadcastEnabled。
返回值
ts
interface SendTransactionResponse {
txid?: string; // 交易 ID(broadcastEnabled 为 true 时)
txraw?: string; // 签名后的原始交易 hex(broadcastEnabled 为 false 时)
error?: string; // 错误信息
}| 字段 | 类型 | 说明 |
|---|---|---|
txid | string | 广播成功后的交易 ID |
txraw | string | broadcastEnabled 为 false 时返回的原始交易 hex |
error | string | 交易失败时的错误信息 |
响应行为
对于非 Merge 请求,broadcastEnabled: false 会通过 txraw 返回本次请求的业务交易。如果一个业务操作返回多笔以逗号分隔的原始交易,必须按顺序广播。
独立的 FT_MERGE、STABLECOIN_MERGE、POOLNFT_MERGE 和 FTLP_MERGE 请求始终广播并返回 txid,不会返回 txraw。
错误处理
ts
const result = await Turing.sendTransaction(params);
if (result.error) {
console.error("交易失败:", result.error);
return;
}
console.log("成功!txid:", result.txid);交易类型
- P2PKH — 标准 TBC 转账。
- NFT — 集合创建、NFT 创建和 NFT 转移。
- FT — FT 铸造、转移和 UTXO 合并。
- PoolNFT — 流动性池创建、管理、交换和 UTXO 合并。
- Stablecoin — 稳定币转移和 UTXO 合并。
各分类页均先提供完整的参数与操作说明,再提供带默认模板的在线示例。非 Merge 示例默认请求返回业务 txraw;独立的 FT_MERGE、POOLNFT_MERGE、FTLP_MERGE 和 STABLECOIN_MERGE 请求始终广播、返回 txid,并要求执行前明确确认风险。