接口
把官方文档中的所有http接口整理成了postman的形式,方便自己调试使用。
使用http接口的话,需要注意的是,在代码中一个流程就可以完成的事情,在http接口下,需要一步一步执行。
比如创建一笔交易,需要调几次接口:
createtransaction
gettransactionsign
broadcasttransaction
这个和使用 wallet-cli 工具不同的的,wallet-cli 在一次交易构建中,在一次方法内,完成了这三步的操作。
构建交易示例
构建一笔交易 createtransaction
构建一笔交易,需要拿到返回的结果、加私钥生成签名。
1 2 3 4 5
| { "to_address": "410932AD502E8AB6CE4B7E0E8D52D78BAA231C00B6", "owner_address": "41AF71E98F91515D7E5D5379837B9EEFD1AB4650D2", "amount": 9999000000 }
|
生成签名 gettransactionsign
transaction
的部份就是上一个接口执行的结果,带入到这个接口当中进行签名。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| { "transaction": { "txID": "4dffedb56b125c5dc3d49aabd9d5af7abf01b533e4aade5eac519fe121697345", "raw_data": { "contract": [ { "parameter": { "value": { "owner_address": "418f0078f2bcf4c45305ca204ef309b3ae8261b731", "url": "007570646174654e616d6531353330363038383733343633" }, "type_url": "type.googleapis.com/protocol.WitnessCreateContract" }, "type": "WitnessCreateContract" } ], "ref_block_bytes": "3a0b", "ref_block_hash": "269c9ae280d8bad0", "expiration": 1652945508000, "timestamp": 1652345508695 } }, "privateKey": "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest" }
|
广播交易 broadcasttransaction
把交易广播上链,这样这笔交易如果执行成功,就会上链。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| { "signature": [ "97c825b41c77de2a8bd65b3df55cd4c0df59c307ce42321dcc1cc455ddba583dd9502e17cfec5945b34cad0511985a6165999092a6dec84c2bdd97e649fc01" ], "txID": "454f156bf1256587ff6ccdbc56e64ad0c51e4f8efea5490dcbc720ee606bc7b8", "raw_data": { "contract": [ { "parameter": { "value": { "amount": 1000, "owner_address": "41e552f6487585c2b58bc2c9bb4492bc1f17132cd0", "to_address": "41d1e7a6bc354106cb410e65ff8b181c600ff14292" }, "type_url": "type.googleapis.com/protocol.TransferContract" }, "type": "TransferContract" } ], "ref_block_bytes": "267e", "ref_block_hash": "9a447d222e8de9f2", "expiration": 1530893064000, "timestamp": 1530893006233 } }
|
postman 的接口json,我整了一份:java-tron-postman.json
参考链接
tron HTTP API