史诗级的区块链操作系统EOS安装手册

什么是EOS?

Eos是一个区块链操作系统,它提供了数据库,账号许可,调度,认证和互联网应用通信,这极大地提高了智能商业开发的效率,它使用了并行计算使得把区块链拓展到百万用户和每秒百万次交易成为可能。

入门

以下说明概述了获取EOS、构建以及运行生成块的简单测试过程。

建立构建/开发环境

该项目主要以C++ 14编写,并使用CMake作为其构建系统。推荐使用最新的C++工具(如Clang或GCC)和最新版本的CMake。在撰写本文时,疯狂的小猫使用Clang 4.0.0和CMake 3.8.0。

安装依赖关系

EOS具有以下外部依赖关系,系统上必须安装:

Boost 1.64

OpenSSL

LLVM 4.0

secp256k1-zkp (Cryptonomex branch)

git clone https://github.com/cryptonomex/secp256k1-zkp.git

./autogen.sh

./configure

make

sudo make install

注意:此处如果出现not found错误很可能是因为没有安装automake工具所致。

sudo apt-get install autoconf automake libtool

获取代码

要下载所有代码,请下载EOS和一个递归或两个子模块。所有这一切的最简单方法是执行递归克隆:

git clone https://github.com/eosio/eos --recursive

如果在没有--recursive参数的情况下克隆了一个repo,那么可以通过在repo内运行此命令,在时间之后检索子模块:

git submodule update --init --recursive

配置和构建

要做一个源代码生成,只需从顶级目录运行cmake。还支持源代码外构建。要在编译器中覆盖clang的默认选择,请将这些参数添加到CMake命令中:

-DCMAKE_CXX_COMPILER=/path/to/c++ -DCMAKE_C_COMPILER=/path/to/cc

对于调试版本,添加-DCMAKE_BUILD_TYPE=Debug。其他常见的构建类型包括Release和RelWithDebInfo。

在成功运行cmake之后,只需运行make即可构建所有内容。要在构建后运行测试套件,请在test文件夹中运行chain_test可执行文件。

创建并启动单节点testnet

项目构建成功后,eosd二进制文件应该存在于programs/eosd目录中。继续运行eosd他可能会出现一个错误,但如果没有请Ctrl+C关闭。请注意eosd将创建一个名为data-dir包含默认配置(config.ini)和一些其他内部的目录。这个默认数据存储路径可以通过传递--data-dir /path/to/data 来覆盖eosd。

编辑config.ini文件,将以下配置添加到已经存在的默认配置中:

# Load the testnet genesis state, which creates some initial block producers with the default keygenesis-json = /path/to/eos/source/genesis.json

# Enable production on a stale chain, since a single-node test chain is pretty much always staleenable-stale-production = true

# Enable block production with the testnet producers

producer-name = inita

producer-name = initb

producer-name = initc

producer-name = initd

producer-name = inite

producer-name = initf

producer-name = initg

producer-name = inith

producer-name = initi

producer-name = initj

producer-name = initk

producer-name = initl

producer-name = initm

producer-name = initn

producer-name = inito

producer-name = initp

producer-name = initq

producer-name = initr

producer-name = inits

producer-name = initt

producer-name = initu

# Load the block producer plugin, so we can produce blocks

plugin = eos::producer_plugin

现在可以允许eosd并看到它开始生成块。目前,P2P代码没有实现,所以只有单节点配置是可执行的。当实现P2P网络时,将更新该指令以显示如何创建示例多节点testnet。

在docker中运行

操作简便快捷EOS:

Docker

Docker-compose

Docker-volumes

构建 eos images

cd eos/Docker

cp ../genesis.json .

docker build -t eosio/eos .

开始 Docker

sudo mkdir -p /data/store/eos

docker-compose -f docker-compose.yml up

你可能感兴趣的:(史诗级的区块链操作系统EOS安装手册)