跳转至

java-tron HTTP API 文档

本目录收录 framework/src/main/java/org/tron/core/services/http/ 下 FullNode HTTP 接口的请求/响应文档。每个接口一个 markdown 文件,命名规则同 URL 末段(例如 /wallet/getnodeinfogetnodeinfo.md)。

未收录接口主要包括以下三个类别:

  • Exchange(DEX)类接口
  • Market(订单簿)类接口
  • Shielded(匿名交易)类接口

通用约定

  • Method:除少量纯查询接口同时支持 GET,多数 POST 接口仅接受 POST,请求体为 JSON。
  • visibletrue 时地址使用 base58check 字符串形式,URL/描述等文本字段使用 UTF-8 字符串;false(默认)时使用 hex 字符串。
  • 构造类接口返回未签名的 protocol.Transaction,需调用方本地签名后通过 /wallet/broadcasttransaction/wallet/broadcasthex 广播。
  • permission_id:交易构造接口可选;用于多签账户指定使用哪个 Permission
  • 金额单位:除 TRC10 数量按发行精度外,其他金额一律为 sun(1 TRX = 1e6 sun)。

异常响应

HTTP 状态码在绝大多数情况下都是 200(业务错误也通过响应体表达),客户端必须解析响应体判断成败。已知例外:

  • 接口被节点配置 disabledApiList 显式禁用时,由 HttpApiAccessFilter 直接返回 HTTP 404,响应体 {"Error": "this API is unavailable due to config"}
  • 节点以 lite fullnode 模式启动且未开启 openHistoryQueryWhenLiteFN 时,由 LiteFnQueryHttpFilter 对约 24 个历史查询接口(getblockbynum / gettransactionbyid / gettransactioninfobyid / gettransactioninfobyblocknum / getblockbyid / getblockbylatestnum / getblockbylimitnext / gettransactioncountbyblocknum 等)返回 HTTP 200,但响应体是裸字符串 this API is closed because this node is a lite fullnode非 JSON),客户端朴素 JSON.parse 会抛错,需先按字符串前缀识别。
  • 其它由 servlet 容器/反向代理产生的网络层错误(502、504、连接拒绝等)不在本文档范围。

账户

接口 说明
/wallet/getaccount 按地址查询账户
/wallet/getaccountbalance 查询账户在指定区块的余额
/wallet/getaccountnet 查询账户带宽资源
/wallet/getaccountresource 查询账户带宽+能量+TronPower
/wallet/createaccount 链上创建账户(需消耗 1 TRX)
/wallet/updateaccount 修改账户名
/wallet/accountpermissionupdate 配置多签权限
/wallet/validateaddress 校验地址合法性

区块 / 交易查询

接口 说明
/wallet/getnowblock 当前最新区块
/wallet/getblock 通用区块查询(按 num/hash)
/wallet/getblockbynum 按高度查询区块
/wallet/getblockbyid 按 hash 查询区块
/wallet/getblockbylimitnext 按区间查询区块
/wallet/getblockbylatestnum 查询最近 N 个区块
/wallet/getblockbalance 查询区块的账户余额变更
/wallet/gettransactioncountbyblocknum 区块内交易数
/wallet/gettransactionbyid 按 txid 查询交易
/wallet/gettransactioninfobyid 按 txid 查询交易回执
/wallet/gettransactioninfobyblocknum 按区块查询交易回执
/wallet/getpendingsize 待打包交易池大小
/wallet/gettransactionfrompending 查询单条 pending 交易
/wallet/gettransactionlistfrompending 全部 pending 交易 ID

交易构造 / 广播

接口 说明
/wallet/createtransaction 构造 TRX 转账交易
/wallet/getsignweight 查询多签当前权重
/wallet/getapprovedlist 查询多签已签署地址
/wallet/broadcasttransaction 广播签名后的交易(JSON)
/wallet/broadcasthex 广播签名后的交易(hex)

