EOS开发环境搭建
EOS开发环境搭建
在上一篇文章《扒一扒EOS的前世今生》中,我们已经了解了EOS以及他的创始人Daniel Larimer的故事,本次为大家带来的是关于EOS开发环境搭建的内容。首先我们来了解一下EOS的核心架构和白皮书。
1. EOS的核心架构

EOS网络由21个超级节点和100个备选节点构成,这21个超级节点负责轮流产生区块,避免了挖矿竞赛的问题,有效的提高同步数据的性能。
2. 白皮书解读
白皮书原文就不向大家展示了,感兴趣的朋友可以去了解一下。通过阅读EOS的白皮书,可以提炼出以下关键信息。
- 支持数以千万的日活用户
- 普通用户免费使用更利于平台推广
- 更容易升级和bug修复
- 更低的延时,0.5秒可以出一个块
- 委托股权证明(DPOS)的共识算法,21个超级节点负责出块
- 更快的交易确认,广播后开始1.5秒后就可以99.9%认为是确定的
- 人类可识别的帐户,长度2到32个字符之间,帐户名称支持命名空间
- 基于角色的权限管理
- 执行合约需要有cpu,ram和带宽,ram需要购买,cpu和带宽可以通过eos质押获得
- 智能合约采用c/c++编写,编译为wasm在虚拟机中运行
3. EOS工具介绍
下面所提到的是EOS官方提供的一些开发工具,基于这些工具我们可以搭建一个EOS私有节点进行学习和开发。在这里,只需了解它们的用途即可。

nodeos——节点软件,可以配置插件来运行节点的核心EOSIO节点守护程序。用途是块生产,用于本地开发cleos——客户端工具,使用命令行操作,用于与区块链交互并管理钱包keosd——钱包客户端工具,将EOSIO密钥安全存储在钱包中的组件eosio.cdt——开发包工具,用于生成abi和把C++代码转换为wasmeosio.contracts——示例智能合约
4. EOS的开发环境安装
目前EOS的开发只支持Mac OS系统和linux系统,使用windows系统的朋友可以安装linux虚拟机进行开发。
4.1 安装二进制文件
按照操作系统版本在终端执行对应的安装命令:
Ubuntu 18.04
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio_1.5.0-1-ubuntu-18.04_amd64.deb
sudo apt install ./eosio_1.5.0-1-ubuntu-18.04_amd64.deb
Ubuntu 16.04
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio_1.5.0-1-ubuntu-16.04_amd64.deb
sudo apt install ./eosio_1.5.0-1-ubuntu-16.04_amd64.deb
Mac OS
brew tap eosio/eosio
brew install eosio
CentOS
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio-1.5.0-1.el7.x86_64.rpm
sudo yum install ./eosio-1.5.0-1.el7.x86_64.rpm
Fedora
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio-1.5.0-1.fc27.x86_64.rpm
sudo yum install ./eosio-1.5.0-1.fc27.x86_64.rpm
4.2 安装EOSIO合约开发工具包(CDT)
eosio.cdt——开发包工具,用于生成abi和把C++代码转换为wasm
Ubuntu
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64.deb
sudo apt install ./eosio.cdt-1.3.2.x86_64.deb
Mac OS
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64.deb
sudo apt install ./eosio.cdt-1.3.2.x86_64.deb
CentOS / Redhat
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64-0.x86_64.rpm
sudo yum install ./eosio.cdt-1.3.2.x86_64-0.x86_64.rpm
5. EOS的钱包和账户操作
EOS开发工具包安装完成后,我们就可以用它来创建一个钱包。在EOS中,钱包用来管理账户,同一个钱包可以管理多个账户,同时也可以创建多个钱包。
5.1 创建钱包
- 创建默认钱包并输出密码等信息到控制台
cleos wallet create --to-console
- 创建并命名钱包
cleos wallet create -n yourWallet --to-console
- 查看钱包列表
cleos wallet list

5.2 解锁钱包
在EOS中,操作账户时需要解锁管理这个账户的钱包。
- 解锁默认钱包
cleos wallet unlock
- 解锁指定名称的钱包
cleos wallet unlock -n yourWallet --password PW5KCfM9bNawtujMXaZxnRwtMfMavddmUz9nawPxTKCCLLpGcAazH

5.3 创建密钥对并导入到钱包中
公钥在创建账户时会用到,私钥则用于账户签名。一对密钥可以绑定多个账户。
方法一:创建密钥对并自动导入到钱包
cleos wallet create_key
//或者指定钱包名
cleos wallet create_key -n yourWallet
//以上任意一条命令即可完成创建密钥对把它导入到钱包的操作

