【问题标题】:Transaction decoding result garbled事务解码结果乱码
【发布时间】:2018-03-24 11:49:07
【问题描述】:

我使用以下方式查询交易结果:

curl http://localhost:3000/tendermint/tx?hash=0xCDD76608F774BD29CDED2EBD30E94FB66CEF73A9

然后在返回的 JSON 对象中获取交易内容 'tx'。

// tx was extracted from the above returned JSON object
let tx = 'AAABF3siZnJvbSI6eyJhbW91bnQiOjEwMCwicHVia2V5IjoiOmJhc2U2NDpBNmZUNjFvRnlLNG1HZExnd21xSU5ubE55c1NIQ1BDRm9vb2Jod1BTamY2UCIsInNlcXVlbmNlIjowLCJzaWduYXR1cmUiOiI6YmFzZTY0OjFGdmZvZUlLTWlDd1A2NE9IVHd2MHhjeGk3elVBRUNRTkc1NnpnR1lYdkV2UEMvallTcGUvZjVsM0pjRHRNQUl0bHNZMGtrSEZrbHNxTW82Tm9Qa0xBPT0ifSwidG8iOlt7ImFkZHJlc3MiOiJEVkFTNnFzSkxQM3lkUFd0UndkaXNIaXFmVkdtYW1UWVkiLCJhbW91bnQiOjEwMH1dfQAACMs'

我用它解码了

let value = Buffer.from(tx, 'base64').toString('utf-8')
console.log(value)

然后它打印以下结果,其中最后包含乱码:

{"from":{"amount":100,"pubkey":":base64:A6fT61oFyK4mGdLgwmqINnlNysSHCPCFooobhwPSjf6P","sequence":0,"signature":":base64:1FvfoeIKMiCwP64OHTwv0xcxi7zUAECQNG56zgGYXvEvPC/jYSpe/f5l3JcDtMAItlsY0kkHFklsqMo6NoPkLA=="},"to":[{"address":"DVAS6qsJLP3ydPWtRwdisHiqfVGmamTYY","amount":100}]�

解码交易的正确方法是什么?

----------更多细节----------

我正在使用 Lotion 来构建我的应用程序。 非常感谢 Chandrika 的回答。

【问题讨论】:

  • 如何对交易进行编码?
  • 你在用乳液吗?
  • @Chandrika 是的,我正在使用乳液。抱歉,我没有意识到这个问题的原因是乳液。

标签: javascript tendermint


【解决方案1】:

如果您使用的是Lotion,您可以按照以下步骤获取解码后的交易。

let encodeTx = require('./tx-encoding.js')

let bf = Buffer.from(tx, 'base64')
let txn = encodeTx.decode(bf)

tx 的位置:通过查询tendermint 获得的编码 tx。 txn 将是所需的解码交易。

【讨论】:

    猜你喜欢
    • 2020-06-12
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 2011-11-26
    • 2013-04-27
    相关资源
    最近更新 更多