Ubuntu14.04下Ontology开发环境如何构建、部署及测试

这篇文章主要介绍了Ubuntu 14.04下Ontology开发环境如何构建 、部署及测试,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

成都创新互联专注于企业成都全网营销推广、网站重做改版、班戈网站定制设计、自适应品牌网站建设、HTML5建站商城建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为班戈等各大城市提供网站开发制作服务。

安装 Go

从 https://golang.org/dl/ 下载最新版本的Golang

笔者用的操作系统是 Ubuntu 14.04 LTS,所以下载的是 go1.10.1.linux-amd64.tar.gz。

解压该压缩文件

blockchain@ThinkPad-T460:~$ tar -zxf go1.10.1.linux-amd64.tar.gz

配置环境变量

blockchain@ThinkPad-T460:~$ vim ~/.bashrc

在文件末尾添加

export GOROOT=$HOME/go
export GOPATH=$HOME/GoPath

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

注意:GOPATH环境变量指定了你的工作空间位置。工作目录可以放在任何地方,但不能和Go的安装目录相同。 Go的代码必须放在工作空间内,其中包含了三个子目录:

  • bin目录包含可执行命令

  • pkg目录包含包对象

  • src目录包含Go的源文件,它们被组织成包(每个目录对应一个包)

使环境变量立即生效

blockchain@ThinkPad-T460:~$ source ~/.bashrc

查看Go版本

blockchain@ThinkPad-T460:~$ go version
go version go1.10.1 linux/amd64

至此,Golang安装成功。

安装第三方包管理工具glide

blockchain@ThinkPad-T460:~$ sudo add-apt-repository ppa:masterminds/glide && sudo apt-get update
blockchain@ThinkPad-T460:~$ sudo apt-get install glide

获取ontology

进入 $GOPATH 下的src 目录,从 GitHub上 下载 ontology 的源码。

blockchain@ThinkPad-T460:~$ cd $GOPATH/src
blockchain@ThinkPad-T460:~/GoPath/src$ git clone https://github.com/ontio/ontology.git
Cloning into 'ontology'...
remote: Counting objects: 14252, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 14252 (delta 1), reused 15 (delta 1), pack-reused 14231
Receiving objects: 100% (14252/14252), 2.96 MiB | 428.00 KiB/s, done.
Resolving deltas: 100% (9293/9293), done.
Checking connectivity... done.

在 $GOPATH 下的src 目录创建 github.com/ontio 路径,将 ontology 源码目录 移至 该路径下。

blockchain@ThinkPad-T460:~/GoPath/src$ mkdir -p github.com/ontio
blockchain@ThinkPad-T460:~/GoPath/src$ mv ontology/ github.com/ontio/

用第三方包管理工具glide拉取依赖库

进入 $GOPATH/src/github.com/ontio/ontology 目录,输入 glide install