TRC10 资产

接口 说明
/wallet/createassetissue 发行 TRC10 通证
/wallet/updateasset 修改 TRC10 描述/URL/限额
/wallet/transferasset 转账 TRC10
/wallet/participateassetissue 参与 TRC10 募资
/wallet/unfreezeasset 解锁发行方冻结的 TRC10
/wallet/getassetissuebyid 按 id 查询 TRC10(推荐)
/wallet/getassetissuebyname 按名查询 TRC10(重名报错)
/wallet/getassetissuelistbyname 同名 TRC10 列表
/wallet/getassetissuebyaccount 账户发行的 TRC10
/wallet/getassetissuelist 全网 TRC10 列表
/wallet/getpaginatedassetissuelist 分页 TRC10 列表

智能合约

接口 说明
/wallet/deploycontract 部署合约
/wallet/triggersmartcontract 触发合约(写)
/wallet/triggerconstantcontract 只读调用合约
/wallet/estimateenergy 预估调用能量消耗
/wallet/getcontract 查询合约元信息
/wallet/getcontractinfo 查询合约完整运行信息
/wallet/clearabi 清空合约 ABI
/wallet/updatesetting 修改用户能量百分比
/wallet/updateenergylimit 修改部署者能量上限

见证人 / 治理

接口 说明
/wallet/createwitness 申请成为 SR 候选人
/wallet/updatewitness 修改 SR URL
/wallet/listwitnesses 所有 SR 候选人列表
/wallet/getpaginatednowwitnesslist 分页 SR 列表
/wallet/votewitnessaccount 给 SR 投票
/wallet/getBrokerage SR 当前佣金比例
/wallet/updateBrokerage SR 修改佣金
/wallet/getReward 查询可领取分红
/wallet/withdrawbalance 提取出块奖励/分红
/wallet/proposalcreate 创建链参数提案
/wallet/proposalapprove SR 对提案投票
/wallet/proposaldelete 撤销自己的提案
/wallet/listproposals 提案列表
/wallet/getproposalbyid 按 ID 查询提案
/wallet/getpaginatedproposallist 分页提案列表
/wallet/getchainparameters 链参数当前值
/wallet/getnextmaintenancetime 下次维护期时间

质押 1.0(仅保留解冻与查询)

提案 #70 UNFREEZE_DELAY_DAYS 通过后(主网已生效),新的 V1 冻结会被链拒绝;解冻与查询接口保留,用于处理存量仓位。

接口 说明
/wallet/freezebalance 冻结 TRX 获取资源(V1,链已拒绝新请求
/wallet/unfreezebalance 解冻已到期资源(V1,仍可用于存量解冻)
/wallet/getdelegatedresource 查询代理记录(V1,只读)
/wallet/getdelegatedresourceaccountindex 查询代理对手地址(V1,只读)

质押 2.0

接口 说明
/wallet/freezebalancev2 冻结 TRX 获取资源
/wallet/unfreezebalancev2 发起解冻(14 天等待)
/wallet/withdrawexpireunfreeze 提取已到期解冻
/wallet/cancelallunfreezev2 取消所有未到期解冻
/wallet/delegateresource 资源代理给他人
/wallet/undelegateresource 撤销资源代理
/wallet/getdelegatedresourcev2 查询代理记录
/wallet/getdelegatedresourceaccountindexv2 查询代理对手地址
/wallet/getcandelegatedmaxsize 当前可代理上限
/wallet/getavailableunfreezecount 剩余可解冻次数
/wallet/getcanwithdrawunfreezeamount 指定时间可提取金额

节点 / 价格 / 工具

接口 说明
/wallet/getnodeinfo 节点状态(亦 /monitor/getnodeinfo
/wallet/listnodes 已知对等节点(亦 /net/listnodes
/wallet/getenergyprices 能量历史单价
/wallet/getbandwidthprices 带宽历史单价
/wallet/getburntrx 累计销毁 TRX