查看: 23|回复: 0

[互联网的那点事] {兄弟连区块链培训}EOS源码分析(2)EOS运行

发表于 2018-7-11 16:42:16
EOS 安装完毕后,就可以运行EOS 程序了。目前支持三种方式的运行,分别是:
- 本地私有节点运行
    在本地局域网中部署EOS节点,提供EOS服务,节点可以单个,也可以部署多节点
- 在测试公网下运行
    Block.One 公司提供了测试的公网环境,你可以使自己部署的节点连接公网测试环境
- Docker 中运行

## 本地私有节点运行
EOS为了能够方便开发者测试,目前在公网环境下部署了一套测试网络。如果你部署的节点不与这套公网测试环境连接,那就成为本地私有节点部署。在进行本地部署的时候,可以只部署单一节点,也可以部署多个节点,下面我们会分别介绍这两种情况:

### 单节点的部署与运行
当成功编译项目后,就可以在`build/programs/eosiod` 目录下运行程序了。调用`eosiod` 命令可以运行EOS 节点程序,当你第一次运行时,很有可能会出现错误而停止运行,不管是否出现错误,都通过 `Ctrl-C` 停止程序,你需要先对程序做一些配置后,系统才能真正运行。当第一次运行程序后,会自动生成 `data-dir` 目录,里面包含了默认的配置文件(`config.ini`)和一些其他文件。你需要对配置文件做如下的修改:

- 添加创世纪的block
`genesis-json = /path/to/eos/genesis.json`

- 在测试链上设置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
    ```
- 加载区块生产插件,从而系统可以生产区块
`plugin = eosio::producer_plugin`
- 加载钱包插件,从而支持钱包服务
`plugin = eosio::wallet_api_plugin`
- 加载RPC和API插件,从而可以通过这两种接口访问EOS服务

    ```
    plugin = eosio::chain_api_plugin
    plugin = eosio::http_plugin
    ```

再次运行`eosiod` 命令,当你看到如下日志的时候,说明你已经成功启动EOS服务了。

```
1575001ms thread-0 chain_controller.cpp:235 _push_block ] initm #1 @2017-09-04T04:26:15 | 0 trx, 0 pending, exectime_ms=0
1575001ms thread-0 producer_plugin.cpp:207 block_production_loo ] initm generated block #1 @ 2017-09-04T04:26:15 with 0 trxs 0 pending
1578001ms thread-0 chain_controller.cpp:235 _push_block ] initc #2 @2017-09-04T04:26:18 | 0 trx, 0 pending, exectime_ms=0
1578001ms thread-0 producer_plugin.cpp:207 block_production_loo ] initc generated block #2 @ 2017-09-04T04:26:18 with 0 trxs 0 pending
...
```
比特币没赶上?以太币没有买?你错过了成为了百万富翁的梦但是不要错失成为创造者的机会!!!每晚8点-9点半兄弟连区块链学院正式开课:http://www.ydma.cn/open/course/16 【清华学霸携全球区块链大赛冠军团队】带你实战区块链开发!!!



回复

使用道具 举报