链资讯 链资讯
Ctrl+D收藏链资讯
首页 > 屎币 > 正文

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

作者:

时间:

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

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

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

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

1:使用ENS.js

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

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

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

俄罗斯封锁加密货币交易所OKX的网站:金色财经报道,根据俄罗斯国家媒体监管机构和互联网审查机构Roskomnadzor的记录,俄罗斯已经封锁了加密货币交易所OKX的网站。

根据Roskomnadzor的记录,OKX的网站由于俄罗斯联邦信息、信息技术和信息保护法第15.3条被封锁。(The block)[2022/10/6 18:40:33]

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

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

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

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

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

加拿大矿企HIVE Blockchain任命Aydin Kilic为总裁及首席运营官:8月19日,加拿大矿企HIVE Blockchain宣布已任命Aydin Kilic为总裁兼首席运营官。他将向执行主席Frank Holmes报告,同时监督在加拿大、冰岛和瑞典设施的所有运营活动。据悉,Aydin Kilic在加密货币、资本市场、房地产开发和科学研究方面有着专长,曾在2017年创建了比特币矿企Fortress Blockchain Corp。(雅虎财经)[2021/8/19 22:24:27]

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

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

useEffect((): any => { ...body code here... }, [inputAddress])

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

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

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

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

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

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

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

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

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

return语句的基本意思是,if valid ENS address passed in, return the ETH address…otherwise, return 0。你还会注意到返回的数据采用来自getQueryENSForETHAddress。

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

然后,返回三个值:

return [parseInt(ethAddress, 16) !== 0, ethAddress, isLoading]

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

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

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

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

标签:ESSDDRADDUSENecessary Genuine KeyDDR价格aladdingalaxyAHOUSE

屎币热门资讯
区块链的发展:仍然关注平台和市场

区块链市场不缺变化,有道是“链圈一天,互联网一年”。这当然不是说数字货币的价格波动剧烈,尽管事实上确实如此。这也更加体现在区块链新技术新概念的层出不穷。 过去的一年最让人振奋的似乎是在一些新的公链出台的基础上,似乎大家期待已久的应用的爆发开始了。从DeFi开始,到NFT的火爆,到如今的GameFi,SocialFi,元宇宙。

11月排名前十的名人NFT投资组合

本月哪些名人拥有最有价值的投资组合? 本月的十大名人NFT投资组合排行榜以一位新的头号人物为特色,这位头号人物是企业家和NFT爱好者Gary Vee。Gary Vee拥有价值超过1亿美元的NFT,其中大部分来自他自己的收藏Vee Friends,超过了上个月排名第一的Snoop Dogg。

“抗疫”区块链:新技术应用于社会治理的一次重要实践

新冠疫情是人类社会进入21世纪后经历的一场全球性的重大危机,其对全球现状与未来的改变已经不能简单地用“黑天鹅事件”来形容。 目前,疫情依旧在全球肆虐,多个国家的确诊病例和死亡病例仍然屡创新高。与此同时,全球社会与经济发展遭受重创,由疫情引发的供应链、国际贸易、经济往来与地缘格局已经悄然改变,并将对各领域产生长期的、难以忽视的影响。

12月加密板块轮动将会挪向何方? L2 和 DAO 或成最大看点

以太坊L2解决方案 Metaverse?元宇宙已经爆火过了,公链赛道竞争的热度也逐渐褪去,那下一步会是什么? 近期?Three Arrows?创始人 Su Zhu 引发的舆论口水战吸引了巨大的关注,这个故事很冗长,但简单来说就是:因为以太坊很慢,很贵,而且不好玩了,所以一部分无法真正参与游戏的用户很生气,开始吐槽以太坊目前的状况。

BSC 成为 GameFi 热土 链上“王炸”玩赚游戏一览

昨日,GameFi 再次成为加密社区的焦点,起因是币安智能链(BSC)的 GameFi 游戏龙头 Mobox 空投总价值高达 100 万美元的 NFT,随即该消息迅速扩散至整个加密社区,到处都充斥着邀请码,用户量激增,致使服务器都被卡爆,截止撰稿时,该活动的参与人数已到达 106 万人,并且势头还在继续扩散。

每次都能精准预测行业风向?知名研究机构Messari的创始人"有两把刷子"

区块链从业者几乎没人不知Messari,该公司以详尽的数据、超出行业局限眼光的前瞻性赢得了一大批拥趸。 作为Messari创始人的Ryan Selkis(瑞安·塞尔基斯)更以语不惊人死不休闻名行业,但偏偏他的每一个预测都奇准无比。因此,对于Messari创始人Ryan Selkis观点的探究同样也成了诸多初创项目的必修课。