你的位置:亚搏手机客户端官方app下载-综合软件下载 > 服务中心 > 本事教程 | ENS:为你的钱包添增多币种接济 | BTC

本事教程 | ENS:为你的钱包添增多币种接济 | BTC

时间:2022-07-03 02:41 点击:158 次

本事教程 | ENS:为你的钱包添增多币种接济 | BTC

在 Devcon5 上文书了多币种接济特色后,咱们很快就在 ENS 处治器上达成了这一功能。

很多钱包也紧接着启动接济这一特色。

开辟者们不错通过阅读 EIP 、文档以及咱们的 JavaScript 地址编码库来了解最新的达成细节。

在这篇著述中,我将先容咱们把多币种接济特色接入到我方 app 中的素质,为其他钱包开辟者投砾引珠,提供简陋思绪。

 \r\n通晓器\r\n 

由于这个特色是全新的,很多以太坊库都尚未接济(目下 ethers.js 、go-ens 以及 ethreal 接济)。

为了平直妥协析器合约交互,你通过 npm 下载咱们的合约,并导入以下 abi 。\r\n

import {abi} from\r\n '@ensdomains/resolver/build/contracts/Resolver.json'
\r\n当先咱们来望望缔造/赢得以太坊地址和其它数字货币地址的辩别。\r\n
## 赢得并缔造以太坊地址  \r\nfunction addr(bytes32 node);\r\nfunction setAddr(bytes32 node, address addr);  \r\n## 赢得并设多币种地址  \r\nfunction addr(bytes32 node, uint coinType); \r\nfunction setAddr(bytes32 node, uint coinType, bytes calldata a);
\r\n最大的辩别在于 getter 和 setter 函数量下都要附加上 coinType 参数。请钟情目下 setAddr 函数的参数是 bytes 类型而不是 address 类型。

 \r\n地址编码器\r\n 

address-encoder 是一个 js 编解码库,对存储在 ENS 通晓器中的纪录进行处理。它有两个函数,包括 formatsByName 以及 formatsByCoinType 。\r\n

import {formatsByName, formatsByCoinType} from '@ensdomains/address-encoder';  \r\nformatsByName['BTC'] \r\n{coinType: 0, decoder: [Function],encoder: [Function],name: 'BTC'} \r\nformatsByCoinType['0'] \r\n{coinType: 0, decoder: [Function],encoder: [Function],name: 'BTC'} \r\nFrom now on, we only use formatsByName.
\r\n底下咱们只使用 formatsByName 函数。

 \r\n赢得接济的币种列表\r\n 

好像你想接入我方的接济的币种列表。若是你想平直接入咱们照旧达成了编解码的代币,你应该通过以下代码构造这个币种列表。

export const COIN_LIST = Object.keys(formatsByName)

 \r\n赢得地址\r\n 

底下是咱们在我方的 React 组件中达成 getAddr 函数的超等简化版块。

通过第一转代码,咱们赢得到了 coinType 以及 encoder 函数。接下来会用到 coinType 和 namehash 参数从 Resolver 合约中赢得到某种代币的具体地址。

第四行代码是把地址传给译码器之前先检查是否是旷地址,若是是的话就平直复返。因为若是把一个空字符串平直传给编码器,就有可能抛出某些代币类型的失误。

第五行代码把地址的二进制抒发表情传给编码函数,将地址以文本表情浮现。

 \r\n树就地址\r\n 

以下是咱们 setAddr 函数的简化版块。

和咱们在 getAddr 函数中的处理相通,当地址为空时,咱们提前复返这个成果,而不传给解码器。第五行平直用空字符串的二进制暗示就行。

 \r\n考证\r\n 

考证地址是否适大意应币种的身手相称要道。

若是向 address-encoder 库坑害传一个无效的文本,就会抛出失误。

本例中,咱们拿获了这个失误并展示了出来。

\r\nBCH 贴士\r\n每每情况下,对团结条规本先解码再编码,依然会得到相通的文本。但比特币现款推崇的不太相通(想要酌量具体的本事原因,不错参考这条 EIP 中的 CashAddr ),比特币现款在编码之后复返文本会加一个 bitcoincash 前缀。底下这个例子浮现了原始文本、16进制暗示以及查询时 BCH 编码后的圭表暗示表情(你不错在测试用例中找到它)。

 \r\n回归\r\n 

在本文中,咱们梳理了达成多币种接济的进程,先容了需要钟情的某些细节。事实上这和正本缔造/赢得地址的操作相称接近,只不外要多传一个 coinType 参数。此外,在波及到考证和空字符串的问题上,要稀奇禁绝。

跟着越来越多库接济多币种特色,以后钱包开辟者将很舒缓地添加这一功能。

(完)

原文通顺: https://medium.com/the-ethereum-name-service/how-to-integrate-ens-multi-coin-support-into-your-wallet-for-developers-8d3a8a37d1eb\r\n作家: makoto_inoue\r\n翻译&校对: 安仔 & 阿剑

6月23日下昼,国外足联公布了最新一期FIFA国度队名次。在本期榜单中,中国国度队的积分莫得变化,积分保管在1304.02分,寰宇名次下滑1位名轮番78,亚洲名次被乌兹别克斯坦反超下滑至第11。
西班牙●区块链智能支付磨砺 运营西班牙国度支付齐集的Iberpay与萨瓦德尔银行、桑坦德银行、Bankia、BBVA和CaixaBank五家西班牙银行进行了基于区块链的智能支付的见识考据(PoC),Iberpay将智能
笔据沪深来往所最近公布,两市7月4日共93只个股出现巨额来往,成交额为33.58亿元。其中溢价成交4只,平价成交18只,折价成交71只。 巨额来往出现溢价来往的有光环新网(16.27%)、德展健康
会议:以太坊中枢开发者会议 #85 会议时长:1.5小时 会议视频贯穿: https://youtu.be/KlzwFLOj6Bw 会议日程: 1.\r\n柏林EIPs 1)\r\nEIP-2315: 用于EVM的简票据枢纽 2)\r\nEIP-2537: BLS12-381弧线操作 2.\r\nEIP回顾
在 Devcon5 上文书了多币种接济特色后,咱们很快就在 ENS 处治器上达成了这一功能。 很多钱包也紧接着启动接济这一特色。 开辟者们不错通过阅读 EIP 、文档以及咱们的 JavaScript 地址编码库
原标题:金石亚药鼓舞蓬勃萍增持415.97万股股份 金石亚药(300434.SZ) 2月7日晚间发布论说,公司于2021年2月7日收到公司持股5%以上鼓舞蓬勃萍女士出具的 对于增持股份逾越1%的奉告函 ,2021年1月
\n\t\t\t\n\t\t\t 明德生物(002932)06月29日在投资者联系平台上回话了投资者体恤的问题。 投资者:明德生物的称号是若何来的?过去公司是否会谈判变更为湖北明德大要中国明德? 明德生物董秘
\n 周四1月28日报道,悉尼的OFX集团有限公司(ASX:OFX)发布了2021财政年度第三季度的财务功绩(2020年10月到12月),通盘收入流呈健康的增长趋势。 \r\n 本季度手续费和来往行动产生的收入为3650万澳

官网

www.zwucxcy.com

客服

40964035

地址

服务中心大道3998号

Powered by 亚搏手机客户端官方app下载-综合软件下载 RSS地图 HTML地图


亚搏手机客户端官方app下载-综合软件下载-本事教程 | ENS:为你的钱包添增多币种接济 | BTC