Ripple

Ripple:如何計算交易 ID(TXID)

  • November 26, 2018

給定一個已簽名的 Ripple 交易,我如何計算 txid?

交易 ID 的計算方法是將字節 0x54、0x58、0x4e、0x00 附加到已簽名的交易中,然後取該輸入的 SHA512Half。

簽名交易的範例,字節表示為十六進製字元串:

txBlob = "120000228000000024000000026140000000017d64b86840000000000013887321032c03bf7001689bebbb90e79c42deb99bf71be31f7460c1ce66a244635417b35a7446304402205ec87865bb0da66d71d0700ee2dfb901b458da4d32f43a51cf22f331273022d9022013dcb672d61eb53d28cd0c4069a0d12c03c70efc304d65b3665d8ba76c3477288114985d8d3734809d8be363675897ae4a711f1be06483144a3031789de7672be61cb3a5d200ecee0b8e462f"

插入前綴產生

txid = SHA512Half("54584E00120000228000000024000000026140000000017d64b86840000000000013887321032c03bf7001689bebbb90e79c42deb99bf71be31f7460c1ce66a244635417b35a7446304402205ec87865bb0da66d71d0700ee2dfb901b458da4d32f43a51cf22f331273022d9022013dcb672d61eb53d28cd0c4069a0d12c03c70efc304d65b3665d8ba76c3477288114985d8d3734809d8be363675897ae4a711f1be06483144a3031789de7672be61cb3a5d200ecee0b8e462f")

txid = "7ca5f7064a4054f0f0687431f5bac32798e06e51b51539687140ac6b5e82f9c7"

SHA512Half 是 SHA512 輸出的前 32 個字節。

上面的範例交易可以在這裡找到:

引用自:https://bitcoin.stackexchange.com/questions/81371