950  
使用BSN测试网测试链码或发布服务上传链码时要注意哪些内容?
作者: 陈曦 于 2020年11月16日 发布在分类 / BSN官网 / 常见问题 / 通用类问题 下,并于 2020年11月16日 编辑

  • Fabric

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


  • FISCO BCOS

1、上传链码包(智能合约包)时填写的链码名称(合约名称)要与主合约类名以及主合约的文件名一致。

例:BsnBaseContract链码包(预置链码包)

BsnBaseContract

   └─BsnBaseContract.sol

   └─Table.sol

需在BsnBaseContract/下进行打包,zip包名称无要求。如主合约类名为BsnBaseContract,主合约的文件名即为BsnBaseContract.sol,链码名称(合约名称)必须填为BsnBaseContract。

2、目前BSN适配的FISCO BCOS只支持Solidity0.4.25及以下版本。


  • XuperChain

C++推荐使用xuperchain提供的Xdev开发工具进行项目初始化、编译、测试等功能。上传链码包(智能合约包)时只需将.wasm文件压缩成zip包上传就行,zip包名称无要求。

例: BsnBase链码包

BsnBase
   └─src
       └─bsnbase.cc
       └─bsnbase.wasm
   └─test
       └─bsnbase.test.js
   └─xdev.toml

src目录存放链码文件以及编译生成的wasm字节码文件,test目录存放单测文件。


  • CITA

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 陈曦 格式调整

区块链服务网络发展联盟