Блокчейн TRON: создать, подписать и транслировать транзакцию через API узла publi c - PullRequest
0 голосов
/ 01 августа 2020

Im php разработчик и пытается транслировать транзакцию tron. пожалуйста, не советуйте мне java libs. Я думаю, что эту операцию можно выполнить с помощью вызовов API.

я понимаю 3 шага: создать, подписать и передать

шаг 1 : использовать https://api.trongrid.io/wallet/createtransaction и получите результат raw_data_hex: 0a02df8d22080ffa79d7279ecb2a40a88bc8d9ba2e5a65080112610a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412300a1541e3b634e89a3edd652651b5c775870fc364cf2a061215413131e7dd9fe0ce528f9d86036fcfef56967d8807180170ecc8c4d9ba2e

шаг 2 : создать знак по шагам из https://developers.tron.network/docs/account#signature результат: 6bca53954ac706ddf59745e0e9d09e7c3709e58d1bdf35a06d0b974c1eaa0eca695d7b2aecd7200988f415a447e70064939ba56a6dd3c71725c547f3452ffaef00

и «Добавить эту подпись обратно в транзакцию»: 0a02df8d22080ffa79d7279ecb2a40a88bc8d9ba2e5a65080112610a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412300a1541e3b634e89a3edd652651b5c775870fc364cf2a061215413131e7dd9fe0ce528f9d86036fcfef56967d8807180170ecc8c4d9ba2e6bca53954ac706ddf59745e0e9d09e7c3709e58d1bdf35a06d0b974c1eaa0eca695d7b2aecd7200988f415a447e70064939ba56a6dd3c71725c547f3452ffaef00

шаг 3 : передать это https://api.trongrid.io/wallet/broadcasthex результат: {"Error":"class com.google.protobuf.InvalidProtocolBufferException : While parsing a protocol message, the input ended unexpectedly in the middle of a field. This could mean either that the input has been truncated or that an embedded message misreported its own length."}

что я сделал не так?

также я пытался использовать https://api.trongrid.io/wallet/gettransactionsign только с двумя параметрами raw_data_hex и privateKey (я думаю, этого достаточно, чтобы подписать), но получил ошибку: {"Error":"class java.lang.NullPointerException : null"}

im confused ...

PS ГЛАВНЫЙ вопрос: как подготовить / собрать данные для передачи в API / wallet / broadcasthex ?

1 Ответ

0 голосов
/ 12 августа 2020

Protobuf должен обрабатываться библиотеками protobuf. Используйте метод получения / настройки поля. Не двоичное выражение.

...