Python
Python bitswap // Ethash 算法
我剛開始研究 Ethash 算法,我看到了這個:
s = sha3_512(header + nonce[::-1])
問題是,nonce 是一個整數,他們曾經
[::-1]
將它從大端位交換到小端位?我的問題是什麼 python 版本允許這樣做?我測試的每一個都給了我一個__getitem__
未定義的。我也想看看在哪個版本的python中我們可以像這樣操作位,我不是在尋找替代的大端到小端轉換,我只是想知道他們是如何做到這一點的?此外,在算法中,他們說他們通過這個
sha3_512
呼叫將 header 和 nonce 組合成一個 64 位種子。那麼 header 和 nonce 應該如何呢?作為十六進製字元串?整數?我應該將 nonce 轉換為十六進製字元串,以便可以輕鬆地將其添加到標題中嗎?這條線讓我在他們的算法中迷失了:/
問題是,nonce 是一個整數
我認為它實際上是類型
bytes
- 它不是真正的數字類型int
。所以這裡nonce
被視為一個字節數組。那麼 header 和 nonce 應該如何呢?作為十六進製字元串?整數?
如上。您可以嘗試使用
bytes()
orbytearray()
來轉換您擁有的內容。