EOS [EOS DAPP 开发] 04 - 创建 EOS 账户和使用 Scatter

pendingauth · 2019年05月14日 · 138 次阅读

本文转载自币乎,作者松果,原文链接:https://bihu.com/article/1954374975

搭建DAPP需要的工具和原料

上一篇文章我们在前端获取到了EOS区块链的数据,这对完成一个DAPP还远远不够,一个完整的项目还需要UI、数据、各种第三方模块的配合。

这里列出了在Github上的Demo项目(https://github.com/songguo6/eos-react-dapp)所需的各种第三方模块和插件,现在不了解也不要紧,后续会一个个的使用它们:

axios

上一篇文章已经使用过了,一个Http Client,用于发起http请求。

npm install axios --save

Ant Design

Ant Design是蚂蚁金服出品的React UI组件库,不需要自己造轮子,可以轻松搭建出还不错的UI。下面的 antd 是Ant Design的node模块,另外3个模块是配置 antd 时要使用的。

npm install antd --save
npm install babel-plugin-import --save
npm install react-app-rewired --save
npm install customize-cra --save

react-router

React路由,完成url和组件的绑定。

npm install react-router-dom --save

redux

Redux是一个react数据状态容器,一个React组件的数据通常用state来保存,但要在多个组件间共享数据,就比较麻烦,只能在父子组件间依次传递。

Redux使用单一数据源(所有组件的共享数据保存在一个store中),解决了组件数据共享的问题。

npm install redux --save

redux-thunk

redux-thunk是一个react中间件,让redux的dispatch函数不仅能传递对象,还可以传递函数。(关于redux的细节,较短的篇幅不可能讲解清楚,需要读者自己下来学习)

npm install redux-thunk --save

react-redux

Redux的react绑定,由redux官方出品,功能是让使用redux的流程更加简化。

npm install react-redux --save

eosjs

EOS的js通用库,提供了各种使用EOS区块链的API。

npm install eosjs --save

scatter-js

Scatter的js库,让前端可以调用Scatter。

npm install scatterjs-core --save 
npm install scatterjs-plugin-eosjs --save

ipfs-api

IPFS的js库,让前端可以调用IPFS。

npm install ipfs-api --save

braft-editor

一个富文本编辑器,编辑文章使用。

npm install braft-editor --save

以上node第三方模块,可以一次全部安装:

npm install axios antd babel-plugin-import react-app-rewired customize-cra react-router-dom redux redux-thunk react-redux eosjs scatterjs-core scatterjs-plugin-eosjs ipfs-api braft-editor --save


React调试工具

另外,介绍两个React调试工具,都是Chrome插件:

安装和使用方法,点击链接,查看它们的文档。

配置Ant Design

安装好上面的模块后,其他模块都可以直接使用了,Ant Design需要配置,配置方法查看这里:

在 create-react-app 中使用 antd

把以上工具和原料配置好后待用,接下来去创建EOS账户,并导入Scatter。

创建EOS账户

先使用以下命令在本地创建EOS钱包:

# 创建default钱包(保存好密码)
cleos wallet create --to-console

# 打开钱包
cleos wallet open

# 查看钱包列表
cleos wallet list

# 解锁钱包(输入密码)
cleos wallet unlock

# 生成私钥并导入钱包
cleos wallet create_key

# 查看钱包中所有的公钥
cleos wallet keys

# 查看钱包中所有的私钥
cleos wallet private_keys

账户是一组授权的集合,下面的命令使用eosio账户创建了assigntokens账户:

cleos create account eosio assigntokens <public_key>

查看账户详情:

# 本地
cleos get account <account_name>

# 主网(-u 参数填写一个节点的API,只能获取主网上的账户)
cleos -u https://api.eosnewyork.io get account <account_name>


导入EOS账户到Scatter

打开之前下载的Scatter,选择Import Key,把使用cleos wallet create_key生成的私钥通过文本方式导入到Scatter。

EOS的私钥和公钥是一对一的关系,公钥和账户是一对多的关系。

私钥 -> 公钥 -> 一个或多个账户

另外,EOS的一个账户也可以对应多个公钥,这就涉及到权限和多签。私钥和公钥是由算法生成的,然后由EOS系统把私钥/公钥和权限/账户绑定到一起。

这里我所导入的私钥对应的公钥生成过3个账户,这里就直接导入了3个账户到Scatter。

设置本地网络到Scatter

我们在本地进行开发,需要在Scatter添加本地网络设置:

Scatter就配置好了,下一节讲解如何使用scatter-js调用本地的Scatter。

### 往期回顾

【EOS DAPP开发】01 - 使用React+EOS+IPFS开发去中心化内容平台DAPP

【EOS DAPP开发】02 - 开发环境配置和工具准备

【EOS DAPP开发】03 - React项目结构和调用EOS RPC-API

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册