blockchain@ThinkPad-T460:~/GoPath/src$ cd $GOPATH/src/github.com/ontio/ontology
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$ ll
total 152
drwxrwxr-x 19 blockchain blockchain 4096  4月 17 17:18 ./
drwxrwxr-x  3 blockchain blockchain 4096  4月 17 17:19 ../
drwxrwxr-x  2 blockchain blockchain 4096  4月 17 17:18 account/
drwxrwxr-x  6 blockchain blockchain 4096  4月 17 17:18 cli/
drwxrwxr-x  6 blockchain blockchain 4096  4月 17 17:18 common/
-rw-rw-r--  1 blockchain blockchain  568  4月 17 17:18 config-dbft.json
-rw-rw-r--  1 blockchain blockchain  760  4月 17 17:18 config.json
-rw-rw-r--  1 blockchain blockchain  510  4月 17 17:18 config-solo.json
drwxrwxr-x  7 blockchain blockchain 4096  4月 17 17:18 consensus/
drwxrwxr-x 12 blockchain blockchain 4096  4月 17 17:18 core/
drwxrwxr-x  3 blockchain blockchain 4096  4月 17 17:18 docs/
drwxrwxr-x  2 blockchain blockchain 4096  4月 17 17:18 errors/
drwxrwxr-x  3 blockchain blockchain 4096  4月 17 17:18 events/
drwxrwxr-x  8 blockchain blockchain 4096  4月 17 17:18 .git/
-rw-rw-r--  1 blockchain blockchain  210  4月 17 17:18 .gitignore
-rw-rw-r--  1 blockchain blockchain 1295  4月 17 17:18 glide.yaml
drwxrwxr-x  9 blockchain blockchain 4096  4月 17 17:18 http/
-rw-rw-r--  1 blockchain blockchain 7651  4月 17 17:18 LICENSE
-rw-rw-r--  1 blockchain blockchain 5938  4月 17 17:18 main.go
-rw-rw-r--  1 blockchain blockchain  431  4月 17 17:18 Makefile
drwxrwxr-x  2 blockchain blockchain 4096  4月 17 17:18 merkle/
drwxrwxr-x  6 blockchain blockchain 4096  4月 17 17:18 net/
-rw-rw-r--  1 blockchain blockchain 1651  4月 17 17:18 nodectl.go
-rw-rw-r--  1 blockchain blockchain 9621  4月 17 17:18 README_CN.md
-rw-rw-r--  1 blockchain blockchain 9883  4月 17 17:18 README.md
drwxrwxr-x 10 blockchain blockchain 4096  4月 17 17:18 smartcontract/
drwxrwxr-x  3 blockchain blockchain 4096  4月 17 17:18 test/
-rw-rw-r--  1 blockchain blockchain   54  4月 17 17:18 TODO
-rwxrwxr-x  1 blockchain blockchain   96  4月 17 17:18 .travis.yml*
drwxrwxr-x  5 blockchain blockchain 4096  4月 17 17:18 txnpool/
drwxrwxr-x  7 blockchain blockchain 4096  4月 17 17:18 validator/
drwxrwxr-x  4 blockchain blockchain 4096  4月 17 17:18 vm/
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$ glide install
[INFO]	Lock file (glide.lock) does not exist. Performing update.
[INFO]	Downloading dependencies. Please wait...
[INFO]	--> Fetching updates for github.com/dnaproject/gopass.
[INFO]	--> Fetching updates for github.com/itchyny/base58-go.
[INFO]	--> Fetching updates for github.com/bitly/go-simplejson.
[INFO]	--> Fetching updates for github.com/hashicorp/golang-lru.
[INFO]	--> Fetching updates for github.com/gorilla/websocket.
[INFO]	--> Fetching updates for google.golang.org/genproto.
[INFO]	--> Fetching updates for github.com/pborman/uuid.
[INFO]	--> Fetching updates for github.com/syndtr/goleveldb.
[INFO]	--> Fetching updates for github.com/urfave/cli.
[INFO]	--> Fetching updates for github.com/orcaman/concurrent-map.
[INFO]	--> Fetching updates for github.com/whyrusleeping/tar-utils.
[INFO]	--> Fetching updates for golang.org/x/text.
[INFO]	--> Fetching updates for golang.org/x/crypto.
[INFO]	--> Fetching updates for github.com/Workiva/go-datastructures.
[INFO]	--> Fetching updates for github.com/AsynkronIT/goconsole.
[INFO]	--> Fetching updates for golang.org/x/sys.
[INFO]	--> Fetching updates for golang.org/x/net.
[INFO]	--> Fetching updates for google.golang.org/grpc.
[INFO]	--> Setting version for github.com/bitly/go-simplejson to v0.5.0.
[INFO]	--> Setting version for github.com/gorilla/websocket to v1.2.0.
[INFO]	--> Setting version for github.com/urfave/cli to v1.20.0.
[INFO]	--> Setting version for github.com/pborman/uuid to v1.1.
[INFO]	Resolving imports
[INFO]	--> Fetching updates for github.com/ontio/ontology-crypto.
[INFO]	--> Fetching updates for github.com/golang/crypto.
[INFO]	--> Fetching updates for github.com/emirpasic/gods.
[INFO]	--> Fetching updates for github.com/gogo/protobuf.
[INFO]	--> Fetching updates for github.com/ontio/ontology-eventbus.
[INFO]	--> Fetching updates for github.com/golang/snappy.
[INFO]	--> Fetching updates for github.com/davecgh/go-spew.
[INFO]	--> Fetching updates for github.com/pmezard/go-difflib.
[INFO]	Downloading dependencies. Please wait...
[INFO]	--> Fetching updates for github.com/valyala/bytebufferpool.
[INFO]	--> Fetching updates for github.com/stretchr/testify.
[INFO]	Setting references for remaining imports
[INFO]	Exporting resolved dependencies...
[INFO]	--> Exporting github.com/bitly/go-simplejson
[INFO]	--> Exporting github.com/dnaproject/gopass
[INFO]	--> Exporting github.com/gorilla/websocket
[INFO]	--> Exporting github.com/itchyny/base58-go
[INFO]	--> Exporting google.golang.org/genproto
[INFO]	--> Exporting github.com/pborman/uuid
[INFO]	--> Exporting github.com/ontio/ontology-crypto
[INFO]	--> Exporting github.com/urfave/cli
[INFO]	--> Exporting github.com/whyrusleeping/tar-utils
[INFO]	--> Exporting github.com/AsynkronIT/goconsole
[INFO]	--> Exporting github.com/Workiva/go-datastructures
[INFO]	--> Exporting github.com/emirpasic/gods
[INFO]	--> Exporting golang.org/x/text
[INFO]	--> Exporting golang.org/x/sys
[INFO]	--> Exporting github.com/ontio/ontology-eventbus
[INFO]	--> Exporting golang.org/x/net
[INFO]	--> Exporting golang.org/x/crypto
[INFO]	--> Exporting google.golang.org/grpc
[INFO]	--> Exporting github.com/hashicorp/golang-lru
[INFO]	--> Exporting github.com/gogo/protobuf
[INFO]	--> Exporting github.com/orcaman/concurrent-map
[INFO]	--> Exporting github.com/syndtr/goleveldb
[INFO]	--> Exporting github.com/golang/crypto
[INFO]	--> Exporting github.com/golang/snappy
[INFO]	--> Exporting github.com/stretchr/testify
[INFO]	--> Exporting github.com/valyala/bytebufferpool
[INFO]	--> Exporting github.com/pmezard/go-difflib
[INFO]	--> Exporting github.com/davecgh/go-spew
[INFO]	Replacing existing vendor dependencies
[INFO]	Project relies on 25 dependencies.
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$

