开发前准备
链代码(Chaincode)又称智能合约,是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,智能合约的运行结果是可信的,其结果是无法被伪造和篡改的。
在使用区块链服务BCS时,用户需要开发自己的链代码和应用程序。用户的应用程序通过区块链网络中的Peer节点调用链代码,用户链代码通过区块链网络的Peer节点来操作账本数据。
智能合约由用户自行编写上传并保证安全,请务必注意命令注入等相关安全问题。
开发环境准备
请根据自身业务选择Go或Java开发环境。
Go开发环境准备:
- 安装Go开发环境。安装包下载地址为:https://go.dev/dl/。(请选择1.9.2之后的版本)
各个系统对应的包名(以1.11.12版本为例):
操作系统
包名
Windows
go1.11.12.windows-amd64.msi
Linux
go1.11.12.linux-amd64.tar.gz
- Windows下您可以使用.msi后缀的安装包来安装。默认情况下.msi文件会安装在“C:\Go”目录下。您可以将“C:\Go\bin”目录添加到Path环境变量中。添加后您需要重启命令窗口才能生效。
- Linux下,您需要将下载的二进制包解压至/usr/local目录。将/usr/local/go/bin目录添加至Path环境变量:
export PATH=$PATH:/usr/local/go/bin
安装完go语言后可以通过命令go version查看版本信息,以及通过go env命令来查看相关路径配置。
- 安装Go编辑器。编辑器可自行选择,推荐使用Goland:https://www.jetbrains.com/go/download。
Java开发环境准备:
仅适用于Fabric架构版本的区块链实例。
- 安装Java开发环境。下载JDK并安装(建议选择最新版本):https://www.oracle.com/technetwork/java/javase/downloads/index.html。
各个系统对应的包名(以15.0.2版本为例):
操作系统
包名
Windows
jdk-15.0.2_windows-x64_bin.exe
Linux
jdk-15.0.2_linux-x64_bin.tar.gz
- Windows下您可以使用 .exe后缀的安装包来安装。
- Linux下,您需要将下载的二进制包解压至/usr/local目录。
export PATH=$PATH:/usr/local/go/bin
配置环境变量(若无则新建):
- JAVA_HOME为jdk安装目录如“C:\Program Files (x86)\Java\jdk1.8.0_91”或“/usr/java/jdk1.8.0_91”(以下均略去双引号);
- CLASSPATH为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; ”;
- 在Path中新增两条“%JAVA_HOME%\bin”和“%JAVA_HOME%\jre\bin”。
安装完jdk后,可以通过命令java -version查看版本信息。
- 安装Java编辑器。编辑器可自行选择,推荐使用IntelliJ IDEA。
下载源码包
下载Fabric源码包作为三方库。
请根据实际需求,选择下载对应版本的Fabric源码包:
https://github.com/hyperledger/fabric/tree/release-2.2
Fabric源码包选择和创建的区块链实例版本对应,即如果创建区块链实例时,Hyperledger Fabric增强版内核是v2.2(4.X.X版本),则Fabric源码包对应选择2.2版本。