EOS钱包区块链核心业务开发详解
区块链钱包是什么?很多人会把它理解为微信支付宝钱包等,然而区块链钱包里没有数字货币,数字货币存储在区块链上,钱包作为公私钥的管理工具,用户通过钱包与区块链平台上的DApp 进行交互。
区块链钱包对于区块链而言好比浏览器对于互联网一样。早期人们对于在浏览器上输入url和域名访问互联网都很陌生,但现在浏览器已经成为互联网的重要入口,被几十亿人使用。在区块链上也将会发生同样的一个演变过程,对大多数人来说,现在区块链是陌生的,随着区块链用户从数百万人激增到数千万人,那么许多团队对钱包的这个入口战略资源的争夺将比互联网时代 的浏览器更加激烈。
在区块链领域,钱包毫无疑问有举足轻重的地位,很容易理解区块链钱包的应用价值:
作为支付的入口
随着闪电网络、雷电网络等链外支付以及分片、子链等技术的成熟,未来一旦数字代币支付成为主流的支付方式之一。那么钱包作为入口,就有很大的想象空间。
作为资产管理的入口
目前比特币、以太坊、EOS等公链越来越多,协议和应用越来越多,token也越来越多,中心化交易所、去中心化交易所、量化交易等都在发展。现在,一些钱包提供了理财的功能,一些长期价值投资的用户把代币存入钱包进行理财。
作为交易的入口
对于用户来说,在钱包就可实现快速的交易。钱包由于沉淀了很多用户的数字资产,当用户需要进行交易时,钱包与一些去中心化或中心化的交易所结合,用户输入自己的理想价格,可以实现尽快的撮合交易。
作为DApp市场入口
随着公链的成熟,尤其是EOS、以太坊等区块链基础设施的逐步完善,一些游戏类、金融类、社交类、泛娱乐类的DApp应用逐步发展起来。随着成千上万,甚至是几十万上百万的DApp,用户需要有一个地方去发现和下载。对于钱包来说,DApp市场入口绝对是最具想象力的前景。
为什么要了解EOS钱包?
有着区块链3.0之称的EOS拥有庞大的用户群体,自2018年6月份主网上线以来,注册帐户已经达到60万,而算上没有EOS帐户但在交易平台持有EOS代币的用户,可能这个数字已经超过百万:
在EOS平台上开发的DApp如雨后春笋般纷纷出世,主网上现在跑的DApp已经超过了200个,其活跃量、交易量也早已超越了以太坊。这些开发团队以及个体开发者选择基于EOS开发,首先是EOS网络对开发者友好,适宜DApp应用程序开发;其次开发者对于EOS生态的未来有信心。
钱包作为数字货币资产的存储和Dapp的超级流量入口,其市场需求较大,创建和管理钱包是进入区块链领域的必修课。因此我们推出本课程,自己来开发一个EOS钱包,旨在帮助区块链用户 和应用开发者全面快速地掌握区块链钱包开发的知识技能与业务流程。
课程项目简介
课程项目是一个手机EOS钱包,最终的实现效果如下图所示:
用户可以导入自己的账号,也可以创建新的测试网账号,可以在钱包的多个账号间切换活动账号。一旦选中的当前活动账号,用户就可以查看自己的资产总览信息,也可以向其他账号转账,或者浏览自己的转账历史记录。
钱包也提供了DApp开发者关心的资源管理功能。使用钱包可以购买或者出售内存资源,也可以抵押EOS获取CPU或者NET资源。
作为区块链的入口,我们的钱包不仅提供了管理自己EOS账号的能力,还可以提供更多的增值服务,例如DApp推荐、市场行情、新闻动态等。
课程项目技术栈概述
本课程项目采用NodeJS的全栈式开发模式,基于npm+webpack的工作流,为了顺利地完成本课程的学习,你应该对以下语言/技术有一些了解:
本课程采用Webpack把项目当做一个整体,从一个给定的主文件(如:index.js)开始找到项目的所有依赖文件(JavaScript,CSS和Fonts以及Image等等),通过合适的loaders处理它们,最后打包为一个浏览器可识别的JavaScript文件。
本课程使用Facebook的Web App解决方案React技术栈(react+redux+react-router)以及基于React实现的UI框架Antd-Mobile,帮助学员快速完成前端H5页面的开发并提供给用户优质的用户体验。
Eosjs是访问EOS区块链的JavaScript库,提供了大量简单易用的EOS的HTTP API封装方法, 其作用就像web3.js对于Ethereum或者neon-js对于Neo一样。
课程内容概述
本课程面向广大对EOS开发感兴趣的朋友,是目前市面上理论与实战相结合最全的EOS开发项目,内容涵盖EOS开发相关的基本概念,并围绕EOS钱包项目开发逐步进行讲解,最终实现一个EOS钱包。
第一章:概述
介绍什么是区块链钱包;分析区块链钱包的应用价值,阐述本课程的目的;并介绍课程项目使用的技术栈,引入对学习者基础知识技能的要求。
第二章:理解EOS账户与钱包
引入EOS账户、密钥、钱包等概念。介绍如何获取第一个EOS账号,以及如何查询账号信息。解释为什么主网中创建账户的是需要费用的。阐述助记词、keystore、密码与私钥的关系。并通过账户权限与钱包相关的操作,学习EOS账户权限和官方钱包命令等知识。
第三章:需求分析与总体设计
项目需求分析与总体设计,阐述项目功能模块划分、系统整体架构、前端服务层设计、前端状态机、第三方服务清单等。
第四章:前端服务组件实现
实现前端服务组件,封装手机钱包的核心功能,例如账号创建、账号导入、转账交易、交易历史查询、资产管理、资源管理等。
第五章:前端UI组件实现
学习如何利用React实现钱包的前端UI组件,如何利用React-Router前端路由切换组件,如何使用Redux状态库实现前端状态管理。
感兴趣的同学可以试试,深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。