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

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

作者:

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

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

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

介绍

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

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

1:使用ENS.js

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

Top 100 DeFi代币市值较前一日上涨19.04%:金色财经报道,据CoinMarketCap最新数据显示,Top 100 DeFi代币市值目前约为484.83亿美元,较前一日上涨19.04%。24小时涨幅前三的DeFi代币分别是:Compound(COMP)暂报40.58美元,24小时涨幅32.45%;Aave(AAVE)暂报72.88美元,24小时涨幅26.24%;Ampleforth(AMPL)暂报1.4美元,24小时涨幅20.5%。行情波动较大,请做好风险控制。[2023/6/25 21:59:17]

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

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

算法稳定币FRAX脱锚至0.95美元附近:金色财经报道,算法稳定币FRAX脱锚至0.95美元附近。Curve上FRAX与USDT交易比例为0.947左右,Chainlink数据显示FRAX价格约为0.952美元。[2023/3/11 12:56:50]

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

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

项目设置

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

解释

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

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

梅赛德斯-奔驰使用元宇宙技术实现工厂现代化:金色财经报道,汽车制造商梅赛德斯-奔驰是Nvidia使用Omniverse?Enterprise的最新客户之一,Omniverse Enterprise是一个用于构建和运行元宇宙应用程序的软件平台。Nvidia周二在CES 2023 正式开幕之前表示,梅赛德斯将使用Omniverse来设计、规划和优化其工厂。梅赛德斯正准备在其位于德国拉施塔特的工厂生产其新的电动汽车平台。Nvidia表示,拥有虚拟工作流程将使梅赛德斯能够快速应对供应链中断并根据需要重新配置装配线。[2023/1/4 9:50:54]

CZ回应:将会邀请第三方审计师对储备金证明结果进行审计:11月26日消息,币安首席执行官CZ在就Kraken首席执行官Jesse Powell此前发推提出的问题回应表示,将会邀请第三方审计师对储备金证明(PoR)结果进行审计,并表示“瓶颈是审计员要等上几周,我们循序渐进地前进。而且绝对不涉及负债总额,这将会在上述储备金证明的审计中进行验证,实际上,我第一次听说储备金证明(PoR)的‘负债总额’”。

此前报道,Kraken首席执行官Jesse Powell发推表示,完整的储备金证明审计必须包括客户负债总额、用户可验证的密码证明(表明每个账户都包含在总额中)以及证明保管人对钱包的控制权的签名,“默克尔树储备金证明没有包含客户负债总额,否则就毫无意义”。[2022/11/26 20:48:23]

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

分析师:如果加密熊市继续,ADA价格有可能减半:5月22日消息,加密分析师Benjamin Cowen表示,自己在关注ADA/BTC交易对的走势,认为其正处于强劲的下跌趋势中。在加密熊市中,如果ADA/BTC交易对重回2018年熊市低点0.0000085 BTC或0.25美元,他认为Cardano(ADA)将损失一半以上的价值。(The Daily Hodl)[2022/5/22 3:34:10]

现在打开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

标签:ENSESSRESDREFRENSprayblesscoinTIGRESSDREAMPAD

AAVE热门资讯
Celsius宣布一名员工停职,或为在以色列被捕的CFO Yaron Shalem

据TheBlock消息,有传闻称Celsius首席财务官YaronShalem在以色列被捕,加密借贷公司CelsiusNetwork周五表示,公司已暂停一名“员工”的职务.

1900/1/1 0:00:00
周鸿祎:元宇宙面临巨大安全隐患,需数字化安全护航

据中新经纬消息,12月10日,三六零(601360.SH,下称“360”)集团创始人、董事长周鸿祎在2021凤凰网科技峰会上表示,如果元宇宙是为现实世界的数字化进步服务,解决产业互联网的问题,提高现实世界的运营水平、工作效率.

1900/1/1 0:00:00
Vitalik:用 calldata 扩展和分片降低以太坊rollup成本

注:原文作者是以太坊联合创始人vitalikbuterin。Rollup是以太坊唯一的去信任扩容解决方案,它是短期和中期的解决方案,也可能会是长期的解决方案.

1900/1/1 0:00:00
联合国儿童基金会在以太坊上推出NFT系列,展览盈利将帮助学校接入互联网

据Decrypt12月11日消息,联合国儿童基金会今天宣布在以太坊推出一系列NFT,以纪念该联合国机构成立75周年.

1900/1/1 0:00:00
专访NFT艺术家丨Naime:自由地创造你喜欢的任何东西

Bytom:各位好!我们很高兴在这里见面:Naime,这是一位NFT艺术家和像素艺术家,被邀请到本期活动,讨论加密和她激动人心的NFT之旅,还有任何你需要了解的关于NFT时代成为加密艺术家的信息.

1900/1/1 0:00:00
如何打破区块链的次元壁?

作者:vcbear 来源:CSDN 先感受一下这段对话: 硬核玩家:“这个相机很强哒,108个对焦点8种对焦模式,传感器信噪比控制很好,实测动态范围达到军事级,配上这个1.2大光圈牛头,拍出的照片,刀锐奶化...”.

1900/1/1 0:00:00