如何使用spring boot整合fisco bcos-mile米乐体育

如何使用spring boot整合fisco bcos

这篇文章主要介绍“如何使用spring boot整合fisco bcos”,在日常操作中,相信很多人在如何使用spring boot整合fisco bcos问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用spring boot整合fisco bcos”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

简介

fisco bcos是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源。

目前,成熟的区块链的平台不少,之所以选择fisco bcos,主要是因为文档细致,容易入门。

官方地址入口

本地环境

本篇文章介绍的 spring boot 整合 fisco bcos的案例,是在阿里云服务器上部署验证的。
我这边共有两台电脑:
电脑1:本地的mac电脑,没有区块链环境,只是用于springboot工程的开发;
电脑2:阿里云上的centos服务器,配置了区块链环境,合约部署、编译、springboot工程的jar包运行都是在该电脑上;

大家可根据自己的电脑环境,对比该案例进行开发即可。

主要流程:

--> 1、fisco bcos环境搭建与验证
--> 2、创建springboot工程并配置依赖
--> 3、编写案例代码
--> 4、生成jar包、部署服务器验证

1、fisco bcos环境搭建与验证

fisco bcos环境搭建参考的是官方的文档:
搭建第一个区块链网络
我这边测试服务器的操作系统是centos,如果是其他操作系统,也是参照该文档进行配置,流程是类似的。
详细流程,大家参照文档进行配置就行了,这里主要说下关键的细节:

1.1、搭建单群组4节点联盟链:

我这边使用的是国密版本命令:
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -g

主要原因:

我这边使用的fisco bcos sdk版本是2.8.0,加载证书时默认会加载国密证书(应该有加载证书类型的选项配置,目前暂未找到相关api)。
如果使用的是非国密版本命令,在/fisco/node/127.0.0.1/sdk/目录下不会生成国密证书,使用该sdk就会报错。

1.2、检查证书

成功启动所有节点后,在/fisco/node/127.0.0.1/sdk/目录下验证所有证书是否存在(gm代表国密),如下图:

1.3、使用证书验证节点正确性

启动节点后,我们可以使用fisco bcos提供的本地控制台程序console对节点进行验证。
大家参照文档,先下载、配置控制台程序。
注意:为控制台程序配置节点证书(即:将/fisco/node/127.0.0.1/sdk/下的证书全部复制到控制台程序的 /console/conf/目录下)

启动控制台,测试节点,例如:获取区块链数据高度:getblocknumber:
如果能正常部署合约,且能获得数据高度,则区块链环境没什么问题,如下图:

2、创建springboot工程并配置依赖

服务端区块链环境已完成验证,接下来,我们创建springboot工程,并集成fisco bcos java版sdk。
java sdk 文档

2.1、创建springboot工程:

仅勾选spring web即可:

2.2、配置pom.xml

注意:springboot版本不宜过高(已与官方技术人员确认),我这边试过2.6.2 ,demo案例调用节点时会异常闪退,当把版本降低为2.4.2就正常了:

配置fisco bcos java版sdk依赖:

pom.xml完整代码:

4.0.0org.springframework.bootspring-boot-starter-parent2.4.2com.qxcdemo_bcos0.0.1-snapshotdemo_bcosdemoprojectforspringboot1.8org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.fisco-bcos.java-sdkfisco-bcos-java-sdk2.8.0org.slf4jslf4j-log4j12org.springframework.bootspring-boot-maven-plugin

3、编写案例代码

3.1、配置fisco bcos:

java sdk » 配置说明
为了简单,本案例将fisco bcos的参数通过xml统一配置,并在代码中自动读取。
在/src/main/resources/目录下创建文件fisco-config.xml:

fisco-config.xml完整代码:

3.2、配置节点证书:

把区块链节点下的证书拷贝到/src/main/resources/conf/目录下(conf目录为fisco-config.xml配置的证书路径):

3.3、编写controller

bcoscontroller完整代码:

packagecom.qxc.demo_bcos.controller;importorg.fisco.bcos.sdk.bcossdk;importorg.fisco.bcos.sdk.client.client;importorg.fisco.bcos.sdk.client.protocol.response.blocknumber;importorg.springframework.context.applicationcontext;importorg.springframework.context.support.classpathxmlapplicationcontext;importorg.springframework.web.bind.annotation.getmapping;importorg.springframework.web.bind.annotation.restcontroller;@restcontrollerpublicclassbcoscontroller{@getmapping("/test")publicstringtest(){system.out.println("-----test------");return"thisisbcosdemo";}@getmapping("/block")publicstringgetblocknumber(){system.out.println("-----getblocknumbergetblocknumber------");@suppresswarnings("resource")applicationcontextcontext=newclasspathxmlapplicationcontext("classpath:fisco-config.xml");system.out.println("-----getblocknumberclasspathxmlapplicationcontextok------");bcossdkbcossdk=context.getbean(bcossdk.class);system.out.println("-----getblocknumberbcossdkok------");clientclient=bcossdk.getclient(integer.valueof(1));system.out.println("-----getblocknumberclientok------");blocknumberblocknumber=client.getblocknumber();return"getblocknumber:" blocknumber.getblocknumber().tostring();//return"";}}

3.4、demobcosapplication默认不做修改

3.5、application.properties什么也没配置

为了简单,端口我这边直接使用8080,主要是个人比较懒,什么都懒得配置了,o(∩_∩)o~

4、生成jar包、部署服务器验证

4.1、本地先跑一把

springboot的开发是在我本地的mac电脑上进行的,为了能稳妥的部署到远程centos服务器上,
先在本地跑一把,看看工程编译运行是否正常(此时不用测试区块链功能,因为我本地并没有区块链环境):

没问题,完美。

4.2、打包jar

4.3、把jar包发送到远程服务器上,并运行:

案例程序已在服务器端跑起来了,回到本地mac电脑,远程连服务器试一下吧(ip就不展示给大家看了哈):

到此,关于“如何使用spring boot整合fisco bcos”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图