用make编译源码

在 ontology 源码目录 下,输入 make

blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$ 
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$ make
go build  -ldflags "-X github.com/ontio/ontology/common/config.Version=v0.6-98-g521b"  -o ontology main.go
go build  -ldflags "-X main.Version=v0.6-98-g521b" nodectl.go
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$

成功编译后,会生成两个可执行程序。

blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$ ll
total 28468
drwxrwxr-x 20 blockchain blockchain     4096  4月 17 17:29 ./
drwxrwxr-x  3 blockchain blockchain     4096  4月 17 17:19 ../
drwxrwxr-x  2 blockchain blockchain     4096  4月 17 17:18 account/
drwxrwxr-x  6 blockchain blockchain     4096  4月 17 17:18 cli/
drwxrwxr-x  6 blockchain blockchain     4096  4月 17 17:18 common/
-rw-rw-r--  1 blockchain blockchain      568  4月 17 17:18 config-dbft.json
-rw-rw-r--  1 blockchain blockchain      760  4月 17 17:18 config.json
-rw-rw-r--  1 blockchain blockchain      510  4月 17 17:18 config-solo.json
drwxrwxr-x  7 blockchain blockchain     4096  4月 17 17:18 consensus/
drwxrwxr-x 12 blockchain blockchain     4096  4月 17 17:18 core/
drwxrwxr-x  3 blockchain blockchain     4096  4月 17 17:18 docs/
drwxrwxr-x  2 blockchain blockchain     4096  4月 17 17:18 errors/
drwxrwxr-x  3 blockchain blockchain     4096  4月 17 17:18 events/
drwxrwxr-x  8 blockchain blockchain     4096  4月 17 17:28 .git/
-rw-rw-r--  1 blockchain blockchain      210  4月 17 17:18 .gitignore
-rw-rw-r--  1 blockchain blockchain     3781  4月 17 17:26 glide.lock
-rw-rw-r--  1 blockchain blockchain     1295  4月 17 17:18 glide.yaml
drwxrwxr-x  9 blockchain blockchain     4096  4月 17 17:18 http/
-rw-rw-r--  1 blockchain blockchain     7651  4月 17 17:18 LICENSE
-rw-rw-r--  1 blockchain blockchain     5938  4月 17 17:18 main.go
-rw-rw-r--  1 blockchain blockchain      431  4月 17 17:18 Makefile
drwxrwxr-x  2 blockchain blockchain     4096  4月 17 17:18 merkle/
drwxrwxr-x  6 blockchain blockchain     4096  4月 17 17:18 net/
-rwxrwxr-x  1 blockchain blockchain 11850671  4月 17 17:29 nodectl*
-rw-rw-r--  1 blockchain blockchain     1651  4月 17 17:18 nodectl.go
-rwxrwxr-x  1 blockchain blockchain 17132760  4月 17 17:29 ontology*
-rw-rw-r--  1 blockchain blockchain     9621  4月 17 17:18 README_CN.md
-rw-rw-r--  1 blockchain blockchain     9883  4月 17 17:18 README.md
drwxrwxr-x 10 blockchain blockchain     4096  4月 17 17:18 smartcontract/
drwxrwxr-x  3 blockchain blockchain     4096  4月 17 17:18 test/
-rw-rw-r--  1 blockchain blockchain       54  4月 17 17:18 TODO
-rwxrwxr-x  1 blockchain blockchain       96  4月 17 17:18 .travis.yml*
drwxrwxr-x  5 blockchain blockchain     4096  4月 17 17:18 txnpool/
drwxrwxr-x  7 blockchain blockchain     4096  4月 17 17:18 validator/
drwxr-xr-x  5 blockchain blockchain     4096  4月 17 17:26 vendor/
drwxrwxr-x  4 blockchain blockchain     4096  4月 17 17:18 vm/
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$
  • ontology: 节点程序

  • nodectl: 以命令行方式提供的节点控制程序

