在本教程中,我将向大家展示我能想到的最简单的例子,如何在web应用程序中将ENS地址转换为ETH地址。
、
知道如何做是很有价值的,因为大多数智能合约只接受ETH地址,而不接受ENS地址。
介绍
如何做到这一点的简单答案是,用户只需要从子图中查询数据。
有多种方法转换一个ENS地址:
1:使用ENS.js
我曾经使用这个库来转换ENS地址。但是,它不适用于位于layer2的应用程序,所以我不会展示如何以这种方式进行操作。
BitMEX已上线PEPE和SUI永续合约,杠杆率最高为50倍:5月4日消息,BitMEX宣布已上线PEPE和SUI永续合约,杠杆率最高为50倍。BitMEX提供PEPEUSD和PEPEUSDT永续合约,以及以比特币为保证金的永续合约SUIUSD和以Tether为本位保证金的SUIUSDT永续合约。[2023/5/4 14:42:47]
2:使用ENS提供的去中心化子图
这是最可靠的方法,因为它是去中心化的。然而,当我在ENSdiscord中询问时,他们说不要用这个。此外,每次用户在你的应用程序上查询这个子图时,你都要花钱——所以它不是免费的。我认为ENS计划告诉每个人使用这个子图,但我可能是错的,我不确定他们会等待什么。
3:使用ENS提供的中心化子图
这个子图是免费使用的,也是巴黎高等师范学院推荐人们使用的。这是我将教如何使用这里。
DCG子公司Luno创始人兼CTO已离职:金色财经报道,DCG旗下子公司、加密货币交易平台Luno创始人兼首席技术官Timothy Stranex在公司工作十年后于12月悄然离开公司,开始从事个人项目。?公司发言人证实,自今年年初以来,前工程副总裁西蒙因斯一直担任首席技术官一职。[2023/1/19 11:21:38]
项目设置
首先,在本地克隆repo。然后,安装所有依赖项并运行本地服务器。如果要检查localhost,就应该在页面上看到一个输入。如果输入了一个有效的ENS地址,就将看到有效性和ETH地址正在浏览器控制台中登录,确认转换。
解释
既然你已经有了所有的代码,我将用本教程的剩余部分来解释它如何线性工作。
在主页上有一个输入(src/pages/index.tsx)。输入时,它设置inputAddress状态变量。
Coinbase因加密货币上市问题而面临美国证交会调查:7月26日消息,据三位知情人士透露,加密货币交易所Coinbase正面临美国方面的调查,调查内容是该公司是否不当地允许美国人交易本应注册为证券的数字资产。知情人士表示,自从Coinbase扩大了其提供交易的代币数量以来,美国证交会(SEC)对该平台的审查有所增加。(金十)[2022/7/26 2:37:49]
每当这个状态变量发生变化时,它都会被这里的useENSAddresshook检测到:
Ledger Live集成Alkemi Earn,允许用户赚取收益:6月28日消息,硬件钱包制造商Ledger宣布Ledger Live已与Alkemi Earn集成,首次为其用户带来了赚取收益的能力。Alkemi Earn是一种借贷协议,利用由ETH、wBTC和稳定币组成的数字资产许可流动性池。
通过此举,Ledger旨在为用户提供一种购买和使用数字资产的方式,而无需将它们交给交易所或其他协议。(CoinDesk)[2022/6/28 1:37:21]
现在打开Reacthook的文件(src/components/useENSAddress.ts)。你可以看到它使用了里面的useEffect的hook。这个useEffect的依赖项列表中有一个inputAddress参数。这会导致useEffect主体在每次inputAddress改变时(通过用户输入)被调用。
useEffect(():any=>{...bodycodehere...},)
Galaxy Digital创始人:LUNA纹身将不断提醒我风险投资需保持谦逊:5月19日消息,Galaxy Digital 在官方社交媒体发文表示,该加密投资公司创始人兼首席执行官 Mike Novogratz 发表了一封公开信,这也是 Terra/UST 事件经过了 10 天之后,Mike Novogratz 首次打破沉默。此前 Mike Novogratz 非常支持 LUNA 甚至在胳膊上做了纹身,在公开信中,他表示现在这个纹身将不断提醒他加密风险投资需要保持谦逊。Mike Novogratz 还表示,UST 的机制是公开透明的,而且试图创造一种可以在数字世界中运转的算法 Stablecoin,虽然这个想法很不错,但最终失败了,主要原因是储备资产的下行压力加上 UST 挤兑引发崩盘。
不过,Mike Novogratz特别指出,截至 5 月 11 日,Galaxy Digital 公开了流动性、资本和运营业绩,其中显示储备金中没有使用任何算法 Stablecoin。[2022/5/19 3:27:14]
那么当调用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
据路透社11月2日报道,总部位于中国香港的NFT游戏公司TheSandbox宣布完成9300万美元融资,软银VisionFund2领投.
1900/1/1 0:00:00据华尔街日报11月1日消息,灰度母公司DCG以100亿美元估值完成7亿美元融资,系加密货币领域第二大投资.
1900/1/1 0:00:00巴比特讯,11月13日,中央纪委国家监委网站发布关于江西省政协原党组成员、副主席肖毅被开除党籍和公职的消息.
1900/1/1 0:00:00据CoinDesk11月15日消息,加勒比海岛国巴巴多斯外交和外贸部周日与Decentraland签署了一项协议,以建立其数字大使馆.
1900/1/1 0:00:00宇宙前面加个“元”,世界就在你眼前。要说最近两个月最火的一大概念,那“元宇宙”必定排在最前面。首先是Facebook改名刷爆社交媒体,再到二级市场相关概念股前仆后继上涨,这个平行于现实世界的虚拟.
1900/1/1 0:00:00纽约数字投资集团(NYDG)将使用比特币向美国国家篮球协会的休斯敦火箭队(HoustonRockets)支付特许经营权使用费,作为促进加密货币教育和采用的合作伙伴关系的一部分.
1900/1/1 0:00:00