Как протолкнуть транзакцию в EOS?
Итак, во-первых, я сделал пост-запрос "get_info", чтобы проверить последний необратимый блок: вот скриншот
Затем я проверил информацию об этом блоке с помощью пост-запроса "get_block": вот скриншот
а затем я попытался создать "push_transaction" по запросу: вот скриншот
И, как вы можете видеть, есть ошибка. Итак, как это сделать правильно? Извините за мой английский:)
1 ответ
Перед тем, как нажать транзакцию, сначала нужно ее подписать. Для этого вам нужно собрать объект транзакции следующим образом:
{
"code": "eosio.token",
"action": "transfer",
"args": {
"from": "fromaccount",
"to": "toaccount",
"quantity": "1.0000 EOS",
"memo": "memo"
}
}
Затем вызовите конечную точку abi_json_to_bin с вышеуказанной полезной нагрузкой, которая вернет объект json, подобный этому:
{
"binargs": "0000000000ea305500000000487a2b9d102700000000000004454f53000000001163726561746564206279206e6f70726f6d"
}
С этим вы можете создать свой объект push_transaction, он будет выглядеть примерно так:
{
"compression": "none",
"transaction": {
"expiration": "2018-08-01T06:11:23",
"ref_block_num": 10855,
"ref_block_prefix": 473148127,
"max_net_usage_words": 0,
"max_cpu_usage_ms": 0,
"delay_sec": 0,
"context_free_actions": [],
"actions": [{
"account": "eosio.token",
"name": "transfer",
"authorization": [{
"actor": "fromaccount",
"permission": "active"
}],
"data": "0000000000ea305500000000487a2b9d102700000000000004454f53000000001163726561746564206279206e6f70726f6d"
}],
"transaction_extensions": [],
"signatures": null,
"context_free_data": []
},
"signatures": ["SIG_K1_JwLVG5pRdhvLfJGWkDEBPa7wdLbNeqeRFdvFrKDEryahSwCRpPb75m4auZh8frq6cXsm3dHit8GMbmuuBWxEjH"]
}
Вы можете прочитать более подробно об этом здесь.