本书分为基础篇、安卓篇和苹果篇。基础部分讲解开发以太坊钱包App所涉及的技术理论基础知识;区块链概念及其关键技术,包括分布式数据存储、点对点传输、共识机制、密码学、分布式账本等;数字钱包理论原理与技术发展;DApp与数字钱包的关系。
安卓篇讲解Android Studio开发工具,Java原生App开发技术,常用Java开源库OkHttp、Retrofit、RxJava和Dagger,Java密码学框架JCA/JCE的使用方法,以太坊Java开源库Web3j的使用,以及对Trust Wallet钱包Android版App项目架构及核心功能代码进行全面分析等。
苹果篇讲解Xcode开发工具,Swift原生App开发技术,常用iOS开源库BigInt、APIKit、Moya、R.swift、CryptoSwift和JSONRPCKit,iOS加密库Common Crypto和Security库的使用方法,基于JSONRPC方式的Web3开发,以及对Trust Wallet钱包iOS版App项目架构及核心功能代码进行全面分析等。
本书适合所有软件开发者及技术管理人员阅读,特别是对区块链或数字货币技术感兴趣、准备开发数字钱包的技术人员;尤其适合准备开展以太坊钱包开发工作的技术人员阅读。
你是一个投资者,听说数字货币不错,比特币从几分钱涨到几万块,以太币从18元涨到9 000多元;听说EOS更牛,但却不知道如何下手,眼看着别人随手投个几万元,转眼变成几千万元,心里很着急,却不知道该怎么办……数字货币到底是什么,它到底放在哪里?
你是一个公司老板,市场上大家都用起了区块链的名字,大家都在链改,或者正在上链。听说有用主链的、有用侧链的、有用代币的、还有用超级账本的甚至还有用空气币的,到底哪家好,琢磨了很长时间,还是不知道如何选择。
你是一个公司的技术总监或者高层,本想守着各种传统开发技术,如Java、Python、JavaScript、Nodejs、前端后端、大数据、云计算或人工智能等,拿着高薪过几年安稳生活。突然有一天老板发微信给你,说要搞链改,说超级账本好像不错,是个大趋势,还要能够发币,必须覆盖智慧城市、物流溯源,要求赶紧给出方案,尽快开发出来,你顿时感觉刚刚安稳几天的好日子貌似又要结束了。
你是一个程序员,听说区块链堪比蒸汽机革命,好比当时发明电的影响力,又胜过互联网的产生,甚至要颠覆现有的互联网;区块链工资高福利棒,想学习区块链技术。于是你逛遍各技术论坛和微信群,一会儿区块链1.0,一会儿区块链2.0,一会儿认为数字货币存在于电脑上别人偷不走,一会儿又认为数字货币存在共享账本中大家可以一起修改,最后还是没搞清楚什么叫数字钱包。
事实上,目前对于一个对数字货币或区块链一无所知的人,想要进入所谓的“币圈”或者“链圈”并非易事。就算是从事计算机网络软件技术相关的工作人员,也很难掌握相应的工具概念等知识,更别说非技术人员了。
这主要是因为数字货币及区块链技术所使用的底层技术,包括分布式存储、P2P通信、共识机制、密码学,甚至是智能合约虚拟机,都是很复杂的软件工程技术。
对于很多已经进入该圈的人,他本身对这个圈子的相关技术工具或概念也只是一知半解,想依靠熟人带着进入这个圈子,也不是很靠谱。所以也有圈内人士提出,要想进入“币圈”或者“链圈”,就多参加大会,多加微信群,多参与活动。这样可以通过多渠道对相应的概念及工具进行相互验证,就算错了,也是大家一起错。
最开始接触数字货币的人,可能会先从私募开始,大家说这个链很好,那个币很好,涨个100倍都不是事。所谓的资金盘,往往买了什么币都不知道,被骗了才知道空气币和正宗的数字货币是不一样的。
虽然听说过交易所,但是据说需要翻墙,连App都不知道到哪里去下载,就是交易所也要经过层层关卡才能够接触到;最后好不容易从交易所购买了一些数字货币,例如比特币、以太币或EOS柚子等,看着数字货币大幅度地涨跌,行情好的话账面上能赚一点差价,行情不好的话账面是亏损状态。如果投入太多,承担不了风险,还需要考虑卖出数字货币;如果一不小心数字货币所在的交易所跑路了,网站也停了,App也用不了了,投入的钱就会化为乌有。
经过多次实战的惨痛教训,终于知道了数字钱包,还知道了如何分辨钱包地址,可以把交易所的数字货币提出来存到钱包里去,防止交易所跑路;于是下载了一个数字钱包,把自己在交易所买的数字货币提现到自己的数字钱包里。但是,有一天手机坏了,于是在新买的手机重新安装数字钱包,这时可怕的事情发生了,数字钱包的数字货币不见了!啊,原来没有进行钱包备份,天啊,钱包是需要备份的!
看到这里,您是否觉得需要一本专业而且实用的技术参考书,来帮您理清众多的问题,并找到正确的答案和方向?
通过阅读本书,大家可以了解以太坊App钱包相关的技术问题。包括数字钱包是什么,区块链为什么必须要用到数字钱包?区块链是什么,它是怎么产生的,解决了什么问题,它的技术原理是什么?为什么有了比特币,还会出现以太币,以太币解决了什么问题?以太坊的数字钱包有什么特别;DApp又是什么,数字钱包是一个DApp吗?DApp必须要用到数字钱包吗?
最后本书将直接通过实战开发Android和iOS钱包App,进一步让大家对数字钱包增进了解,从技术层面有更深的理解。
本书希望能说明两个问题:
对于最终用户来说,数字钱包在区块链中其实是最重要的一个工具;
对于技术开发人员来说,数字钱包是贯穿所有开发过程的一个极其重要的技术功能
谢跃书:北京大学软件工程硕士。资深Java开发专家,有丰富的企业级应用、APP及Web项目的开发经验;在爬虫、加密及数字证书技术方面有多篇发明专利;拥有十余年供应链管理、金融、物联网等行业大型系统软件开发经验;专注区块链钱包及应用开发。
郑敦庄:北京交通大学计算机科学与技术专业,全栈开发人员,精通多种语言,对量化交易、人工智能深度学习各类算法有深入研究。