区块链(ubuntu)-Hyperledger Fabric实验环境搭建,修改chaincode,部署chaincode以及测试chaincode(JAVA)

发文不易,求观众老爷们觉得这篇文章对你们有帮助的话能不能一键三连一下,谢谢!!!

1、环境准备

  • 安装公共依赖

    sudo apt-get install -y apt-transport-https ca-certificates software-properties-common 
    sudo apt-get install -y unzip git  curl wget vim tree jq
    
  • 安装gradle

    cd /tmp && wget https://services.gradle.org/distributions/gradle-6.4-bin.zip
    unzip gradle-6.4-bin.zip
    sudo mv gradsle-6.4 /usr/local/gradle
    #修改配置文件
    sudo cat >> ~/.bashrc <<EOF
    export PATH=$PATH:/usr/local/gradle/bin
    EOF
    #使配置文件生效
    source ~/.bashrc 
    
  • 需要安装的七个docker镜像(版本不确定是否有影响)

  • 下载docker-compose

    wget https://get.daocloud.io/docker/compose/releases/download/1.25.3/docker-compose-`uname -s`-`uname -m`
    sudo mv docker-compose-`uname -s`-`uname -m` /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    docker-compose -v #检查是否安装成功
    
  • java环境

    java -version
    #如果没有java环境,用下列命令安装
    sudo apt-get install -y openjdk-8-jdk
    
  • 下载workspace工作目录(将下载的workspace放在用户的home目录下即可)

    git clone https://gitlab.com/qubing/blockchain_lab_v2.git ~/workspace
    

    确保workspace下有以下的文件和文件夹

  • 为了开发和单元测试方便,可以在服务器或虚拟机上安装IDEA进行chaincode的开发。

  • 使用虚拟机进行实验可安装gui,使用云服务器进行实验可以在云服务器上安装gui然后通过vnc进行连接,安装gui过程参见AWS Ubuntu安装可视化操作桌面和VS Code,Code Server

2、example01项目

  • 因为workspace目录下的chaincode目录下有一个example01项目,主要是让大家熟悉chaincode怎么编写。

  • 使用IDEA打开example01下的java项目,该项目是一个gradle项目,等待项目建立完成之后,打开MyContract.java文件,查看初始的智能合约代码。

  • workspace文件夹下使用下列命令来体验如何部署一个区块链网络

    #检测区块链网络的环境,初始化区块链网络,并且建立每个区块链网络的结点
    . ./init.sh 
    #检测结点是否正常运行(当执行startup脚本时出现docker镜像问题时,是因为startup脚本本身的问题)
    . ./startup.sh
    #部署example01的chaincode
    . scripts/deploy_chaincode.sh java ${PWD}/chaincode/chaincode_example01/java mycc_java
    #测试example01的chaincode
    . scripts/test_example01.sh mycc_java
    #清空区块链网络环境
    . ./teardown.sh
    
  • 解决startup.sh脚本执行错误:更改startup.sh中的DB_IMAGE_TAG,将原来的DB_IMAGE_TAG替换成DB_VERSION

3、修改example01项目

  • 为了更好的熟悉这个项目,我们来新增一个GetValueSetValue方法,并将其部署区块链网络上

    /**
    *SetValue
    *@param ctx context
    *@param key key
    *@param value value
    */
    @Transaction(name = "SetValue",inten
  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值