创建ONT钱包文件

创建钱包

blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$ ./nodectl wallet --create --name wallet.dat --password passwordtest
Wallet File: 'wallet.dat'
public key:    12020277d2895bab1eb2bbc1224374ea64af7e0603f3121fb18df7190895a74307e234
hex address:  01bc336ce9e0286f9d241f812bacc6892db38d55
base58 address:       TA8P8gEZZcgX227CNfZKpMaRLSaXwfdJrq
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$

展示钱包

blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$  ./nodectl wallet --list account
Password:
Wallet File: 'wallet.dat'
public key:    12020277d2895bab1eb2bbc1224374ea64af7e0603f3121fb18df7190895a74307e234
hex address:  01bc336ce9e0286f9d241f812bacc6892db38d55
base58 address:       TA8P8gEZZcgX227CNfZKpMaRLSaXwfdJrq
blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$

服务器部署

  • 单机部署

  • 多机部署配置

  • 在公共测试网上部署节点

单机部署

在主目录下新建一个目录

blockchain@ThinkPad-T460:~$ mkdir ~/node

进入 ontology 的 source目录

blockchain@ThinkPad-T460:~/GoPath/src/github.com/ontio/ontology$ pwd
/home/blockchain/GoPath/src/github.com/ontio/ontology

把该目录下的:

  • 节点程序ontology

  • 节点控制程序nodectl

  • 钱包文件wallet.dat

  • config-solo.config 配置文件

复制到 新建的 node 文件夹下,将 config-solo.config 重命名为 config.json,编辑 config.json,修改Bookkeepers配置,用钱包公钥(public key)替换。

blockchain@ThinkPad-T460:~/node$ pwd
/home/blockchain/node
blockchain@ThinkPad-T460:~/node$ mv config-solo.json config.json 
blockchain@ThinkPad-T460:~/node$ vim config.json 
blockchain@ThinkPad-T460:~/node$

config.json 修改后的内容如下:

{
  "Configuration": {
    "Magic": 7630401,
    "Version": 23,
    "SeedList": [
      "127.0.0.1:20338"
    ],
    "Bookkeepers": [
      "12020277d2895bab1eb2bbc1224374ea64af7e0603f3121fb18df7190895a74307e234"
    ],
    "HttpRestPort": 20334,
    "HttpWsPort":20335,
    "HttpJsonPort": 20336,
    "HttpLocalPort": 20337,
    "NodePort": 20338,
    "NodeConsensusPort": 20389,
    "PrintLevel": 1,
    "IsTLS": false,
    "MaxTransactionInBlock": 50000,
    "MultiCoreNum": 4,
    "ConsensusType":"solo"
  }
}

此时的目录结构为:

blockchain@ThinkPad-T460:~$ tree node/
node/
├── config-solo.json
├── nodectl
├── ontology
└── wallet.dat

启动节点,并在出现 Password: 提示后输入节点的钱包密码

blockchain@ThinkPad-T460:~/node$ ./nodectl --h
NAME:
   nodectl - command line tool for Ontology blockchain

