ChainX 搭建

参考链接

环境

  • 服务器系统
    CentOS
  • Rust & WebAssembly
    安装命令
curl https://sh.rustup.rs -sSf | sh
安装完成后,相应的执行命令路径亦写到安装用户的系统配置文件中,要生效直接执行命令:
source ~/.bash_profile

$ rustup update nightly
$ rustup target add wasm32-unknown-unknown --toolchain nightly
$ rustup update stable
$ cargo install --git https://github.com/alexcrichton/wasm-gc

验证

rustc --version
输出:
rustc 1.30.1 (1433507eb 2018-11-07)

cmake & pkg-config & openssl-devel

cmake
$ wget https://cmake.org/files/v3.13/cmake-3.13.1.tar.gz
$ tar zxvf cmake-3.13.1.tar.gz
$ cd cmake-3.13.1
$ ./bootstrap
$ gmake
$ gmake install

pkg-config
$ wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
$ tar zxvf pkg-config-0.29.2.tar.gz
$ cd pkg-config-0.29.2
$ ./configure --with-internal-glib
$ make & make install 

openssl-devel
$ yum install openssl-devel 

ChainX源码安装

  • 下载源码&编译
##下载
$ git clone https://github.com/chainx-org/ChainX ~/ChainX
$ cd ~/ChainX
## 编译
$ cargo +nightly build --release
## 代码路径 
target/release/chainx
编译完成后目录结构
  • 运行
RUST_LOG=info ./chainx --chainspec=dev --telemetry --name=YOUR_NAME --bootnodes=/ip4/47.93.16.189/tcp/20222/p2p/QmRdBJk8eVPjkHcxZvRAUZdWtTq96mWivJFc7tpJ8fUEGU --db-path=/tmp/chainx
 name:节点名称
db-path:本地存储路径

通过官方web钱包创建个人账号:
http://wallet.chainx.org
保存seed及address 

启动命令添加--key=<seed> validator :
RUST_LOG=info ./chainx --chainspec=dev --telemetry --name=YOUR_NAME --bootnodes=/ip4/47.93.16.189/tcp/20222/p2p/QmRdBJk8eVPjkHcxZvRAUZdWtTq96mWivJFc7tpJ8fUEGU --db-path=/tmp/chainx --key=YOUR_SEED validator 
  • 异常信息
  Compiling openssl-sys v0.9.36
error: failed to run custom build command for `openssl-sys v0.9.36`
process didn't exit successfully: `/data/chen/rust/ChainX/target/release/build/openssl-sys-e59f5626f2a0d7bb/build-script-main` (exit code: 101)
--- stdout
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
cargo:rerun-if-env-changed=OPENSSL_DIR
run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit code: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc\'\nto the PKG_CONFIG_PATH environment variable\nNo package \'openssl\' found\n"

--- stderr
thread 'main' panicked at '

Could not find directory of OpenSSL installation, and this `-sys` crate cannot
proceed without this knowledge. If OpenSSL is installed and this crate had
trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
compilation process.

Make sure you also have the development packages of openssl installed.
For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

If you're in a situation where you think the directory *should* be found
automatically, please open a bug at https://github.com/sfackler/rust-openssl
and include information about your system as well as this message.

   $HOST = x86_64-unknown-linux-gnu
   $TARGET = x86_64-unknown-linux-gnu
   openssl-sys = 0.9.36

', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.36/build/main.rs:265:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.
error: failed to run custom build command for `openssl-sys v0.9.36`
process didn't exit successfully: `/data/chen/rust/ChainX/target/release/build/openssl-sys-e59f5626f2a0d7bb/build-script-main` (exit code: 101)
--- stdout
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
cargo:rerun-if-env-changed=OPENSSL_DIR

--- stderr
thread 'main' panicked at 'OpenSSL include directory does not exist: /data/chen/rust/libs/openssl/include', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.36/build/main.rs:65:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.

解决方式:

配置OPENSSL_DIR
   编辑配置文件:vim ~/.bash_profile 
   添加如下配置:
      OPENSSL_DIR=/root/chainx/openssl
      export OPENSSL_DIR
   保存修改,并加载配置文件:source ~/.bash_profile

创建OPENSSL_DIR目录,并在该目录下软链对应的.so文件(lib文件)和 .h(include 文件)
查找openssl的so文件:
    查看openssl命令位置:which openssl
      结果:/usr/bin/openssl
    查看命令链接的so文件:ldd /usr/bin/openssl
      结果:libssl.so.10 => /lib64/libssl.so.10  (见图1,找到所需目录/lib64)
创建软链:  ln -s /lib64 /root/chainx/openssl/lib

查找openssl的include文件:find / -name "openssl"|grep include
    结果:/usr/local/ssl/include/openssl(见图2,找到所需目录)
 创建软链: ln -s /usr/local/ssl/include/openssl /root/chainx/openssl/include
图1

图2
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容