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

修改日期 修改人 备注
2020-11-16 17:42:33[当前版本] 陈曦 格式调整
2020-11-16 10:59:43 陈曦 格式调整
2020-11-16 10:02:46 陈曦 格式调整
2020-11-16 10:01:45 陈曦 格式调整

  • 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

上传链码包(智能合约包)时只需将.wasm文件压缩成zip包上传就行,zip包名称无要求。

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

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

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

  • CITA

上传链码包(智能合约包)时填写的链码名称(合约名称)要与主合约类名一致,建议主合约的文件名也一致。

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

CitaBsnBaseContract

  └─CitaBsnBaseContract.sol

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

历史版本-目录  [回到顶端]
    区块链服务网络发展联盟