方法二:创建密钥对并导入到钱包
先创建
cleos create key --to-console
//或者这样
cleos create key --file keyFile
再导入
cleos wallet import --private-key 5J7qwRbkG9NHCXHrxJwYGodZiFzshp2YgrqKrbFce4HNCPkkTjh
//或者这样
cleos wallet import -n yourWallet --private-key 5KJ8chnW4cF6e7QdLQTTwSGHQ4ovZwS9agCQFfGhC2QQQTnCcAU

5.4 查看钱包中包含的密钥对
- 查看默认钱包中的密钥对
cleos wallet private_keys
- 查看指定钱包中的密钥对
cleos wallet private_keys -n yourWallet

5.5 创建账户
- 启动EOS私有节点
nodeos -e -p eosio \
--plugin eosio::producer_plugin \
--plugin eosio::chain_api_plugin \
--plugin eosio::http_plugin \
-d ./eosData \
--config-dir ./eosData/config \
--access-control-allow-origin=* \
--contracts-console \
--http-validate-host=false \
—filter-on=‘*’
- 创建一个账户
cleos create account eosio bob YOUR_PUBLIC_KEY -p eosio@active
如果报错则需要将eosio账号的密钥对导入钱包
cleos wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

完成上面的所有操作后,我们就完成了EOS的开发环境搭建。下期将为大家带来EOS开发入门的相关内容,敬请关注。

EOS开发环境搭建的更多相关文章
- eos开发(一) eos开发环境搭建
区块链最近挺火的,我又是个非常缺钱的人,所以紧跟了潮流一头扎进区块链的研究中. 这EOS项目是目前比较火的一个项目,相信很多朋友拿到这份EOS的源代码后都会一脸懵逼,因为……这代码写得太高级了,老纸看 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- IntelliJ IDEA安装及jsp开发环境搭建
一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- TODO:小程序开发环境搭建
TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...
- Eclipse中Python开发环境搭建
Eclipse中Python开发环境搭建 目 录 1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...
- Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建
目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...
- Eclipse swt开发环境搭建
原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...
随机推荐
- 常见文本类css属性
学习web的第六天 p{ font-size:18px; /*文本尺寸*/ font-family:"隶书"; /*文本字体*/ font-weight:bold; /* ...
- 【学习笔记】【Design idea】二、产品内测、公测、候选版本的概念及版本代码的书写
一.前言 参考:百度百科 https://baike.baidu.com/item/beta/640969?fr=aladdin 广义上对测试有着三个传统的称呼:Alpha(α).Beta(β)和Ga ...
- python word转pdf
原理 使用python win32 库 调用word底层vba,将word转成pdf 安装pywin32 pip install pywin32 python代码 from win32com.clie ...
- 在word中如何美观地插入代码
打开这个网站 http://www.planetb.ca/syntax-highlight-word 进去后我们看到下面的界面 中间的空白文本框,可以插入代码,下面可以选择代码种类,最后点击Show ...
- Linux内存管理 (5)slab分配器
专题:Linux内存管理专题 关键词:slab/slub/slob.slab描述符.kmalloc.本地/共享对象缓冲池.slabs_partial/slabs_full/slabs_free.ava ...
- 安装虚拟机,磁盘选择厚置备延迟置零与厚置备置零和Thin Provision有什么区别
(1)厚置备延迟置零: (2)厚置备置零: (3)Thin Provision(精简置备). 这三种类型的磁盘,每一种类型的磁盘创建的方式和磁盘性能都有所不同,具体解释如下.1.厚置备延迟置零举例,本 ...
- Java基础重要知识点-反射
反射,如何把.java文件转化为.class文件 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信 ...
- 【机器学习篇】--SVD从初始到应用
SVD一般应用场景--推荐系统,图像压缩. 1.直观感受. SVD其实就是将矩阵分界,直观感受如图.就是将A矩阵分界成U,S,V三个矩阵相乘.一般推荐系统中用的多.S是对角阵,里面的特征值是从大到小排 ...
- android学习---下拉刷新组建
Google官方的下拉刷新组建 activity代码实现: /** * The SwipeRefreshLayout should be used whenever the user * can re ...
- mongodb Enable Auth
启动mongodb没有使用通道控制 mongod --port 27017 --dbpath /data/db1 连接mongo mongo --port 27017 创建用户 use admin d ...