宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > AVAX > 正文

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

作者:

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

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

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

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

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

1:使用ENS.js

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

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

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

Flamingo:除跨链功能暂停外,并未受Poly Network攻击事件影响:7月2日消息,全栈DeFi协议Flamingo Finance发推称,正在调查最近Poly Network攻击事件对Flamingo的影响。经初步调查,除了跨链功能暂停外,此次黑客攻击似乎并未影响Neo网络或Flamingo。[2023/7/2 22:13:26]

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

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

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

GMX V2 测试网已向公众开放:5月17日消息,去中心化衍生品协议 GMX 的 V2 版本测试网已向公众开放,用户可在 Avalanche Fuji 测试网上进行测试,V2 版本的新功能包括市价订单、限价订单、止盈止损订单等。此外,V2 版本将实施资金费用以平衡多空比。用户除了尝试进行合约交易外,也可以测试提供流动性的功能。[2023/5/18 15:09:40]

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

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

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

币安:即将转移少量BTC和LTC作为其储备证明操作的一部分:1月3日消息,币安在社交媒体上称,将在今天晚些时间转移少量BTC和LTC作为其储备证明操作的一部分。[2023/1/4 9:50:23]

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

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

Reddit 在 Polygon 上推出免费 NFT 系列 Recap 2022:金色财经报道,据加密 KOL GiancarloChaux 推特消息,社交新闻论坛社区 Reddit 于 5 日前在 Polygon 上推出了另一款免费的 NFT 系列,名为 Recap 2022,目前,该 NFT 系列已有超 130 万名所有者。[2022/12/21 21:57:24]

那么当调用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

标签:ENSRESDREESSFRENS价格Reforestation MahoganyA Hunters DreamMESSE价格

AVAX热门资讯
Gas fee之忧(一):多链未来、侧链和Layer2解决方案谁才是最终赢家?

原文:《Scaling Ethereum & crypto for a billion users》作者:Justin Mart & Connor Dempsey到2021年底.

1900/1/1 0:00:00
东方证券:十问元宇宙 如何将抽象的概念具象化?

元宇宙深度报告 NOIZ获得香港上市公司Merdeka和东方表业的支持:金色财经消息,区块链即服务(''BaaS'')公司 NOIZChain Limited(\"NOIZ\")获得了创业板上市公司 Merdeka Finan.

1900/1/1 0:00:00
Facebook改名Meta押注元宇宙 资本热潮下的投资机会

全球最大的社交平台Facebook正式改名Meta,彻底All in元宇宙。10月29日,备受关注的 Connect 开发者大会召开,吸引了全球数万人参与,会上Facebook 联合创始人、首席执行官马克·扎克伯格正式宣布,公司名称将.

1900/1/1 0:00:00
王永利:数字人民币不应局限定位于M0

移动支付网讯:11月25日,海王集团首席经济学家、中国银行原副行长王永利在第五届中国数字银行论坛上,分享了关于数字人民币变革与影响.

1900/1/1 0:00:00
灰度致信美国SEC:没有“依据”批准比特币期货ETF而不批准现货ETF

美国证券交易委员会(SEC)最近拒绝了VanEck的比特币现货ETF申请,加密资产管理公司灰度投资(Grayscale Investments)对此进行了回击.

1900/1/1 0:00:00
灰度11月报告:元宇宙的现状及发展潜力

近日,灰度发布了关于元宇宙的相关报告,此报告主要从元宇宙概述、元宇宙论点、元宇宙市场机会、元宇宙Web3.0经济、元宇宙Web3.0指标、元宇宙要点等几个方面展开.

1900/1/1 0:00:00