在本教程中,我将向大家展示我能想到的最简单的例子,如何在web应用程序中将ENS地址转换为ETH地址。
、
知道如何做是很有价值的,因为大多数智能合约只接受ETH地址,而不接受ENS地址。
介绍
如何做到这一点的简单答案是,用户只需要从子图中查询数据。
有多种方法转换一个ENS地址:
1:使用ENS.js
我曾经使用这个库来转换ENS地址。但是,它不适用于位于layer2的应用程序,所以我不会展示如何以这种方式进行操作。
2:使用ENS提供的去中心化子图
报告:加密货币交易所敦促巴基斯坦当局对数字资产征税:金色财经报道,巴基斯坦加密交易所RAIN呼吁该国财政部对加密货币进行监管并征收15%的税。RAIN告诉监管机构,巴基斯坦可以通过对加密资产征收资本利得税获得大约9000万美元的税收。RAIN总经理Zeeshan ahmed指出,印度和美国等其他国家可以获得数十亿美元的税收,巴基斯坦应该考虑将加密交易视为合法并置于监管之下。ahmed表示,政府可能需要 12至18个月才能做出决定。(forkast)[2022/5/18 3:24:12]
这是最可靠的方法,因为它是去中心化的。然而,当我在ENSdiscord中询问时,他们说不要用这个。此外,每次用户在你的应用程序上查询这个子图时,你都要花钱——所以它不是免费的。我认为ENS计划告诉每个人使用这个子图,但我可能是错的,我不确定他们会等待什么。
中币(ZB)市场研究报告:比特币价格或将重回高点:据中币(ZB)市场研究报告显示,未来一天,在亚洲交易时段早盘,预计比特币价格将回升至55062美元的高点。如果交易员在这个价格水平上获利,则可以预期在51687美元的低点有一个健康的上升趋势。目前RSI指数飙升至69,如果RSI继续在超买区域爬行,则预期比特币价格在下个交易日将重新回到历史高点58k。此外该报告还对XRP和LTC做出了一周技术分析,更多详情请查阅中币(ZB)官方发布的研究报告。[2021/3/9 18:29:08]
3:使用ENS提供的中心化子图
这个子图是免费使用的,也是巴黎高等师范学院推荐人们使用的。这是我将教如何使用这里。
项目设置
首先,在本地克隆repo。然后,安装所有依赖项并运行本地服务器。如果要检查localhost,就应该在页面上看到一个输入。如果输入了一个有效的ENS地址,就将看到有效性和ETH地址正在浏览器控制台中登录,确认转换。
动态 | 报告:2025年区块链技术的市场估值将超过250亿美元:据Global Market Insights最新报告,数据显示,到2025年,区块链技术的市场估值将超过250亿美元。区块链技术通过数字化、自动化以及标记化,正在推动企业的数字革命。从2019年到2025年,区块链市场规模将以超过69%的巨大复合年增长率增长。[2019/11/21]
解释
既然你已经有了所有的代码,我将用本教程的剩余部分来解释它如何线性工作。
在主页上有一个输入(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
什么是Soilidity?Solidity是一种面向合约的高级编程语言,用于实现智能合约。Solidity已经被设计用于以太坊虚拟机。Solidity===智能合约.
1.《时代》杂志旗下影视制作部门TimeStudios将推出基于RobotosNFT的原创动画2.NFT平台Rarible推出消息服务.
? 本期摘要 政策要闻: 2.1工信部:到2025年区块链等设施服务能力显著增强2.2农业部:利用区块链等技术加快网络体系、前端仓库和物流设施建设2.
据华尔街见闻消息,11月9日,英伟达召开GTC大会,发布了用于3D工作流程的虚拟世界模拟和协作平台NVIDIAOmniverse,允许让创造者在物理精确模拟或3D渲染中进行实时协作.
美国司法部周二发布公告称,联邦法官已批准其出售扣押的价值5600万美元的加密货币,以补偿BitConnect加密旁氏局的受害者.
据Bitcoin.com11月15日消息,根据Naavik研究员LarsDoucet撰写的报告,尽管区块链游戏项目AxieInfinity在今年上半年呈指数级增长,但普通玩家的每日收入却在下降.