Как декодировать base64 из ответа GET tx от тендерминта

Я запросил результат транзакции, используя:

http://localhost:26657/tx?hash=0x43B8422E9FD4FD4A01213772E989CDA5F36103A0EA679B95932052B20C016267

а затем получить содержимое транзакции «tx» в возвращенном объекте JSON.

rgEoKBapCjZS59jqCgpnb29nbGUuY29tEg4KCW5hbWV0b2tlbhIBNRoUr67sqicZ8wXbWkNLD8E6c0TGM/YSBBDAmgwaagom61rphyEC6ICqudQCIugpL8NEvi6Fblxk+ZB+51T+NUDg0WdMQCUSQG0z4HhxINONIjPcQc/GDyVOjU9CRovZaT3GxcekSvN6SBQx94xgwMkq7EqivCxSqYB/TDC0Gp5Z/6z2+Z4Km3k=

I decoded this with

base64.StdEncoding.DecodeString(base64Str)

а затем он напечатал следующий результат

�((� 6R���

google.com ┼▒└␊├⎺┐␊┼5���'��ZCK�:sD�3��� j &�Z�!耪��"�)/�D�.�n\d� �~�T�5@��gL@%@m3�xq Ӎ"3�A��%N�OBF��i=��ǤJ�zH1��`��*�J��,R�� L0��Y������ �г

Как правильно расшифровать транзакцию?


person godvlpr    schedule 02.08.2019    source источник
comment
stackoverflow.com/questions/15334220/encode-decode-base64 работает для тебя?   -  person Manjeet Thakur    schedule 02.08.2019
comment
Манджит Тхакур, нет, я уже пробовал, я думаю, что это base64 что-то еще закодировано   -  person godvlpr    schedule 02.08.2019
comment
BDW Ваш вывод правильный.   -  person Manjeet Thakur    schedule 02.08.2019
comment
Нет, я думаю, что вывод тоже можно закодировать   -  person godvlpr    schedule 02.08.2019
comment
Если DecodeString не возвращает ошибку, это означает, что это удалось, верите вы в это или нет. Что заставляет вас думать, что это не работает?   -  person Peter    schedule 02.08.2019
comment
Потому что я жду читаемый JSON, но у меня много неправильных символов   -  person godvlpr    schedule 02.08.2019
comment
Ваш код Go в порядке, просто строка rgEoK [..] m3k= не является данными JSON. Либо у вас где-то в коде ошибка, либо проблема с Tendermint API. Было бы полезно иметь полный код Go (минимальный воспроизводимый пример).   -  person Martin Tournoij    schedule 03.08.2019
comment
Я решил эту проблему. API-интерфейс Tendermint отправил закодированную строку, и перед декодированием с помощью base64 я должен декодировать эту строку с помощью кодека тендерминта, потому что я использовал Cosmos SDK, и это сообщение было закодировано, когда я отправлял транзакцию с помощью инструментов Cosmos SDK.   -  person godvlpr    schedule 04.08.2019