快速入门搭建

在区块链应用开发阶段建议用户使用快速入门搭建。在快速入门搭建模式,开发者只需要搭建节点和节点前置服务(WeBASE-Front),就可以通过WeBASE-Front的合约编辑器进行合约的编辑,编译,部署,调试。

重要

FISCO-BCOS 2.0与3.0对比、JDK版本、WeBASE及其他子系统的版本兼容说明!请查看

节点搭建

节点搭建的方法建议使用build_chain

Liquid支持

如果使用的liquid合约的链并在WeBASE-Front的合约IDE中编译Liquid合约,要求手动在WeBASE-Front所在主机配置Liquid环境

配置好Liquid环境后,需要重启WeBASE-Front

节点前置服务搭建

前提条件

依赖软件 支持版本
Java JDK 8 至JDK 14

备注:部署出现问题请查看问题记录

  1. 下载安装包

    wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v3.1.1/webase-front.zip
    
  2. 解压

    unzip webase-front.zip && cd webase-front
    
  3. 拷贝sdk证书文件(build_chain的时候生成的)

    将节点所在目录nodes/${ip}/sdk下的所有文件拷贝到当前conf目录,供SDK与节点建立连接时使用

    • 拷贝命令可使用cp -r nodes/${ip}/sdk/* ./conf/

    • 证书为以下两种之一:

      非国密:ca.crtsdk.crtsdk.key

      国密:sm_ca.crtsm_sdk.crtsm_sdk.keysm_ensdk.crtsm_ensdk.key

  4. 修改配置

    vi conf/application.yml
    
    sdk:
      useSmSsl: false  # sdk连接节点是否使用国密ssl
      peers: ['127.0.0.1:20200','127.0.0.1:20201'] # 节点ip和rpc端口
    
  5. 服务启停

    返回根目录,服务启停命令:

    启动: bash start.sh
    停止: bash stop.sh
    检查: bash status.sh 
    

启动成功将出现如下日志:

...
	Application() - main run success...

状态检查

成功部署后,可以根据以下步骤确认各个子服务是否启动成功

1. 检查各子系统进程

通过ps命令,检查节点与节点前置的进程是否存在

  • 包含:节点进程nodeXX,节点前置进程webase.front

检查方法如下,若无输出,则代表进程未启动,需要到webase-front/log中查看日志的错误信息,并根据错误提示或根据WeBASE-Front常见问题进行错误排查

检查节点进程

$ ps -ef | grep node

输出如下,此处部署了两个节点node0, node1

root     29977     1  1 17:24 pts/2    00:02:20 /root/fisco/webase/webase-deploy/nodes/127.0.0.1/node1/../fisco-bcos -c config.ini
root     29979     1  1 17:24 pts/2    00:02:23 /root/fisco/webase/webase-deploy/nodes/127.0.0.1/node0/../fisco-bcos -c config.ini

检查节点前置webase-front的进程

$ ps -ef | grep webase.front 

输出如下

root     31805     1  0 17:24 pts/2    00:01:30 /usr/local/jdk/bin/java -Djdk.tls.namedGroups=secp256k1 ... conf/:apps/*:lib/* com.webank.webase.front.Application

2. 检查进程端口

通过netstat命令,检查节点与节点前置的端口监听情况

检查方法如下,若无输出,则代表进程端口监听异常,需要到webase-front/log中查看日志的错误信息,并根据错误提示或根据WeBASE-Front常见问题进行错误排查

检查节点channel端口(默认为20200)是否已监听

$ netstat -anlp | grep 20200

输出如下

tcp        0      0 0.0.0.0:20200           0.0.0.0:*               LISTEN      29069/fisco-bcos

检查webase-front端口(默认为5002)是否已监听

$ netstat -anlp | grep 5002

输出如下

tcp6       0      0 :::5002                 :::*                    LISTEN      2909/java 

3. 检查服务日志

日志中若出现报错信息,可根据信息提示判断服务是否异常,也可以参考并根据错误提示或根据WeBASE-Front常见问题进行错误排查

  • 如果节点进程已启用且端口已监听,可跳过本章节
  • 如果节点前置异常,如检查不到进程或端口监听,则需要webase-front/log中查看日志的错误信息
  • 如果检查步骤出现检查不到进程或端口监听等异常,或者前置服务无法访问,可以按以下顺序逐步检查日志:
    • 检查webase-front/log中查看节点前置日志的错误信息,如果无错误,且日志最后出现application run success字样则代表运行成功
    • 检查nodes/127.0.0.1/nodeXXX/log中的节点日志

查看运行成功日志:webase-front运行成功后会打印日志main run success,可以通过搜索此关键字来确认服务正常运行。

如,检查webase-front日志,其他webase服务可进行类似操作

$ cd webase-front
$ grep -B 3 "main run success" log/WeBASE-Front.log

输出如下:

2020-12-09 15:47:25.355 [main] INFO  ScheduledAnnotationBeanPostProcessor() - No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2020-12-09 15:47:25.378 [main] INFO  TomcatEmbeddedServletContainer() - Tomcat started on port(s): 5002 (http)
2020-12-09 15:47:25.383 [main] INFO  Application() - Started Application in 6.983 seconds (JVM running for 7.768)
2020-12-09 15:47:25.383 [main] INFO  Application() - main run success...

启动失败或无法使用时,欢迎到WeBASE-Front提交Issue或到技术社区共同探讨

  • 提交Issue或讨论问题时,可以在issue中配上自己的环境配置,操作步骤,错误现象,错误日志等信息,方便社区用户快速定位问题

访问

访问 http://{deployIP}:{frontPort}/WeBASE-Front,示例:

```
http://localhost:5002/WeBASE-Front 
```

:若服务启动后无异常,但仍然无法访问,可以检查服务器的网络安全策略:

  • 开放节点前置端口:如果希望通过浏览器(Chrome Safari或Firefox)直接访问webase-front节点前置的页面,则需要开放节点前置端口frontPort(默认5002)

../../_images/front-overview.png