How to convert txRaw to txHash in cosmos-sdk?

1.3k Views Asked by At

i am using api Cosmos SDK "https://api.cosmos.network/blocks/9888530" to get 1 block details

i get it txRaw: "CpMBCpABChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEnAKLWNvc21vczF0NXUwamZnM2xqc2pyaDJtOWU0N2Q0bnkyaGVhN2VlaHhyemRnZBItY29zbW9zMTNseWxmbHVzYTRwYXRtbDBsamt1ZzRsNjR4NXlsNDYwMzMwa2FlGhAKBXVhdG9tEgcyMDAwMDAwEmkKUgpGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQLqGodLEwWelzPDXpDLKlhlpGtk7ZDSVVR8B8pSOSf8YhIECgIIfxjw3iISEwoNCgV1YXRvbRIEMjUwMBCImAUaQNksf4cmAZodzcIEOwNNlFkK1zxGmE3Rtc2/f3JfIqG9HrbeVJhWjrIWizhmwGCYjhcbjpFpX8vCgGEwAyquwaM="

How can i convert txRaw to txHash to use api get detail transaction has : https://api.cosmos.network/cosmos/tx/v1beta1/txs/8689064A44E7F2D6131ED15D014938EB772FD4DFD4348A71F525578E2895D612 Thanks for your help!

2

There are 2 best solutions below

0
On

I found the answer hope it helps someone, simple is :

const txHash = sha256(Buffer.from(txRaw,'base64'))

0
On

Thanks for you question and answer. But for me only toHex return correct hash:

const { sha256 } = require("@cosmjs/crypto")
const { toHex } = require("@cosmjs/encoding")

const txRaw = "<raw>"

const txHash = toHex(sha256(Buffer.from(txRaw,'base64')))

console.log(txHash)

Maybe it will be useful for someone...