1、go打包规范
main函数必须在项目中所有链码的上级或同级,打包路径为main函数所在同级文件夹,main函数路径为基于src的引用路径。
例: bsnBaseCC链码包(预置链码包)
bsnBaseCC
└─main.go
└─ChainCode/
└─models/
└─utils/
需在bsnBaseCC/下进行打包(包名称无要求),main函数路径(引用路径)为bsnBaseCC。
例:github上的FabricBaseChaincode链码包(预置链码包)
github.com
└─BSNDA
└─FabricBaseChaincode
└─chaincode
└─go
└─bsnBaseCC
└─main.go
└─ChainCode/
└─models/
└─utils/
需在github.com/BSNDA/FabricBaseChaincode/chaincode/go/bsnBaseCC/下进行打包(包名称无要求),main函数路径(引用路径)为github.com/BSNDA/FabricBaseChaincode/chaincode/go/bsnBaseCC。
2、java打包规范
gradle或maven构建的项目,项目中必须包含build.gradle或pom.xml文件。
例:bsnBaseCC链码包(预置链码包)
bsnBaseCC
└─build.gradle
└─src
└─main
└─java
└─com.example.javacc
└─javacc.java
需在bsnBaseCC/下进行打包,zip包名称无要求。
3、NodeJs打包规范
必须在项目根目录下创建package.json。需在bsnBaseCC/下进行打包,zip包名称无要求。
例:bsnBaseCC链码包
bsnBaseCC
└─marbles_chaincode.js
└─package.json
1、上传链码包(智能合约包)时填写的链码名称(合约名称)要与主合约类名以及主合约的文件名一致。
例:BsnBaseContract链码包(预置链码包)
BsnBaseContract
└─BsnBaseContract.sol
└─Table.sol
需在BsnBaseContract/下进行打包,zip包名称无要求。如主合约类名为BsnBaseContract,主合约的文件名即为BsnBaseContract.sol,链码名称(合约名称)必须填为BsnBaseContract。
2、目前BSN适配的FISCO BCOS只支持Solidity0.4.25及以下版本。
C++推荐使用xuperchain提供的Xdev开发工具进行项目初始化、编译、测试等功能。上传链码包(智能合约包)时只需将.wasm文件压缩成zip包上传就行,zip包名称无要求。
例: BsnBase链码包
BsnBase
└─src
└─bsnbase.cc
└─bsnbase.wasm
└─test
└─bsnbase.test.js
└─xdev.toml
src目录存放链码文件以及编译生成的wasm字节码文件,test目录存放单测文件。
1、上传链码包(智能合约包)时填写的链码名称(合约名称)要与主合约类名一致,建议主合约的文件名也一致。
例: CitaBsnBaseContract链码包(预置链码包)
CitaBsnBaseContract
└─CitaBsnBaseContract.sol
需在CitaBsnBaseContract/下进行打包,zip包名称无要求。如主合约类名为CitaBsnBaseContract,主合约的文件名即为CitaBsnBaseContract.sol,链码名称(合约名称)必须填为CitaBsnBaseContract。
2、目前BSN适配的CITA只支持Solidity0.4.25及以下版本。
修改日期 | 修改人 | 备注 |
2020-11-16 17:42:33[当前版本] | 陈曦 | 格式调整 |
2020-11-16 10:59:43 | 陈曦 | 格式调整 |
2020-11-16 10:02:46 | 陈曦 | 格式调整 |
2020-11-16 10:01:45 | 陈曦 | 格式调整 |