Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add documentation about how to integrate with FPC #77

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- `/fabric`: Fabric network v2.5 used as a test environment
- `/chaincode`: chaincode-related files
- `/ccapi`: chaincode REST API in Golang project
- `/fabric-private-chaincode`: Explaining the integration project between CC-tools and FPC

## Development

Expand Down Expand Up @@ -66,6 +67,10 @@ By using the `--org/-o` option along the script, it's possible to specify the or

By standard the archive is created using the project name with *1.0* label, to change it the `--name/-n` and `--label/-l` flags may be used. Example: `$ ./generatePackage.sh -n my-project -l 2.0`

## Integration with Fabric Private Chaincode

If you want to execute your chaincode in a Trusted Execution Environment (TEE) using Fabric Private Chaincode (FPC), we've set up an integration guide to help you. Check out the instructions in the `./fabric-private-chaincode` directory to seamlessly integrate FPC with CC Tools for enhanced privacy and security.

## More

You can reach GoLedger developers and `cc-tools` maintainers at our Discord - [Join us!](https://discord.gg/GndkYHxNyQ)
Expand Down
15 changes: 15 additions & 0 deletions fabric-private-chaincode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Integration with Fabric Private Chaincode

## Motivation

Fabric Private Chaincode (FPC) enhances the privacy and security of smart contracts on Hyperledger Fabric by leveraging Trusted Execution Environments (TEEs), such as Intel SGX. With FPC, chaincode execution is shielded, ensuring that sensitive data and business logic remain confidential—even from the hosting peers. This makes FPC an ideal choice for organizations handling susceptible information, such as financial transactions or medical records, while still benefiting from the transparency and immutability of blockchain.

By integrating FPC with CC Tools, developers can now enjoy a streamlined workflow for deploying and managing private chaincode. This integration combines the usability of CC Tools with the robust privacy guarantees of FPC, enabling faster development cycles without compromising data security. To learn more about the design and technical details of this integration project, refer to the [design document](https://github.com/hyperledger/fabric-private-chaincode/tree/main/docs/design/integrate-with-cc-tools) for a comprehensive explanation.

## Prerequisites

To be able to use FPC, you are required to have some software components as dependencies to enable the trusted execution of chaincodes. Follow the [getting started guide](https://github.com/hyperledger/fabric-private-chaincode?tab=readme-ov-file#getting-started) on FPC until you can set up the development environment.

## Integrating your chaincode with FPC

As part of the integration project, there is now a tutorial explaining step-by-step how to run your chaincode using cc-tools framework within a trusted execution environment with FPC. Follow the [tutorial](https://github.com/hyperledger/fabric-private-chaincode/tree/main/samples/chaincode/cc-tools-demo) for more.