5.4.2.3 FISCO BCOS smart contract package requirements
To realize automatic audit and deployment of FISCO BCOS (FISCO) DApp services and to improve efficiency, the following FISCO smart contract packaging requirements have been issued:
1. Package Structure of the Solidity smart contract
All smart contracts must be stored in a single-level folder including smart contracts, libraries, and external contract interfaces. Import method of all contracts is import “./XXXX.sol”.
2. Smart Contract deployment instruction document (deploy.md)
deploy.md is used to explain clearly how the smart contract is initialized and deployed. It consists of three main parts:
Contract Description: to briefly describe the basic information of each contract.
User Description: to describe the basic information of each transaction signing users during initialization and deployment.
Contract initialization description: to describe the steps of smart contract initialization and deployment, so that BSN tech personnel can follow to complete the process.
3. Contract uploading specifications
When uploading a chaincode package (smart contract package), fill in the chaincode name (contract name) that is consistent with the main contract class name and the main contract file name.
Example: BsnBaseGlobalContract chaincode package (preset chaincode package)
BsnBaseGlobalContract
└─BsnBaseGlobalContract.sol
└─Table.sol
Package must be zipped under BsnBaseGlobalContract/. The zipped package name is not required. If the main contract class name is BsnBaseGlobalContract, the main contract file name should be BsnBaseGlobalContract.sol, and the chaincode name (contract name) must be filled in as BsnBaseGlobalContract.
4. BSN Adaptation for FISCO Solidity Version Descriptions
Currently, FISCO BCOS in the BSN only supports Solidity 0.4.25 and older versions.