我刚开始研究Ethash算法,我看到了这个:
s = sha3_512(header + nonce[::-1])问题是,在这里,现在是一个整数,他们使用[::-1]将它从大端到小端点进行位交换?我的问题是,python版本允许这样做吗?我测试的每一个都给了我一个未定义的__getitem__。我还想看看在哪种版本的python中我们可以操作这样的比特,我并不是在寻找另一种从大到小的endian转换,我只是想知道它们是如何工作的?
此外,在算法中,他们说他们通过这个sha3_512调用将头和现在组合成一个64位的种子。那么头头和现在应该如何呢?作为六角弦?整数?我应该把现在转换成一个十六进制字符串,这样它就可以很容易地添加到标题中了吗?在他们的算法中,这一行让我迷失了方向:
发布于 2016-10-06 16:38:57
问题是,在这里,现在是一个整数
我认为它实际上是bytes类型的--它不是像int那样的真正的数字类型。因此,在这里,nonce被视为一个字节数组。
那么头头和现在应该如何呢?作为六角弦?整数?
如上段所述。您可以尝试使用bytes()或bytearray()来转换所拥有的内容。
https://ethereum.stackexchange.com/questions/9033
复制相似问题