发文不易,求观众老爷们觉得这篇文章对你们有帮助的话能不能一键三连一下,谢谢!!!
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项目
-
为了更好的熟悉这个项目,我们来新增一个
GetValue
和SetValue
方法,并将其部署区块链网络上/** *SetValue *@param ctx context *@param key key *@param value value */ @Transaction(name = "SetValue",inten