5.4.2.2 Hyperledger Fabric prebuilt smart contract package
A prebuilt chaincode package (Golang) is provided to BSN developers which contains basic functions such as add, delete, edit, and query. New DApp developers can learn from this package about Fabric chaincode programming and further extend the functions if needed. The chaincode in this package supports data types such as string, integer, float point, and sets (map, list), etc.
Please click this link to download:
https://github.com/BSNDA/FabricBaseChaincode
DApp publishers can also select the prebuilt chaincode package directly from the DApp publishing page on the BSN portal.
The Prebuilt Chaincode package functions are as follows:
1. Add data (set)
Input parameter description:
baseKey: a unique primary key identifier of data
baseValue: stored data information
Example: {"baseKey": "str","baseValue": "this is string"}
Of which, the baseKey cannot be a blank string and the baseValue can be any type of data. If the baseKey already exists, then directly return that it already exists and cannot be added; if it does not exist, then add data.
2. Edit data (update)
Input parameter description:
baseKey: a unique primary key identifier of data
baseValue: stored data information
Example: {"baseKey": "str","baseValue": "this is string"}
Of which, the baseKey cannot be a blank string and the baseValue can be any type of data. If the baseKey does not exist, then it cannot be updated; if it already exists, then update the data.
3. Delete data (delete)
Input parameter description
baseKey: a unique primary key identifier of data
Example: "str"
Of which, the baseKey value cannot be blank and must exist, else it cannot be deleted.
4. Get data (get)
Input parameter description
baseKey: a unique primary key identifier of data
Example: "str"
Of which, the baseKey value cannot be blank and must exist, else it cannot be retrieved.
5. Get history ledger data (getHistory)
Input parameter description
baseKey: a unique primary key identifier of data
Example: "str"
Of which, the baseKey value cannot be blank. Response results: transaction Id (txId), transaction time (txTime), whether to delete (isDelete) and transaction information (dataInfo).