USAGE:
   nodectl [global options] command [command options] [args]

VERSION:
   v0.6-98-g521b

COMMANDS:
     test      run test routine
     transfer  user ont transfer
     wallet    user wallet operation
     help, h   Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --ip value     node's ip address (default: "localhost")
   --port value   node's RPC port (default: "20337")
   --help, -h     show help
   --version, -v  print the version
blockchain@ThinkPad-T460:~/node$ ./nodectl -v
nodectl version v0.6-98-g521b
blockchain@ThinkPad-T460:~/node$ ./ontology 
2018/04/17 20:20:09.187038 [TRACE] GID 1, main() main.go:76 Node version:  v0.6-98-g521b
2018/04/17 20:20:09.187168 [INFO ] GID 1, 0. Open the account
Password:
2018/04/17 20:20:16.264077 [INFO ] GID 1, 1. Loading the Ledger
2018/04/17 20:20:16.572088 [INFO ] GID 1, InitCurrentBlock currentBlockHash a7055f33ef44581180d4e73ba0e2a9b421395ea462ad2918b36b4c5ed2db2850 currentBlockHeight 5
2018/04/17 20:20:16.572833 [INFO ] GID 1, 3. Start the transaction pool server
2018/04/17 20:20:16.574710 [INFO ] GID 1, 4. Start the P2P networks
2018/04/17 20:20:16.574895 [INFO ] GID 1, Init node ID to 0xab5b89d277020212
2018/04/17 20:20:16.574985 [INFO ] GID 76, txpool actor started and be ready to receive txPool msg
2018/04/17 20:20:16.575106 [INFO ] GID 77, txpool-tx actor started and be ready to receive tx msg
2018/04/17 20:20:16.575163 [INFO ] GID 1, WaitForSyncBlkFinish... current block height is  5  ,current header height is  5
2018/04/17 20:20:16.575223 [INFO ] GID 1, 5. Start Consensus Services
2018/04/17 20:20:16.575336 [INFO ] GID 1, ConsensusType:solo
2018/04/17 20:20:16.575416 [INFO ] GID 79, statefull-validator: started and be ready to receive txn
2018/04/17 20:20:16.574755 [INFO ] GID 75, txpool-verify actor: started and be ready to receive validator's msg
2018/04/17 20:20:16.574904 [INFO ] GID 78, stateless-validator: started and be ready to receive txn
2018/04/17 20:20:16.575480 [WARN ] GID 84, p2p actor started
2018/04/17 20:20:16.575629 [WARN ] GID 90, solo actor started
2018/04/17 20:20:21.575664 [INFO ] GID 1, --Start the RPC interface
2018/04/17 20:20:22.575948 [INFO ] GID 37, incr validator block height 4294967295 != ledger block height 5
2018/04/17 20:20:22.576096 [INFO ] GID 37, current block Height 5, incrValidateHeight 5
2018/04/17 20:20:22.616021 [INFO ] GID 37, solo actor receives block complete event. block height= 6
2018/04/17 20:20:27.576408 [INFO ] GID 29, BlockHeight = 6
2018/04/17 20:20:28.576309 [INFO ] GID 100, current block Height 6, incrValidateHeight 6
2018/04/17 20:20:28.617860 [INFO ] GID 100, solo actor receives block complete event. block height= 7
2018/04/17 20:20:33.576793 [INFO ] GID 29, BlockHeight = 7
2018/04/17 20:20:34.575948 [INFO ] GID 112, current block Height 7, incrValidateHeight 6
2018/04/17 20:20:34.619755 [INFO ] GID 112, solo actor receives block complete event. block height= 8
2018/04/17 20:20:39.576459 [INFO ] GID 29, BlockHeight = 8
2018/04/17 20:20:40.575903 [INFO ] GID 123, current block Height 8, incrValidateHeight 6
2018/04/17 20:20:40.621813 [INFO ] GID 123, solo actor receives block complete event. block height= 9
2018/04/17 20:20:45.576501 [INFO ] GID 29, BlockHeight = 9
2018/04/17 20:20:46.575818 [INFO ] GID 56, current block Height 9, incrValidateHeight 6
2018/04/17 20:20:46.615421 [INFO ] GID 56, solo actor receives block complete event. block height= 10

至此,单机部署大功告成,此时的目录结构为:

