在Devcon5上宣布了多币种支持特性后,我们很快就在?ENS管理器上实现了这一功能。
许多钱包也紧接着开始支持这一特性。
开发者们可以通过阅读?EIP?、文档以及我们的JavaScript?地址编码库来了解最新的实现细节。
在这篇文章中,我将介绍我们把多币种支持特性接入到自己app中的经验,为其他钱包开发者抛砖引玉,提供大致思路。
解析器
由于这个特性是全新的,许多以太坊库都尚未支持。
为了直接和解析器合约交互,你通过npm下载我们的合约,并导入以下abi。
import{abi}from
'from'
formatsByCoinType
{coinType:0,decoder:,encoder:,name:'BTC'}
Fromnowon,weonlyuseformatsByName.
下面我们只使用?formatsByName?函数。
获取支持的币种列表
或许你想接入自己的支持的币种列表。如果你想直接接入我们已经实现了编解码的代币,你应该通过以下代码构造这个币种列表。
exportconstCOIN_LIST=Object.keys(formatsByName)
获取地址
下面是我们在自己的React组件中实现?getAddr?函数的超级简化版本。
通过第一行代码,我们获取到了?coinType?以及?encoder?函数。接下来会用到?coinType?和namehash参数从Resolver合约中获取到某种代币的具体地址。
第四行代码是把地址传给译码器之前先检查是否是空地址,如果是的话就直接返回。因为如果把一个空字符串直接传给编码器,就有可能抛出某些代币类型的错误。
动态 | 人民网:区块链等新技术将在更高层次上作用于新闻传播:9月3日消息,人民网刊登三江学院特聘教授丁柏铨的文章称,在新时代,互联网本身的新技术以及与此密切相关的新技术,如大数据、人工智能、区块链、卫星互联网、云计算、5G等,将会在更高层次上作用于新闻传播,包括党报所作的新闻传播。新时代党报改革再出发,不可停留于只是被动应对互联网及其最新技术,而应该从“创新”、“驱动”、“主导”的高度认知互联网及其最新技术。[2018/9/3]
第五行代码把地址的二进制表达形式传给编码函数,将地址以文本形式显示。
设置地址
以下是我们?setAddr?函数的简化版本。
动态 | 区块链技术用于解决汇算清缴与退税问题:据第一财经报道,根据十三届全国人大常委会第五次会议审议个人所得税法修正案(草案)规定,纳税人需要预缴后再汇算清缴而预缴与汇算清缴间有可能会产生差额。与相关的金融账户绑定,将每期退税款及时退还至个人账户是解决解决汇算清缴与退税问题的方式之一,该报笔者认为该方式征管部门应该予以考虑。随着数字经济的来临,未来纳税的方式将发生根本性的变化,所有的征管职能将以数据作为主线,从纳税人端获得数据、运用区块链等技术自动生成纳税申报表,相关的参数还可组合成各种的风险指标进行风险识别及管理,同时以上的风险报告又将成为互联网+稽查的依据,最后运用大数据的大样本进行经济分析,提供宏观决策。[2018/8/27]
和我们在?getAddr?函数中的处理一样,当地址为空时,我们提前返回这个结果,而不传给解码器。第五行直接用空字符串的二进制表示就行。
验证
验证地址是否符合对应币种的格式十分关键。
如果向?address-encoder?库随便传一个无效的文本,就会抛出错误。
本例中,我们捕获了这个错误并展示了出来。
BCH贴士
通常情况下,对同一条文本先解码再编码,依然会得到一样的文本。但比特币现金表现的不太一样(想要探究具体的技术原因,可以参考这条?
EIP?中的“CashAddr”),比特币现金在编码之后返回文本会加一个“bitcoincash”前缀。下面这个例子显示了原始文本、16进制表示以及查询时BCH编码后的规范表示形式(你可以在
测试用例中找到它)。
总结
在本文中,我们梳理了实现多币种支持的流程,介绍了需要留意的某些细节。事实上这和原来设置/获取地址的操作十分接近,只不过要多传一个?coinType?参数。此外,在涉及到验证和空字符串的问题上,要额外小心。
随着越来越多库支持多币种特性,以后钱包开发者将很轻松地添加这一功能。
原文链接:?https://medium.com/the-ethereum-name-service/how-to-integrate-ens-multi-coin-support-into-your-wallet-for-developers-8d3a8a37d1eb作者:?makoto_inoue翻译&校对:?安仔&阿剑
来源:链闻,原题《理解比特币白皮书:最远的路,或许是最快的路》撰文:李画,致谢:吴为龙重新为比特币白皮书划重点,并附送8个今天读起来依然散发着智慧光芒的中本聪问答.
原文:JohannesBeermann 翻译:龙白滔 点评:龙白滔 0点评 德国央行执委JohannesBeermann在发言中讨论了现金提供了独特的独立形式、数字支付增加了支付方式的多样性、以.
来源:PeckShield DApp?生态 11月份共发生5起DApp安全事件,其中EOS生态发生3起,ETH和TRON生态各发生1起.
文|王也? 出品?|?Odaily星球日报“这不是币圈的IEO吗?”美东时间11月26日,纽约证券交易所向美国证券交易委员会提交了一份申请文件,建议修改关于直接上市的相关规定.
文:昕楠 出品:Odaily星球日报编者注:本文作了不改变作者原意的删减。前有矿业第一股嘉楠耘智登陆纳斯达克,后有背靠中国平安的金融壹账通赴纽交所上市,区块链赛道喜事不断.
撰文:JoelJohn 编译:PerryWang 来源:链闻 作者JoelJohn是OutlierVentures分析师,自2012年以来研究风险投资及初创企业.