ENS:教程:如何在web应用程序中将ENS地址转换为ETH地址

在本教程中,我将向大家展示我能想到的最简单的例子,如何在web应用程序中将ENS地址转换为ETH地址。

知道如何做是很有价值的,因为大多数智能合约只接受ETH地址,而不接受ENS地址。

介绍

如何做到这一点的简单答案是,用户只需要从子图中查询数据。

有多种方法转换一个ENS地址:

1:使用ENS.js

NBA将在鲸探发行可变化数字藏品:4月8日消息,蚂蚁集团旗下鲸探App上架首个可变化数字藏品“NBA季后赛球场盲盒”。该款藏品形态可基于NBA赛事结果变化升级,用户还可根据链上地址在“区块链信息查询”中查看持有藏品的变化信息。鲸探平台信息显示,预计正式发售日期为4月14日和4月16日。

据了解,该款藏品将以4个盲盒的形式对外发售,每个盲盒内含4支进入NBA季后赛球队的球场模型,4个盲盒共内含16支获取季后赛资格的球队。每支球队藏品发售5000份,球队对应的数字藏品会跟随季后赛结果进行升级或者停止升级,具体来说,如果球队晋级则藏品升级,球队淘汰则停止升级。

此前4月4日消息,有媒体报道称鲸探将上架首个可变化数字藏品,并或将探索AIGC战略。[2023/4/8 13:51:59]

我曾经使用这个库来转换ENS地址。但是,它不适用于位于layer2的应用程序,所以我不会展示如何以这种方式进行操作。

外媒:FTX巴哈马公司仅在9个月内就在酒店、食品和旅游方面花费近4000万美元:1月9日消息,据Insider援引破产法庭文件披露,FTX的巴哈马公司仅在9个月内就在酒店、食品和旅游方面花费近4000万美元。其中超过1500万美元用于豪华酒店和住宿,580万美元用于度假胜地奥尔巴尼酒店(SBF和其他FTX、Alameda员工居住的豪华公寓大楼),约360万美元用于四星级酒店君悦酒店,还有80万美元花在五星级的瑰丽度假村,近700万美元用于餐饮和娱乐,其中约一半用于餐饮服务,近400万美元用于航班,超过50万美元用于邮资和送货。此外,律师还指出,加密货币交易所的巴哈马公司FTX Digital Markets在此期间没有产生任何客户收入。

该公司还为巴哈马员工提供了“为所有员工提供的全套汽车和汽油,以及前往全球任何办公室的无限制、全额费用旅行”。另据技术跟踪网站Growjo的数据,在申请破产之前,FTX拥有大约1310名员工,这意味着在九个月内,每位员工平均花费近12,000美元在酒店上。[2023/1/9 11:02:26]

2:使用ENS提供的去中心化子图

尼日利亚央行计划将数字货币eNaira交易费用降低50%:9月26日消息,近日,尼日利亚中央银行(CBN)宣布,计划将央行数字货币eNaira平台的交易费用降低50%,希望借此提升CBDC交易量,促进尼日利亚跨境贸易发展。The Continental Approach研究员Joshua Ogwu对这一消息持谨慎态度。他认为,e-Naira自推出以来,数字钱包下载量仅有84万,其中只有四分之一处于活跃状态,这与尼日利亚2.6亿多的人口总数规模相差甚远,所以上述计划能否产生预期效果还是未知。[2022/9/26 7:21:09]

这是最可靠的方法,因为它是去中心化的。然而,当我在ENSdiscord中询问时,他们说不要用这个。此外,每次用户在你的应用程序上查询这个子图时,你都要花钱——所以它不是免费的。我认为ENS计划告诉每个人使用这个子图,但我可能是错的,我不确定他们会等待什么。

