fabric-samples/chaincode
Brett Logan 23dc4e698a Add Tests to FabCar Go Chaincode
Many users raise questions on how to test chaincode. It used
to be much easier with the old shim, as they could directly
use the old mock stub in the shim. Now that it no longer exists
the fabcar example can provide an example of how to test chaincode.

Also worth noting is our current directory structure of our Go
chaincodes prevents the creation of mocks due to import cycles.
This change also pushes the chaincode logic down into a `contract`
package.

Signed-off-by: Brett Logan <brett.t.logan@ibm.com>
2020-07-06 15:05:07 -04:00
..
abac/go Redirect samples to fabric-{chaincode,protos}-go 2019-08-23 17:25:16 +00:00
abstore FABCAG-27 Update fabric-samples to use latest contract-api-go@v1.1.0 2020-05-01 09:47:36 -04:00
fabcar Add Tests to FabCar Go Chaincode 2020-07-06 15:05:07 -04:00
marbles02 [FAB-17447] Update to 2.0.0 Libraries 2020-01-29 00:26:12 -05:00
marbles02_private Update private data marbes for smart contract api 2020-06-09 15:52:35 -04:00
sacc Redirect samples to fabric-{chaincode,protos}-go 2019-08-23 17:25:16 +00:00
README.md Add transfer sample to readme (#189) 2020-05-21 15:48:31 +02:00

Sample smart contracts

This folder contains example smart contracts that are used by the Hyperledger Fabric documentation and by other samples

Smart Contract Description Tutorial Languages
fabcar Basic smart contract that allows you to add and change data on the ledger using the Fabric contract API. Also contains an example on how to run chaincode as an external service. Writing your first application Go, Java, JavaScript, Typescript
marbles02 Sample that demonstrates how to deploy an index and use rich queries when you are using CouchDB as your state database. Using CouchDB Go
marbles02_private Sample that demonstrates the use of private data collections. Private data tutorial Go
marbles_transfer Smart contract that demonstrates the use of private data, state based endorsement, and access control to securely transfer an asset between two parties Marbles private asset transfer scenario Go
abac Smart contract that restricts access to the chaincode namespace using Attribute Based Access Control. Go
sacc Simple asset chaincode that interacts with the ledger using the low-level APIs provided by the Fabric Chaincode Shim API. Chaincode for developers Go
abstore Basic smart contract that allows you to transfer data (from A to B) using the Fabric contract API. Go, Java, JavaScript

License

Hyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.