Chainkun is a powerful terminal application designed to streamline the management and automation of Chaincode and Hyperledger Fabric test networks. By simplifying Chaincode development and testing, this tool helps developers focus on building and deploying smart contracts more efficiently.
- Automated Setup: Automatically sets up and configures Hyperledger Fabric and Chaincode environments.
- Configuration Management: Manages configuration files for different environments and versions.
- Binary Downloads: Downloads and installs required binaries for Hyperledger Fabric and CA.
- Sample Repositories: Clones and manages sample repositories for testing and development.
- Cross-Platform Support: Supports multiple operating systems and architectures.
- Go (version 1.22.5 or later)
- Docker
- Git
-
Clone the Repository:
git clone https://github.com/JonyBepary/chainkun.git cd chainkun
-
Build the Project:
go build -o chainkun
-
Run the Application:
./chainkun
Chainkun uses a YAML configuration file to manage settings for Hyperledger Fabric, Chaincode, and other components. An example configuration file is provided below:
hyperledger-fabric:
fabric: 2.5.9
ca: 1.5.12
components:
- docker
- binary
# - samples
# - podman
cc-tool:
repo: https://github.com/hyperledger-labs/cc-tools-demo
branch: main
chaincode:
name: chainkun
label: 1.0
version: 0.1
sequence: 1
network:
ccas: false
org_qnty: 3
ccaas: false
CcasTls: "1.3"
orgs:
- org1MSP
- org2MSP
- org3MSP
system:
path: /home/jony/.chainkun
go: "1.22.5"
To initialize Chainkun and set up the necessary directories and configuration files, run:
./chainkun init
To download the required Hyperledger Fabric and CA binaries, run:
./chainkun download
To clone the sample repositories for testing and development, run:
./chainkun clone-samples
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive commit messages.
- Push your branch to your fork.
- Create a pull request to the main repository.
This project is licensed under the MIT License - see the LICENSE file for details.