官方文档

获取代码

git clone https://github.com/EOSIO/eos --recursive
# --recursive表示自动获取更新子项目,相当于:
# git submodule update --init --recursive

4中编译方式

自动编译脚本

笔者目前采取第一种方式编译,4核8G的电脑编译了2个小时。

Docker Compose

手动编译

安装执行文件

配置EOS

配置文件

  • 配置文件地址:
    Linux: ~/.local/share/eosio/nodeos/config
  • 区块文件:
    Linux:~/.local/share/eosio/nodeos/data

单节点网络

# 1.命令行启动
$ cd build/programs/nodeos
$ ./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin# 2.通过配置config.ini方式
# Enable production on a stale chain, since a single-node test chain is pretty much always stale
enable-stale-production = true
# Enable block production with the testnet producers
producer-name = eosio
# Load the block producer plugin, so you can produce blocks
# plugin = eosio::producer_plugin
# As well as API and HTTP plugins
plugin = eosio::chain_api_plugin
# plugin = eosio::http_plugin
# This will be used by the validation step below, to view history
plugin = eosio::history_api_plugin

多节点网络

开启钱包管理

// 第一个窗口
$ keosd --http-server-address 127.0.0.1:8899
// 实践发现,上述步骤可以省略,每次运行cleos命令,未开启keosd会默认开启一个服务。

创建默认钱包

// 第二个窗口
$ cleos  wallet create --to-console
// 备份密码将来使用
Creating wallet: default
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5JsmfYz2wrdUEotTzBamUCAunAA8TeRZGT57Ce6PkvM12tre8Sm"

导入eos key

上面步骤中启动的私有区块链是用默认的初始键创建的,该初始键必须加载到钱包中。
在自动生成的config.ini文件中,我看到了一样的私钥对。

$ cleos wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
imported private key for: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

启动第一个生产节点

// 第三个窗口
$ nodeos --enable-stale-production --producer-name eosio --plugin eosio::chain_api_plugin --plugin eosio::net_api_plugin

启动第二个节点

这个命令在${EOSIO_SOURCE}目录运行。在启动额外的节点之前,你必须先加载eosio.bios合约。
该合约使您能够直接控制其他帐户的资源分配,并访问其他特权API调用。返回到第二个终端窗口,运行以下命令加载合同:

