首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python位交换// Ethash算法

Python位交换// Ethash算法
EN

Ethereum用户
提问于 2016-10-05 08:41:52
回答 1查看 478关注 0票数 4

我刚开始研究Ethash算法,我看到了这个:

代码语言:javascript
复制
s = sha3_512(header + nonce[::-1])

问题是,在这里,现在是一个整数,他们使用[::-1]将它从大端到小端点进行位交换?我的问题是,python版本允许这样做吗?我测试的每一个都给了我一个未定义的__getitem__。我还想看看在哪种版本的python中我们可以操作这样的比特,我并不是在寻找另一种从大到小的endian转换,我只是想知道它们是如何工作的?

此外,在算法中,他们说他们通过这个sha3_512调用将头和现在组合成一个64位的种子。那么头头和现在应该如何呢?作为六角弦?整数?我应该把现在转换成一个十六进制字符串,这样它就可以很容易地添加到标题中了吗?在他们的算法中,这一行让我迷失了方向:

来源:https://github.com/ethereum/wiki/wiki/Ethash

EN

回答 1

Ethereum用户

回答已采纳

发布于 2016-10-06 16:38:57

问题是,在这里,现在是一个整数

我认为它实际上是bytes类型的--它不是像int那样的真正的数字类型。因此,在这里,nonce被视为一个字节数组。

那么头头和现在应该如何呢?作为六角弦?整数?

如上段所述。您可以尝试使用bytes()bytearray()来转换所拥有的内容。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/9033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档