我希望能夠確定給定的散列表示塊,塊高度或交易。比特幣塊和交易正則表達式
我知道塊就像^ [0-9] + $,並且^ 0 $是有效的,因爲它是起始塊。 我知道的塊是在與64的長度base58和通常以0開始 我知道事務是在base58與64
的長度現在我結束了與正則表達式:
- 塊高:^(0 | [1-9] [0-9] *)$
- 塊哈希:^ 0 + [BASE58] {63} $
- 事務哈希:^ [BASE58] {64} $
但我發現了一些交易與領先0,所以我想這不是比特幣協議的一部分,只有塊以0開頭。 我還運行了難度爲1的regtest本地(假)網絡,並且所有塊都不以0開頭。
是否有任何可靠的方法,最有可能使用正則表達式來區分塊散列與事務散列?
不知道比特幣,但你可能應該刪除塊哈希正則表達式中的「+」,否則它會在開始時允許多個零,並且之後仍然有63個base58字符。 –
比特幣的難度通過尋找帶前導零的散列來挖掘塊,所以這是故意的。但是這個正則表達式導致我暴露的問題。 – shkschneider
如果它不是每個單獨散列的區分塊和事務的模式,那麼它肯定是順序,我想。你如何區分它們(視覺上)? – wp78de