首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >您应该使用keecak256在ENS中散列标签吗?

您应该使用keecak256在ENS中散列标签吗?
EN

Ethereum用户
提问于 2022-11-16 16:12:10
回答 1查看 51关注 0票数 0

我很好奇,您将如何实现一个智能契约,注册一个(子)域在ens上。我找到的文档都指定ENS使用SHA3对域进行散列。我认为Keecak256应该等同于SHA3。然而,在这个论坛上有几个问题(这里这里这里)证明是相反的。另外,查看keecak256sha3的在线散列输出,我看到相同输入的不同输出。

关于如何实现我发现的名称散列算法的伪代码,这里如下所示:

代码语言:javascript
运行
复制
def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))

到目前为止,我的理解是,稳健的Keecak256应该具有与SHA3相同的结果。因此,我应该像这样使用Keecak256而不是SHA3实现这个名称散列算法。但是,由于这似乎没有产生正确的结果,那么如何正确地实现这个算法呢?

EN

回答 1

Ethereum用户

发布于 2022-11-16 18:33:39

SHA3和Keccak256是不同的哈希算法。您可以使用keccak256函数散列ENS中的标签。我认为,在可靠的情况下,正确地实现名称散列算法如下:

ENS:如何从智能契约中的名称中计算名称哈希?

https://github.com/JonahGroendal/ens-namehash

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

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

复制
相关文章

相似问题

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