接口

把官方文档中的所有http接口整理成了postman的形式,方便自己调试使用。

postman接口.jpg

使用http接口的话,需要注意的是,在代码中一个流程就可以完成的事情,在http接口下,需要一步一步执行。

比如创建一笔交易,需要调几次接口:

  1. createtransaction
  2. gettransactionsign
  3. 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