NFT Worlds 将基于《我的世界》核心机制开发新的游戏和平台:7月23日消息,NFT Worlds 表示,为应对《我的世界》禁止客户端和服务器应用程序中集成区块链技术的规则,NFT Worlds 将基于《我的世界》核心机制,开发兼容《我的世界》插件等组件的新游戏和平台,新的游戏将参考《我的世界》但不会使用开源代码以防止违反相关法律。NFT Worlds 还表示,目前正在招募《我的世界》生态中的开发人员加入 NFT Worlds,在新游戏开发完成前,NFT Worlds 的启动器和游戏页面将继续保持开放。[2022/7/23 2:33:03]

3:使用ENS提供的中心化子图

这个子图是免费使用的,也是巴黎高等师范学院推荐人们使用的。这是我将教如何使用这里。

项目设置

以太坊信标链网络验证者总数量突破41万:7月22日消息,据 Ethereum 官方网站最新数据显示,以太坊信标链(The Beacon Chain)验证者总数量已突破 41 万,截止目前为 410,053 个。此外,以太坊信标链网络总质押量达到 13,810,117 枚 ETH,。按照当前 ETH 价格计算,信标链质押 ETH 总价值接近 220 亿美元。[2022/7/22 2:30:36]

首先,在本地克隆repo。然后,安装所有依赖项并运行本地服务器。如果要检查localhost,就应该在页面上看到一个输入。如果输入了一个有效的ENS地址,就将看到有效性和ETH地址正在浏览器控制台中登录,确认转换。

解释

既然你已经有了所有的代码,我将用本教程的剩余部分来解释它如何线性工作。

在主页上有一个输入(src/pages/index.tsx)。输入时,它设置inputAddress状态变量。

每当这个状态变量发生变化时,它都会被这里的useENSAddresshook检测到:

现在打开Reacthook的文件(src/components/useENSAddress.ts)。你可以看到它使用了里面的useEffect的hook。这个useEffect的依赖项列表中有一个inputAddress参数。这会导致useEffect主体在每次inputAddress改变时(通过用户输入)被调用。

useEffect(():any=>{...bodycodehere...},)

那么当调用useEffect的主体时会发生什么呢?几乎所有发生的都是run方法被调用。

run方法通过调用其他方法来设置ETH地址。让我们检查一下那个方法,因为它是调用堆栈中的下一个。

打开src/stores/ensStore.ts。里面是queryENSForETHAddress方法。

首先,它进行软检查,看看传入的值是否为ENS地址。

然后,它查询由HTTP_GRAPHQL_ENDPOINT定义的子图。为了获得我们想要的数据,我们需要创建一个graphql查询。这就是getQueryENSForETHAddress方法的作用。

现在转到那个方法。它正在查询子图以获取传入的ENS地址的数据。

如果你想知道我是怎么想通了如何创建此查询,那么你需要更多关于thegraph和graphql工作的知识。基本上,每个子图都有一个游乐场,我一直在摆弄它,直到我得到了所需的数据。

例如,在playground中,可以输入查询,然后按下播放键,以便查看返回的数据。

现在,如果返回到queryENSForETHAddress,你可以看到数据存储在result变量中:

return语句的基本意思是,ifvalidENSaddresspassedin,returntheETHaddress…otherwise,return0。你还会注意到返回的数据采用来自getQueryENSForETHAddress。

一旦它返回,它可以追溯到useEffect中useENSAddress.ts的文件和设置ethAddress状态变量。

然后,返回三个值:

return

第一个值表示传入的值是否有效。第二个值是从子图中检索到的ETH地址。第三个值表示这些值当前是否正在加载。

差不多就是这样了。完成这个过程后,我将这些值记录到主页上的控制台。

现在你已经知道如何将第一层和第二层的ENS地址转换为ETH地址。

Source:https://medium.com/coinmonks/how-to-convert-ens-address-to-eth-address-in-js-251c6209c208

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

LTC区块链:山西股权交易中心获批开展区块链建设试点

11月22日消息,中国证监会批准山西股权交易中心开展区块链建设试点工作。这对于山西股权交易中心利用区块链等新一代信息技术提升市场功能、引领业务发展、促进多层次资本市场建设具有重要意义.

[0:15ms0-1:13ms