注意:
1.使用SSH连接时,首先必须要有ssh连接工具openssh-server, 新系统要安装。
sudo apt-get install openssh-server
2.在普通用户中设置root的密码。
sudo passwd root
su rootcd ~
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及其节点数
build_chain.sh -p # 指定使用的起始端口号
build_chain.sh -e # 如果预先已经下载好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环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport 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)访问
http://localhost:5002/WeBASE-Front
其中localhost是主机ip,5002是默认端口
(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
sudo iptables -I INPUT -p tcp --dport 5000 -j ACCEPTsudo iptables -I INPUT -p tcp --dport 5002 -j ACCEPT
五、第一个合约示例:实现Helloworld
(1)创建一个合约名称为Helloworld的sol文件(智能合约文件)
pragma solidity ^0.4.25;contract Helloworld{string name;function Helloworld(){name = "Helloworld";}function get()constant returns(string){return name;}function setname(string n){name = n;}}
(2)对得到的合约文件进行保存,编译
(3)部署,在部署前,我们需要创建一个新的角色来进行部署
部署成功后