blockchain@ThinkPad-T460:~$ tree node/
node/
├── ActorLog
│   ├── 2018-04-17_19.52.43_LOG.log
│   ├── 2018-04-17_19.53.58_LOG.log
│   ├── 2018-04-17_20.15.45_LOG.log
│   ├── 2018-04-17_20.18.01_LOG.log
│   └── 2018-04-17_20.20.09_LOG.log
├── Chain
│   ├── block
│   │   ├── 000004.ldb
│   │   ├── 000005.log
│   │   ├── CURRENT
│   │   ├── LOCK
│   │   ├── LOG
│   │   └── MANIFEST-000006
│   ├── ledgerevent
│   │   ├── 000004.ldb
│   │   ├── 000005.log
│   │   ├── CURRENT
│   │   ├── LOCK
│   │   ├── LOG
│   │   └── MANIFEST-000006
│   ├── merkle_tree.db
│   └── states
│       ├── 000002.ldb
│       ├── 000005.ldb
│       ├── 000006.log
│       ├── CURRENT
│       ├── LOCK
│       ├── LOG
│       └── MANIFEST-000007
├── config.json
├── Log
│   ├── 2018-04-17_19.52.43_LOG.log
│   ├── 2018-04-17_19.53.58_LOG.log
│   └── 2018-04-17_20.20.09_LOG.log
├── nodectl
├── ontology
└── wallet.dat

6 directories, 32 files
blockchain@ThinkPad-T460:~$

多机部署配置

网络环境下,最少需要4个节点(共识节点)完成部署。由于笔者资源有限,此处省略一万字。

在公共测试网上部署

只需 将 单机部署的 config.json 中的内容 改为:

{
  "Configuration": {
    "Magic": 7630401,
    "Version": 23,
    "SeedList": [
     "139.219.108.204:20338",
     "139.219.111.50:20338",
     "139.219.69.70:20338",
     "40.125.165.118:20338"
    ],

    "Bookkeepers": [
    "1202021c6750d2c5d99813997438cee0740b04a73e42664c444e778e001196eed96c9d",
    "12020339541a43af2206358714cf6bd385fc9ac8b5df554fec5497d9e947d583f985fc",
    "120203bdf0d966f98ff4af5c563c4a3e2fe499d98542115e1ffd75fbca44b12c56a591",
    "1202021401156f187ec23ce631a489c3fa17f292171009c6c3162ef642406d3d09c74d"
    ],

    "HttpRestPort": 20334,
    "HttpWsPort":20335,
    "HttpJsonPort": 20336,
    "HttpLocalPort": 20337,
    "NodePort": 20338,
    "NodeConsensusPort": 20339,
    "PrintLevel": 1,
    "IsTLS": false,
    "MaxTransactionInBlock": 60000,
    "MultiCoreNum": 4
  }
}

然后启动 ontology 程序,即可。

