宇宙链 宇宙链
Ctrl+D收藏宇宙链

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

作者:

时间:1900/1/1 0:00:00

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

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

介绍

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

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

1:使用ENS.js

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

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

Argent将使用Token Flow数据分析涉及Argent钱包的活动:金色财经报道,区块链数据平台Token Flow宣布与以太坊智能合约钱包Argent达成合作。Argent将使用Token Flow对StarkNet、以太坊以及未来其他链的完全可查询历史来分析涉及Argent钱包的链上活动。Token Flow能够对其以太坊和StarkNet数据集进行改进。[2023/3/8 12:49:01]

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

区块链安全平台Ironblocks宣布完成700万美元种子轮融资:金色财经报道,区块链网络安全平台Ironblocks完成700万美元种子轮融资,本轮融资由Collider Ventures和Disruptive AI共同领投,Samsung Next、Quantstamp 和 ParaFi 等参投,个人投资者包括 Coinbase 前首席技术官 Balaji Srinivasan 和 Simplex 联合创始人 Nimrod Lehavi 等。[2023/2/15 12:09:11]

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

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

DCG首席执行官Barry Silbert更新股东信息,称公司将“变得更强大”:金色财经报道,Digital Currency Group创始人兼首席执行官Barry Silbert周二向股东表示,在媒体报道其Genesis部门可能面临破产的一天后,公司将走出当前的困境,并变得更加强大。Barry在给客户的报告中写道,Genesis的借贷业务Genesis Global Capital在市场动荡引发前所未有的提款请求后,于11月16日星期三暂停赎回和新贷款发放。Genesis领导层及其董事会决定聘请财务和法律顾问,该公司正在探索FTX内爆带来的影响中的所有可能选择。

DCG目前对Genesis Global Capital负有约5.75亿美元的债务,将于2023年5月到期。这些贷款用于为投资机会提供资金并回购DCG先前在季度股东更新中突出显示的二级交易中来自非雇员股东的股票。

首席执行官Barry Silbert表示,尽管行业环境艰难,但我对未来几十年加密货币和区块链技术的潜力一如既往地感到兴奋,DCG决心保持领先地位。[2022/11/23 7:58:32]

项目设置

欧洲央行管委:需要更多的加息来应对通胀风险:金色财经报道,欧洲央行管理委员会成员Klaas Knot表示,欧洲央行必须进一步提高利率,以防止创纪录的欧元区通胀蔓延到工资中,这强化了本周历史性加息后的鹰派信息。

Knot称,周四加息75个基点的举措是一个“强有力的大信号,但接下来应该采取更多措施”。

有迹象表明,官员们可能会在10月份开会时再次进行如此规模的加息,一些经济学家也预测会出现这种结果。

他说:“欧洲央行上调政策利率以平息商业周期并保持通胀预期稳定。我们将继续这样做,直到通胀前景稳定在我们的2%中期目标附近。”(彭博社)[2022/9/9 13:19:37]

首先,在本地克隆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

来源:金色财经

标签:ENSRESADDESSConsensus Cell NetworkIntegral ResistanceDADDYFEG币CHESS价格

币安app官方下载最新版热门资讯
链游的收益风险如何把控和如何选择游戏

最近链游很火,所以很多人在好奇链游到底是什么。现在简单的介绍下链游。从上半年的NFT元宇宙到Axie链游的爆火,以至于到现在的风口,用通俗易懂的文字去解释链游就是区块链游戏,玩家可以在游戏中一边玩一边赚钱,不仅能在游戏中体验游戏乐趣,

1900/1/1 0:00:00
Premia期权生态进展不断,发展潜力可期

目前,衍生品板块也成为了DeFi生态中,发展较为迅速的赛道之一,除了合成资产赛道的Synthetix、UMA等成员外,还有主打合约的DYDX、Perp,以及以期权为定位的Opyn、Premia平台等.

1900/1/1 0:00:00
从不同的角度看 比特币网络距离Visa、万事达卡还有多远?

原文来源|Blockdata 编译整理|白泽研究院 自2009年成立以来,比特币网络的正常运行时间高达99.987%。在这12年中,它发展迅速,以至于每天处理数十亿美元的交易额.

1900/1/1 0:00:00
北京日报 北京关于加快建设全球数字经济标杆城市实施方案全文公布

中共北京市委办公厅北京市人民政府办公厅印发《北京市关于加快建设全球数字经济标杆城市的实施方案》的通知各区委、区政府,市委各部委办,市各国家机关,各国有企业,各人民团体,各高等院校:经市委、市政府同意.

1900/1/1 0:00:00
密码学:从理论到现实

“一切都会出错”是任何规划都应该遵循的主要原则之一。 不稳定是事实 在解决密码问题时,会出现不可抗力的情况。多年来,许多科学家都在考虑每一个细节,但现实往往会让你感到惊讶.

1900/1/1 0:00:00
火大教育于佳宁:元宇宙是区块链的刚需应用场景

元宇宙概念大火,先有全球科技巨头微软、英伟达、Facebook宣布进军相关领域,后有腾讯、网易等互联网头部企业纷纷着手布局。从某种意义上说,元宇宙是我们探索满足更高层次需求的一种可能路径,寄托着我们对智慧社会生活的一种向往.

1900/1/1 0:00:00