目录

一、搭建 FISCO BCOS 链

1、安装 openssl, curl 依赖

2、安装 build_chain 脚本

二、配置控制台

1、下载java jdk

2、安装控制台

3、拷贝配置文件以及证书

4、启动控制台

三、Java-SDK(idea版)

1、创建 project

2、引入 Java-SDK依赖

3、sol2java.sh

4、导入所需资源

5、创建测试类


参考 FISCO BCOS 官方文档 v2.8.0

一、搭建 FISCO BCOS 链

1、安装 openssl, curl 依赖

sudo yum install -y openssl openssl-devel

2、安装 build_chain 脚本

在 home 目录下新建 fasco 文件夹,并切换到 fisco 目录下

cd ~ && mkdir -p fisco && cd fisco

下载脚本

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

修改 build_chain 脚本文件为可执行文件

chmod u+x build_chain.sh

生成一条单群组4节点的FISCO链

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

其中 -p 选项指定起始端口,分别是p2p_port(30300),channel_port(20200),jsonrpc_port(8545)

执行成功后,在 fabric 路径下生成nodes目录,nodes目录下包含生成的节点和证书

启动链

bash nodes/127.0.0.1/start_all.sh

二、配置控制台

1、下载java jdk

sudo yum install -y java java-devel

2、安装控制台

cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh

3、拷贝配置文件以及证书

注:客户端的启动需要 fasco bcos 链的相关配置文件以及生成链时产生的 ca

cp -n console/conf/config-example.toml console/conf/config.toml
cp -r nodes/127.0.0.1/sdk/* console/conf/

4、启动控制台

cd ~/fisco/console && bash start.sh

控制台的相关说明参考官方文档(包含编译高于0.4.25版本solidity合约的解决方法方法)控制台2.6+版本https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk.html

三、Java-SDK(idea版)

Java SDK 提供了访问 FISCO BCOS 节点的Java API,支持节点状态查询、部署和调用合约等功能,基 于Java SDK可开发区块链应用。

首先确保已经启动一条 FISCO BCOS 链

本示例以 FISCO BCOS 自带的

1、创建 project

在idea下创建一个Spring Boot项目

2、引入 Java-SDK依赖

在 pom.xml 中导入 Java-SDK 的 Maven 坐标

org.fisco-bcos.java-sdkfisco-bcos-java-sdk2.8.0

3、sol2java.sh

注:sol2java.sh 不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同名的合约Java类

进入到 ~/fisco/console使用 sol2java.sh,具体代码如下

bash sol2java.sh -p org.fisco.bcos

生成的 .java 文件保存在 -p 设置的包路径下 (org.fisco.bcos)

4、导入所需资源

包括:证书、配置文件、abi、bin、JavaBean

其中,证书可从 ~/fisco/nodes/127.0.0.1/sdk 中拷贝出,放至 src/main/resources/conf 目录下

配置文件可从 ~/fisco/console/conf 中拷贝出,放至 src/main/resources目录下,config-example.toml 文件中的 IP地址需要由 127.0.0.1,改为虚拟机的 IP地址

注:solidity语言编写的链码需要编译成 ABI 和 BIN 文件才能使用 Java-SDK 部署至区块链网络上

abi、bin文件可从 ~/fisco/console/contracts/sdk/ 路径下复制

JavaBean~/fisco/console/contracts/sdk/java/org/fisco/bcos/ 路径下复制

5、创建测试类

在 test 目录下创建对应的包,在包内创建BcosSDKTest.java

核心代码:

// 获取配置文件路径public final String configFile = BcosSDKTest.class.getClassLoader().getResource("config-example.toml").getPath();@Testpublic void testClient() throws ConfigException {// 初始化BcosSDKBcosSDK sdk =BcosSDK.build(configFile);// 为群组1初始化clientClient client = sdk.getClient(Integer.valueOf(1));// 向群组1部署HelloWorld合约CryptoKeyPair cryptoKeyPair = client.getCryptoSuite().getCryptoKeyPair();HelloWorld helloWorld = null;try {helloWorld = HelloWorld.deploy(client, cryptoKeyPair);} catch (ContractException e) {e.printStackTrace();}

可以通过 client对象获取链上信息,通过 helloworld对象操作链码