blockchain@ThinkPad-T460:~/node$ ./ontology 
2018/04/18 21:57:54.244387 [TRACE] GID 1, main() main.go:76 Node version:  v0.6-98-g521b
2018/04/18 21:57:54.247436 [INFO ] GID 1, 0. Open the account
Password:
2018/04/18 21:58:02.643795 [INFO ] GID 1, 1. Loading the Ledger
2018/04/18 21:58:02.948874 [INFO ] GID 1, InitCurrentBlock currentBlockHash 0000000000000000000000000000000000000000000000000000000000000000 currentBlockHeight 0
2018/04/18 21:58:02.998638 [INFO ] GID 1, 3. Start the transaction pool server
2018/04/18 21:58:03.001169 [INFO ] GID 1, 4. Start the P2P networks
2018/04/18 21:58:03.001337 [INFO ] GID 62, txpool-tx actor started and be ready to receive tx msg
2018/04/18 21:58:03.001338 [INFO ] GID 1, Init node ID to 0xab5b89d277020212
2018/04/18 21:58:03.001473 [INFO ] GID 63, stateless-validator: started and be ready to receive txn
2018/04/18 21:58:03.001595 [INFO ] GID 64, statefull-validator: started and be ready to receive txn
2018/04/18 21:58:03.001665 [INFO ] GID 61, txpool actor started and be ready to receive txPool msg
2018/04/18 21:58:03.002260 [WARN ] GID 75, p2p actor started
2018/04/18 21:58:03.004022 [INFO ] GID 60, txpool-verify actor: started and be ready to receive validator's msg
2018/04/18 21:58:03.005939 [INFO ] GID 73, Connect node 192.168.30.215:43184 connect with 139.219.69.70:20338 with tcp
2018/04/18 21:58:03.005984 [INFO ] GID 74, Connect node 192.168.30.215:49756 connect with 40.125.165.118:20338 with tcp
2018/04/18 21:58:03.006177 [INFO ] GID 72, Connect node 192.168.30.215:34600 connect with 139.219.111.50:20338 with tcp
2018/04/18 21:58:03.006416 [INFO ] GID 71, Connect node 192.168.30.215:60956 connect with 139.219.108.204:20338 with tcp
2018/04/18 21:58:03.010987 [INFO ] GID 84, Node info:
2018/04/18 21:58:03.012163 [INFO ] GID 99, Node info:
2018/04/18 21:58:03.012696 [INFO ] GID 84, 	 state =  4
2018/04/18 21:58:03.014218 [INFO ] GID 84, 	 id = 0xaf431a5439030212
2018/04/18 21:58:03.014307 [INFO ] GID 84, 	 addr =  139.219.111.50
2018/04/18 21:58:03.014509 [INFO ] GID 84, 	 conn =  &{{0xc4200d4380}}
2018/04/18 21:58:03.014584 [INFO ] GID 84, 	 cap =  [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
2018/04/18 21:58:03.014638 [INFO ] GID 84, 	 version =  0
2018/04/18 21:58:03.014691 [INFO ] GID 84, 	 services =  0
2018/04/18 21:58:03.014744 [INFO ] GID 84, 	 port =  20338
2018/04/18 21:58:03.014797 [INFO ] GID 84, 	 relay =  true
2018/04/18 21:58:03.014849 [INFO ] GID 84, 	 height =  284191
2018/04/18 21:58:03.014901 [INFO ] GID 84, 	 conn cnt =  0
2018/04/18 21:58:03.012915 [INFO ] GID 115, Node info:
2018/04/18 21:58:03.015069 [INFO ] GID 115, 	 state =  4
2018/04/18 21:58:03.015119 [INFO ] GID 115, 	 id = 0x186f150114020212
2018/04/18 21:58:03.015170 [INFO ] GID 115, 	 addr =  40.125.165.118
2018/04/18 21:58:03.015280 [INFO ] GID 115, 	 conn =  &{{0xc42021c080}}
2018/04/18 21:58:03.015353 [INFO ] GID 115, 	 cap =  [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
2018/04/18 21:58:03.015406 [INFO ] GID 115, 	 version =  0
2018/04/18 21:58:03.015459 [INFO ] GID 115, 	 services =  0
2018/04/18 21:58:03.015511 [INFO ] GID 115, 	 port =  20338
2018/04/18 21:58:03.015563 [INFO ] GID 115, 	 relay =  true
2018/04/18 21:58:03.015613 [INFO ] GID 115, 	 height =  284191
2018/04/18 21:58:03.015672 [INFO ] GID 115, 	 conn cnt =  0
2018/04/18 21:58:03.014138 [INFO ] GID 41, Node info:
2018/04/18 21:58:03.015764 [INFO ] GID 41, 	 state =  4
2018/04/18 21:58:03.015818 [INFO ] GID 41, 	 id = 0xc5d250671c020212
2018/04/18 21:58:03.015861 [INFO ] GID 41, 	 addr =  139.219.108.204
2018/04/18 21:58:03.015941 [INFO ] GID 41, 	 conn =  &{{0xc4200d4280}}
2018/04/18 21:58:03.015994 [INFO ] GID 41, 	 cap =  [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
2018/04/18 21:58:03.016124 [INFO ] GID 41, 	 version =  0
2018/04/18 21:58:03.016198 [INFO ] GID 41, 	 services =  0
2018/04/18 21:58:03.016267 [INFO ] GID 41, 	 port =  20338
2018/04/18 21:58:03.016329 [INFO ] GID 41, 	 relay =  true
2018/04/18 21:58:03.016386 [INFO ] GID 41, 	 height =  284191
2018/04/18 21:58:03.016440 [INFO ] GID 41, 	 conn cnt =  0
2018/04/18 21:58:03.016571 [INFO ] GID 99, 	 state =  4
2018/04/18 21:58:03.016819 [INFO ] GID 99, 	 id = 0xf966d9f0bd030212
2018/04/18 21:58:03.016917 [INFO ] GID 99, 	 addr =  139.219.69.70
2018/04/18 21:58:03.017029 [INFO ] GID 99, 	 conn =  &{{0xc4201c6d80}}
2018/04/18 21:58:03.017136 [INFO ] GID 99, 	 cap =  [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
2018/04/18 21:58:03.017197 [INFO ] GID 99, 	 version =  0
2018/04/18 21:58:03.017217 [INFO ] GID 102, The ip address is 10.0.0.5:20338 id is 0x186f150114020212
2018/04/18 21:58:03.017272 [INFO ] GID 99, 	 services =  0
2018/04/18 21:58:03.017343 [INFO ] GID 99, 	 port =  20338
2018/04/18 21:58:03.017293 [INFO ] GID 102, The ip address is 10.0.0.8:20338 id is 0x4708d88e2030212
2018/04/18 21:58:03.017414 [INFO ] GID 99, 	 relay =  true
2018/04/18 21:58:03.017480 [INFO ] GID 99, 	 height =  284191
2018/04/18 21:58:03.017543 [INFO ] GID 99, 	 conn cnt =  0
2018/04/18 21:58:03.017442 [INFO ] GID 102, The ip address is 10.0.0.6:20338 id is 0xc5d250671c020212
2018/04/18 21:58:03.017747 [INFO ] GID 102, The ip address is 10.0.0.7:20338 id is 0xf966d9f0bd030212
2018/04/18 21:58:03.017809 [INFO ] GID 102, The ip address is 61.48.40.26:20338 id is 0xab5b89d277020212
2018/04/18 21:58:03.017842 [INFO ] GID 105, The ip address is 10.0.0.4:20338 id is 0xaf431a5439030212
2018/04/18 21:58:03.017891 [INFO ] GID 105, The ip address is 10.0.0.6:20338 id is 0xc5d250671c020212
2018/04/18 21:58:03.017933 [INFO ] GID 105, The ip address is 10.0.0.8:20338 id is 0x4708d88e2030212
2018/04/18 21:58:03.017977 [INFO ] GID 105, The ip address is 10.0.0.7:20338 id is 0xf966d9f0bd030212
2018/04/18 21:58:03.018023 [INFO ] GID 105, The ip address is 61.48.40.26:20338 id is 0xab5b89d277020212
2018/04/18 21:58:03.021864 [INFO ] GID 107, The ip address is 10.0.0.8:20338 id is 0x4708d88e2030212
2018/04/18 21:58:03.022122 [INFO ] GID 107, The ip address is 10.0.0.6:20338 id is 0xc5d250671c020212
2018/04/18 21:58:03.022200 [INFO ] GID 107, The ip address is 10.0.0.4:20338 id is 0xaf431a5439030212
2018/04/18 21:58:03.022261 [INFO ] GID 107, The ip address is 10.0.0.5:20338 id is 0x186f150114020212
2018/04/18 21:58:03.022325 [INFO ] GID 107, The ip address is 61.48.40.26:20338 id is 0xab5b89d277020212
2018/04/18 21:58:03.022521 [INFO ] GID 109, The ip address is 61.48.40.26:20338 id is 0xab5b89d277020212
2018/04/18 21:58:03.022595 [INFO ] GID 109, The ip address is 10.0.0.7:20338 id is 0xf966d9f0bd030212
2018/04/18 21:58:03.022656 [INFO ] GID 109, The ip address is 10.0.0.8:20338 id is 0x4708d88e2030212
2018/04/18 21:58:03.022717 [INFO ] GID 109, The ip address is 10.0.0.4:20338 id is 0xaf431a5439030212
2018/04/18 21:58:03.022775 [INFO ] GID 109, The ip address is 10.0.0.5:20338 id is 0x186f150114020212
2018/04/18 21:58:06.001887 [INFO ] GID 1, WaitForSyncBlkFinish... current block height is  0  ,current header height is  0
2018/04/18 21:58:07.470968 [INFO ] GID 167, inv request block hash: 27906e0ddda8afb1a82f0aa14793e586a0b75628bfc256e933a51158d1b063aa

感谢你能够认真阅读完这篇文章,希望小编分享的“Ubuntu 14.04下Ontology开发环境如何构建 、部署及测试”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


文章标题:Ubuntu14.04下Ontology开发环境如何构建、部署及测试
分享地址:http://hbruida.cn/article/gjdoco.html