在本教程中,我将向大家展示我能想到的最简单的例子,如何在web应用程序中将ENS地址转换为ETH地址。
、
知道如何做是很有价值的,因为大多数智能合约只接受ETH地址,而不接受ENS地址。
如何做到这一点的简单答案是,用户只需要从子图中查询数据。
有多种方法转换一个ENS地址:
1:使用ENS.js
我曾经使用这个库来转换ENS地址。但是,它不适用于位于layer2的应用程序,所以我不会展示如何以这种方式进行操作。
2:使用ENS提供的去中心化子图
这是最可靠的方法,因为它是去中心化的。然而,当我在 ENS discord中询问时,他们说不要用这个。此外,每次用户在你的应用程序上查询这个子图时,你都要花钱——所以它不是免费的。我认为ENS计划告诉每个人使用这个子图,但我可能是错的,我不确定他们会等待什么。
Bitfinex宣布将上线Bitgert(BRISE):据官方公告,Bitfinex将上线Bitgert原生代币BRISE。Bitfinex将于UTC时间3月30日10点(北京时间18点)左右开放BRISE充值。BRISE交易将于UTC时间3月31日10点左右开放,支持USD和USDT交易对。[2023/3/29 13:32:48]
3:使用ENS提供的中心化子图
这个子图是免费使用的,也是巴黎高等师范学院推荐人们使用的。这是我将教如何使用这里。
首先,在本地克隆repo。然后,安装所有依赖项并运行本地服务器。如果要检查localhost,就应该在页面上看到一个输入。如果输入了一个有效的ENS地址,就将看到有效性和ETH地址正在浏览器控制台中登录,确认转换。
PieDAO社区发起拟进行回购代币的新提案:11月1日消息,DeFi 收益平台 PieDAO 在 10 月结束该协议的流动性挖矿计划后,已向其社区提交了分阶段回购其代币的提案。该提案呼吁社区批准该协议使用其国库回购这些代币的计划。这些购买将以场外交易的形式进行。作为拟议计划的一部分,PieDAO 团队为回购计划提出了两条路线。PieDAO 计划在评估最初的社区反应后对该动议进行快照投票。项目团队将为回购准备一份预算草案。[2022/11/1 12:05:27]
既然你已经有了所有的代码,我将用本教程的剩余部分来解释它如何线性工作。
在主页上有一个输入(src/pages/index.tsx)。输入时,它设置inputAddress状态变量。
安全团队:Celsius向Aave协议偿还2000万枚USDC:7月11日消息,据派盾(PeckShield)监测显示,被Etherscan标记为Celsius Network 的钱包地址(0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8)向Aave协议偿还2000万枚USDC。[2022/7/11 2:04:53]
每当这个状态变量发生变化时,它都会被这里的useENSAddress hook检测到:
现在打开React hook的文件(src/components/useENSAddress.ts)。你可以看到它使用了里面的useEffect的hook。这个useEffect的依赖项列表中有一个inputAddress参数。这会导致useEffect主体在每次inputAddress改变时(通过用户输入)被调用。
中国科技馆首发官方数字藏品:金色财经报道,据金台资讯消息,中国科技馆首发官方数字藏品大科学家系列,该系列首期选择了历史上耳熟能详的7位科学家,毕昇、蔡伦、祖冲之、张衡、牛顿、爱因斯坦、居里夫人,并创作了对应的3D科学家形象数字藏品,每个形象发行2000份。[2022/6/6 4:06:14]
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
区块链市场不缺变化,有道是“链圈一天,互联网一年”。这当然不是说数字货币的价格波动剧烈,尽管事实上确实如此。这也更加体现在区块链新技术新概念的层出不穷.
1900/1/1 0:00:00生活在别处。1968年5月,法国的年轻人把这句话涂在巴黎大学的墙上作为对社会现实的反叛、对既定生活不满的呐喊.
1900/1/1 0:00:00当前,游戏行业的线下会议、财报电话会议或董事会会议中,一个反复出现的主题就是 GameFi。诸如 Andrew Wilson (游戏公司 EA 的 CEO) 等高管正在关注这一主题.
1900/1/1 0:00:0010月,网易成功领投“虚拟人”生态公司次世文化。抢滩“元宇宙”赛道,在头部互联网公司中已经不是什么新鲜事,但这已经是网易今年以来第五笔在虚拟人领域的投资了.
1900/1/1 0:00:00据彭博社报道,数字资产公司Galaxy Digital(银河数码)计划于明年第一季度在美股上市。Galaxy Digital曾计划于今年第四季度在美上市,早前已在加拿大上市交易.
1900/1/1 0:00:0011月29日,推特发布公告指出,Jack Dorsey决定辞去首席执行官一职,自2021年11月29日起生效.
1900/1/1 0:00:00