Transactions

Abe 或任何區塊鏈瀏覽器如何確定交易規模?

  • August 22, 2018

我再次查看安倍密碼,遇到了一個絆腳石。我無法理解這是如何準確的:

tx['size'] = len(tx['tx'])

事務大小只是原始事務字元串的長度?我不認為該字元串的 1 個字元等於一個字節。

編輯:在使用一個簡單的 python 命令行程序進行修改時,我能夠確定塊大小實際上是原始事務字元串長度的一半。我也發現了這個:

<http://en.wikipedia.org/wiki/Hexadecimal>

每個十六進制數字代表四個二進制數字(位),十六進製表示法的主要用途是在計算和數字電子設備中以人類友好的方式表示二進制編碼值。一個十六進制數字代表一個半字節,它是八位字節或字節(8 位)的一半。

雖然它仍然沒有回答問題,但為什麼 ABE 原始碼中的大小不被二除?

您正在查看的是一串十六進製字元的長度。當表示數據有一個十六進製字元串時,一個字節用兩個字元表示。但是,該軟體不會將塊或交易數據儲存為十六進製字元串,它只是將其儲存為字節數組,稍後將其表示為十六進製字元串,每個字節有 2 個字元。所以當軟體獲取交易的大小時,它只是獲取儲存在數組中的字節數,並且由於每個字節對應十六進制的2個字元,所以當你獲取十六進製字元串時,十六進製字元串將是兩倍長塊或交易實際的字節數。

每個字節是 8 位 - 所以為了以十六進制顯示單個字節,我們必須看到兩個字元。然而,當你得到一個字元串的長度時,你得到的是字元串中的字節數,而不是它的十六進制等價物——明白嗎?因此,沒有必要除以二。如果您將字元串轉換為十六進制,那麼是的 - 十六進製字元串將是兩倍大小,但這不是您想要的。

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