区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > AVAX > 正文

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

作者:

时间:

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

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

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

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

1:使用ENS.js

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

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

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

Kevin O’Leary:加密采矿禁令将使纽约无法投资:金色财经报道,在纽约州议会考虑对其工作量证明(PoW)加密货币采矿业务实施两年暂停后不久,Shark Tank的Kevin O'Leary在CNBC视频中评论了 PoW 禁令对纽约州意味着什么。Kevin O'Leary表示,这样的事情不会对整个行业产生影响,因为比特币挖矿会继续进行,但这对纽约来说真的很糟糕。

O’Leary认为,大多数矿工更愿意使用纽约拥有丰富的水力发电,而不是更有害的碳燃烧电力,国家本身将从中获得大量税收和好工作,但他们所做的只是吓跑了资本。[2022/5/30 3:49:51]

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

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

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

BTC突破32900美元关口 日内涨幅为3.27%:火币全球站数据显示,BTC短线上涨,突破32900美元关口,现报32916.47美元,日内涨幅达到3.27%,行情波动较大,请做好风险控制。[2021/1/24 13:21:56]

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

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

每当这个状态变量发生变化时,它都会被这里的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

标签:ENSRESADDESSTENSHI币Doge Your Own ResearchDADDYDOGEethnographyinbusiness

AVAX热门资讯
Bitwise 发布 DeFi 展望:预测未来十年 DeFi 会像亚马逊一样颠覆市场

资产管理公司Bitwise发布了一份题为《去中心化金融(DeFi):专业投资者入门》的报告。报告指出,尽管数字技术重塑了许多行业,但并未重塑金融。 该报告称,借贷协议以及去中心化交易所 (DEX) 目前占 DeFi 活动的绝大部分,因为围绕该领域的监管在很大程度上仍不确定。

链游圈的Steam?爆火的Gala Games是什么?

11月30日,GALA/USDT的24小时成交额为2.4亿美元,在欧易成交榜中排第5。据行情数据显示,GALA代币价格在近几个月价格稳步上涨,并在11月中旬开始蓄力上涨,最高触达0.8427美元,从10月份至今增幅达790%。

区块链技术驱动苏州公证驶入发展“快车道”

《法治日报》记者近日获悉,江苏苏州在全国率先搭建的以公证业务为主导的“1+10+N”区块联盟链“苏州公证链”,目前已保存116063个区块,存证数量达674262条。

大热的“元宇宙”到底是个啥?中国军网智媒团队为你解开其面纱

仿佛在一夜之间,“元宇宙”突然间成为热词,相关概念形成很多热点话题。 随着扩展现实、数字孪生、3D渲染、云计算、人工智能、高速网络、区块链等技术的发展及终端设备的迭代,“元宇宙”建设和演变可能远超人们的预期,多维度、全感官、沉浸式的人机交互新互联网形态,将有望成为现实。 ■戴斌 熊雄 孙浩 “元宇宙”可让用户自由穿梭于现实世界和虚拟世界。

元宇宙刮起“炒房热”?一块虚拟土地被卖出千万元高价

随着全世界的人们对元宇宙的兴趣直线上升,一股“炒房热”的风潮也已经刮进元宇宙世界。 美东时间周二,在虚拟世界平台Decentraland里,一块数字土地被卖出243万美元的高价,再次刷新虚拟房产的价格纪录。

金色早报 | 俄罗斯议会成立加密货币监管工作组

头条 ▌俄罗斯议会成立加密货币监管工作组 11月26日消息,俄罗斯国家杜马议会现在正在组建一个工作组,将努力解决有关加密货币监管的悬而未决的问题。议会金融市场委员会主席Anatoly Aksakov透露,该工作组将在不久举行首次会议。他认为,加密货币的发行、流通、税收和运营存在“灰色地带”。