v2 — 使用私钥延长

一个完整的可运行示例,演示如何通过用你的私钥在本地构建的签名交易来支付费用,从而延长现有的资源代理(委托)。

这是一个完整的、可运行的示例,演示如何使用 v2 Extend Orders API 延长现有的资源代理(委托),同时通过本地用你的私钥签名的交易来支付费用。

整个流程包含两次 API 调用:

  1. POST /v2/get-extendable-delegates — 预估哪些代理(委托)可以延长,以及需要花费多少 TRX(totalEstimateTrx)。

  2. POST /v2/extend-request — 提交延长请求,并附上一笔向 TronSave 接收地址支付预估金额的 signedTx

在这两次调用之间,你需要用自己的私钥构建并签名一笔发往 TronSave 接收地址的 TRX 转账,因此 TronSave 永远不会持有你的资金。

本示例使用 TronWeb 来构建并签名转账。需要 TronWeb 5.3.2 版本

了解更多:https://tronweb.network/docu/docs/5.3.2/Release%20Note/

配置

在运行之前,请设置以下值:

常量
说明

TRONSAVE_API_URL

TronSave API 基础 URL。主网:https://api.tronsave.io

RECEIVER

接收延长后资源代理(委托)的地址。

RESOURCE_TYPE

ENERGYBANDWIDTH。可选 — 默认为 ENERGY

REQUESTER_ADDRESS

请求(并支付)延长费用的地址。

PRIVATE_KEY

REQUESTER_ADDRESS 的私钥,用于在本地签名 TRX 转账。

TRON_FULL_NODE

TronWeb 用于构建交易的 TRON 全节点(例如 https://api.trongrid.io)。

TRONSAVE_RECEIVER_ADDRESS

接收你付款的 TronSave 地址。主网:TWZEhq5JuUVvGtutNgnRBATbF8BnHGyn4S。测试网:TATT1UzHRikft98bRFqApFTsaSw73ycfoS

完整的主网和测试网端点列表请参阅 环境,端点详情请参阅 Extend Orders API 参考

完整示例

工作原理

  1. 预估。 GetEstimateExtendData 使用 extendToreceiverrequester、可选的 maxPriceAcceptedresourceType 调用 /v2/get-extendable-delegates。响应中包含 extendData(可延长的代理(委托))和 totalEstimateTrx(以 SUN 计的费用)。

  2. 签名。 如果 extendData 非空,GetSignedTx 会构建一笔从 REQUESTER_ADDRESS 发往 TRONSAVE_RECEIVER_ADDRESS、金额为 totalEstimateTrx 的 TRX 转账,并使用 PRIVATE_KEY 在本地对其签名。

  3. 提交。 SendExtendRequestextendDatareceiversignedTx 提交(POST)到 /v2/extend-request。成功时,响应中会包含一个 orderId

maxPriceAccepted 是你愿意为延长支付的价格上限(以 SUN 计)。如果订单簿价格超过该上限,extendData 中返回的代理(委托)可能会更少。

后续步骤

  • Extend Orders API 参考get-extendable-delegatesextend-request 的完整请求和响应结构。

  • 认证 — 将私钥/签名交易流程与 API 密钥流程进行对比。

  • 订单类型 — 了解延长订单与其他订单类型的关系。

Last updated