你的位置:亚搏手机客户端官方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翻译&校对: 安仔 & 阿剑

2月2日,台盟辽宁省第六届委员会第二次合座会议在沈阳召开。台盟辽宁省委会主委蔡睿作责任诠释。 会议指出,2022年台盟辽宁省委会在台盟中央和中共辽宁省委的正确指引下,全面贯彻习近
夔纹大瓦当 秦代文物,举座呈青灰色。迎面保存完整,背面平整,厚度均匀。迎面所刻夔纹线条清脆、简易。迎面所接瓦筒保存基本齐全,呈半圆形,其凸面饰细绳纹,凹面局部见麻点纹。葫
兔年元宵佳节将至,辽宁省盘锦市木雕非物资文化遗产传承东谈主孙雪又忙绿起来。为准备干预“家住辽河畔 非遗中国年”传统文化节日终末一次志愿处事行动,这几天她常常加班加点雕琢至
辽宁红山文化考古新发现公布 牛河梁古迹6.5公里处发现大型聚落址 出土着骨测定走漏食谷物 田园造访中,发现的红山文化古迹剖面。 记者朱忠鹤摄 马鞍桥山古迹发掘出土的陶器碎屑。 我省
“本年越冬丹顶鹤达到94只,比客岁一下子多了39只。”2月2日,盘锦市林业和湿地保护行状中心鹤类繁育保护站站长于长斌兴盛地说。 冬日的辽河口湿地,大片枯黄的芦苇托起一簇簇灰色芦花
记者2月1日获悉,大连市卫健委发布《对于进一步加强和门径全市托育机构奇迹料理责任的办法》,对托育机构料理专科化、营运门径化、奇迹优质化均有明确条件。如方针领域为单一托育或婴
正月里,辽宁大连瓦房店市得利寺镇气温直逼零下10摄氏度,而这里的大樱桃却还是上了市,最高能卖到300多元一斤,好多果农因此走上了致富说念路。近日,记者走进得利寺镇芦屯村栽植户李
“畴昔取餐恭候时可能会看手机,当今则会更多关注店内环境卫生和食物制作经由,奋发作念好督察舌尖安全的监督者。”2月2日,辽阳的外卖骑手、监督员高乃博说。日前,在辽阳市阛阓监管

官网

www.zwucxcy.com

客服

40964035

地址

服务中心大道3998号

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


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