// 第二个窗口
// 遇到的坑 1.卡主不动无法继续运行,重启电脑搞定。2.官网文档没有加"-p eosio",导致失败。
$ cleos set contract eosio build/contracts/eosio.bios -p eosio
$ cleos create key
Private key: 5JgbL2ZnoEAhTudReWH1RnMuQS6DBeLZt4ucV6t8aymVEuYg7sr
Public key: EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg$ cleos wallet import 5JgbL2ZnoEAhTudReWH1RnMuQS6DBeLZt4ucV6t8aymVEuYg7sr
imported private key for: EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg// 创建一个账户需要2个public key;一个是owner key和active key. 这里2个key一样。
$ cleos create account eosio inita
EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg
executed transaction: d1ea511977803d2d88f46deb554f5b6cce355b9cc3174bec0da45fc16fe9d5f3  352 bytes  102400 cycles
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"inita","owner":{"threshold":1,"keys":[{"key":"EOS6hMjoWRF2L8x9YpeqtUEcsDK...
// 第四个窗口
$ nodeos --producer-name inita --plugin eosio::chain_api_plugin --plugin eosio::net_api_plugin --http-server-address 127.0.0.1:8889 --p2p-listen-endpoint 127.0.0.1:9877 --p2p-peer-address 127.0.0.1:9876 --config-dir node2 --data-dir node2 --private-key [\"EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg\",\"5JgbL2ZnoEAhTudReWH1RnMuQS6DBeLZt4ucV6t8aymVEuYg7sr\"]// 到这里,第二个节点是一个空闲的producer。切换producer,让inita变成active producer,需要bios node操作
$ cleos push action eosio setprods "{ \"schedule\": [{\"producer_name\": \"inita\",\"block_signing_key\": \"EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg\"}]}" -p eosio@active
executed transaction: 2cff4d96814752aefaf9908a7650e867dab74af02253ae7d34672abb9c58235a  272 bytes  105472 cycles
# eosio <= eosio::setprods  {"version":1,"producers":[{"producer_name":"inita","block_signing_key":"EOS6hMjoWRF2L8x9YpeqtUEcsDKA...
// 验证结果
cleos get info
cleos --url http://127.0.0.1:8889 get info

【EOS】1.环境搭建相关推荐

  1. 第4课 如何在UBUNTU虚拟机上编译EOS完成环境搭建?

    1,摘要 [本文目标] 通过本文实践,能在WINDOWS操作系统搭建UBUNTU 18.04 LTS环境,并在此环境编译成功EOS v1.0.5正式发布版本. [前置条件] 有学习EOS环境搭建意向, ...

  2. 如何在UBUNTU虚拟机上编译EOS完成环境搭建?(附代码)

    1 摘要 [本文目标] 通过本文实践,能在WINDOWS操作系统搭建UBUNTU 18.04 LTS环境,并在此环境编译成功EOS v1.0.5正式发布版本. [前置条件] 有学习EOS环境搭建意向, ...

  3. 区块链100讲:EOS环境搭建入门(私链节点-钱包-密钥-账号)

    1 摘要 [本文目标] 通过本文实践,能在已编译的EOS V1.0.5版本环境上,完成私链节点启动,钱包创建,密钥导入和账号创建等内容. [前置条件] 你已完成了EOS编译,编译测试成功.未完成的可参 ...

  4. EOS区块链技术开发(一)环境搭建

    强烈建议直接去看EOSIO官网上的教程:https://developers.eos.io/ 不要看我的??博文了,以下博文就是我当时随便写写的,现在也没有什么时间详细修改.如果有问题可以提问. 注: ...

  5. 【系列】EOS开发1 开发环境搭建

    上一篇文章搜集了EOS相关的网站,涵盖了EOS开发.资讯.项目等,方便在需要的时候查阅,但是要真正了解一个开源项目最好的办法就是本地搭建一个环境,跑起来看看效果,这篇文件就介绍了如何搭建一套EOS运行 ...

  6. c++ eos智能合约开发_干货|EOS智能合约开发(一)EOS环境搭建和启动节点

    引言 EOS的智能合约采用C++ 编写,因为C++ 的高效性,没有C++ 编程基础的同学可以先学习<Efficient&Elegant:Java程序员入门Cpp>.EOS中用户开发 ...

  7. 第一篇 - 手把手教你理清EOS各种开发环境搭建来龙去脉

    目前来讲,任何学习EOS相关技术的资料都来自https://github.com/EOSIO/eos,可能大家在搭建EOS开发环境的过程中,会很迷茫,网上资料都很乱,自己也理不清头绪,不知如何下手.在 ...

  8. 区块链搭建eos开发环境

    eos环境搭建 前言:准备环境 window10(家庭版)+ docker desktop + eos studio 安装docker desktop 访问docker官方,下载软件 (https:/ ...

  9. EOS智能合约开发-开发环境搭建

    我们先尽量简单直白的说下什么是EOS链,资源,智能合约,以及之间的关系. EOS链 我们可以把EOS链想成一个由多台服务器组成的一个计算机云集群{无意突出此链的中心化}.每台服务器(节点)上都部署着一 ...

  10. eos源码分析和应用(一)调试环境搭建

    转载自 http://www.limerence2017.com/2018/09/02/eos1/#more eos基于区块链技术实现的开源引擎,开发人员可以基于该引擎开发DAPP(分布式应用).下面 ...

最新文章

  1. 【深度学习】U-Net 网络分割多分类医学图像解析
  2. Bit-Z 项目评审中心开启首次投票币竞选
  3. 这个国家太奇怪了!全球最落后的国家之一,却又是世界上最幸福的国家!
  4. macos 安装scala_如何在MacOS上安装Scala和Apache Spark
  5. VC 系统托盘 气泡提示
  6. qml入门学习(一):hello world
  7. 分享几点论文降重的方法(干货)
  8. Android/iOS 终端快速截屏技巧
  9. 四川省中小学计算机台球标准,《四川省中小学教育技术装备标准》.xls
  10. Sematic-UI安装方法:
  11. easywechat微信开发系列(2):公众号网页支付
  12. 史上最拉跨的导线平差程序( by C#)
  13. 杭州云栖大会“弹性计算用户实践专场”等你来
  14. InputStream输入流七牛上传图片
  15. 微信防撤回(.dll补丁形式)
  16. 面试姊妹篇4:常见的Java多线程面试题
  17. Win10取消文件默认打开方式
  18. 多线程应用_左圆右方
  19. python五子棋ai_零基础学Python之—AI五子棋(1)
  20. Keil报错:Undefined symbol GPIO_Init

热门文章

  1. Error:Could not find common.jar (android.arch.core:common:1.0.0)
  2. Call to your teacher(深度搜索)
  3. 【C++】双边滤波器(bilateral filter)
  4. 关于web.xml配置中的url-pattern
  5. 数据结构与算法之递推算法 C++与PHP实现
  6. 用AngularJS开发下一代Web应用pdf
  7. Windows批处理(cmd/bat)常用命令小结
  8. 最近学到一些linq和面向对象的经验分享
  9. Tomcat源码学习(2)-How Tomcat works(转)
  10. Enterprise Library: Data Access Application Block使用向导,Part 1