当前位置:   article > 正文

FISCO BCOS搭链最全教程(Ubuntu)

fisco bcos

注意:

1.使用SSH连接时,首先必须要有ssh连接工具openssh-server, 新系统要安装。

sudo apt-get install openssh-server

2.在普通用户中设置root的密码。

sudo passwd root
  1. su root
  2. cd ~

3.使用root用户连接。

vi /etc/ssh/sshd_config

取消文件里PermitRootLogin yes的注释,退出保存;若没有需要手动添加,保存退出,然后重启sshd。

PermitRootLogin yes
systemctl restart sshd

一、搭链单机单群组4节点的链

1.准备环境

sudo apt install -y openssl curl

  创建fisco目录 

cd ~ && mkdir fisco && cd fisco

2.下载安装脚本build_chain.sh

curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.8.0/build_chain.sh && chmod u+x build_chain.sh

常用的build_chain.sh命令

build_chain.sh直接输入会报错,因为没给入实际参数
build_chain.sh -l <对应的ip地址:节点数> # 指定使用的ip及其节点数
build_chain.sh -p <起始端口号> # 指定使用的起始端口号
build_chain.sh -e <fisco程序路径> # 如果预先已经下载好fisco,则可以直接使用fisco程序路径

3.配置及安装

-p指定起始端口,分别是p2p_port,channel_port,jsonrpc_port

./build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545

4.启动链(节点)

cd nodes/127.0.0.1
./start_all.sh

5.检查进程及端口监听

检查进程是否启动 如果进程数不为4,那么进程没启动的原因一般是端口被占用(!)

ps -ef | grep -v grep | grep fisco-bcos

检查监听的端口,当前版本每个节点监听3个端口,分被用于p2p,channel,jsonrpc通信

netstat -ntlp | grep fisco-bcos

6.检查日志输出

查看节点node0链接的节点数,从下面的输出可以看出node0与另外3个节点有链接

tail -f node0/log/log* | grep connected

检查是否在共识,如果不停输出++++Generating seal表示正常输出

tail -f node0/log/log* | grep +++

二、WeBASE-Front搭建:简介

三、WeBASE-Front搭建:依赖环境

(1)参考文献

 https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html

(2)Java环境变量

sudo apt-get install openjdk-8-jdk

  ubuntu系统设置java环境变量

  1. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  2. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  3. export PATH=$PATH:$JAVA_HOME/bin

注意,以上几条配置命令每次都要在终端设置才会生效,为了方便,也可以执行vi ~/.profile 命令,在当前用户的配置文件末尾加上上面几条语句,用户每次登陆时会自动更新环境变量

四、WeBASE-Front搭建:部署

(1)下载安装包

cd ~/fisco/&& wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.2/webase-front.zip

(2)解压安装包(使用unzip之前要先安装对应的包)

unzip webase-front.zip

(3)拷贝证书文件

将节点所在目录nodes/${ip}/sdk下的证书文件拷贝到conf下,下面是拷贝127.0.0.1节点示例

cp -r nodes/127.0.0.1/sdk/* webase-front/conf/

(4)服务启停

首先进入服务中:

cd webase-front

启动:bash start.sh

停止:bash stop.sh

检查:bash status.sh

(5)访问

(6) 可能遇到的问题:

==============      Starting WeBASE-Front      ==============
==============WeBASE-Front start fail. Please check through the log file (default path: ./webase-front/log/). ==============

==============      Starting WeBASE      ==============
==============WeBASE-Node-Manager start fail. Please check through the log file (default path: ./webase.deploy/log/). ==============

=======================================================
Server com.webank.webase.front.Application Port 5002.....................[Failed]. Please check message through the log file (default path:./log/)
======================================================= 

原因:未开放网络端口

解决:

sudo apt-get install iptables

安装相应持续化规则扩展包,安装iptables-persistent后 开放端口需要root权限 

sudo apt-get install iptables-persistent

开放端口5000,5002

  1. sudo iptables -I INPUT -p tcp --dport 5000 -j ACCEPT
  2. sudo iptables -I INPUT -p tcp --dport 5002 -j ACCEPT

五、第一个合约示例:实现Helloworld

(1)创建一个合约名称为Helloworld的sol文件(智能合约文件)

  1. pragma solidity ^0.4.25;
  2. contract Helloworld{
  3. string name;
  4. function Helloworld(){
  5. name = "Helloworld";
  6. }
  7. function get()constant returns(string){
  8. return name;
  9. }
  10. function setname(string n){
  11. name = n;
  12. }
  13. }

(2)对得到的合约文件进行保存,编译

(3)部署,在部署前,我们需要创建一个新的角色来进行部署

部署成功后

 (4)最后,我们对合约进行调用测试

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/347905
推荐阅读
相关标签
  

闽ICP备14008679号