【hyperledger-fabric】部署Java代码智能合约

简介

讲述一下根据B站视频 hyperledger-fabric【2】java 合约开发 。进行项目部署的流程以及遇到的问题。

项目部署的流程

根据视频教程我们可以得知大致的步骤,视频中采用的是up主自己编写的代码,但我们也可以了解到fabric-samples自带文件夹中包含了原始链码包。如下图。分别为go语言的链码,java链码,js链码,ts链码。
在这里插入图片描述
进入到java中可以看到是一个gradlew编写的java项目,B站的教学视频使用的代码是将这里的代码进行了更改,编写成了maven编写的代码。我这里和B站教学的视频不一样的是,我并没有采用git clone 的方式去下载视频中的代码,我是将代码使用maven工具进行打包成jar,将jar上传到

/app/fabric-samples-2.4.8/chaincode/hyperledger-fabric-contract-java-demo

该目录下,然后跟随B站视频执行相关的命令。

这里补充一个知识点:如果按照B站视频的方式进行安装,由于是线上下载依赖,所以会非常的缓慢,但是如果按照jar包的方式下载依赖,则会非常迅速,原因就是算法匹配的问题,无论是通过jar包的方式上传还是通过git clone的方式,都是按照视频中的命令执行顺序即可【建议使用jar包的方式进行部署,速度较快

遇到的问题

第二小节遇到的问题首先就是执行命令:提交链码定义到通道之后。命令如下

peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name hyperledger-fabric-contract-java-demo --version 1.0 --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt

会出现docker容器启动不起来的情况,没错就是这两个容器。
在这里插入图片描述
这两个容器就是会自己终结掉,起初我认为是内存不够或者是其他的报错,结果docker logs <容器id> 发现原来报错信息是:

Failed to start thread “GC Thread#0“ - pthread create failed (EPERM) for attributes: stacksize: 102

经过百度才知道原来是docker的版本过于低,需要提高docker的版本,可以参考我编写的博客【docker】linux部署docker。重新部署一下docker就可以解决这个问题了。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值