Note: Issue tracking is handled in Jira. If you find any issues or you want to add new features, please work with Jira.
This repo is going to be used to implement FAB-10734 Fabric CLI Redesign. This is NOT the "official" Fabric CLI and there is not yet any commitment that it is going to be.
The Hyperledger Fabric CLI is a tool used to interact with Fabric networks.
- Clone this repo
- Run
make
- Locate the binary in the
bin
directory - Add the binary to your PATH
- Execute
fabric
for more information
- Add a Network with
fabric network set
- Add a Context with
fabric context set
- Use the new context with
fabric context use
- You're all set... Have fun!
A network is a direct reference to a Fabric-SDK-Go configuration. This configuration contains all of the necessary details for interacting with a Fabric network at a global scope.
A context defines the scope for interactions with the network. An example of this would be: As Admin
, I want peer peer0.org1.example.com
in organization Org1
to join channel mychannel
. In this example, the context would include the identity, peer, organization, and channel.
Built-in commands can be found in /cmd/fabric/commands. These commands can serve as examples for building future commands like plugin chaincode install ...
.
Users can create and install custom commands to the Fabric CLI. The only requirement is that all external commands must provide a plugin.yaml
.
The YAML must specify:
- Name - command name
- Usage - usage syntax
- Description - short description shown for help
- Command - plugin execution
Example plugins can be found in pkg/plugin/testdata/plugins.
For example,if you want to integrate cryptogen
into fabric
cmd:
- Prepare the
plugin.yaml
:name: cryptogen usage: cryptogen [<flags>] <command> [<args> ...] description: Utility for generating Hyperledger Fabric key material command: cryptogen
- Exec the command:
#PATH is the location of `plugin.yaml`. $fabric plugin install $PATH
- To enjoy the command:
$fabric cryptogen ...
You can integrate some Go Plugins or External Command into fabric cmd,
- Fork this repo on github.
- Clone the forked repo to your local enviroment (git clone https://github.com/you_username/fabric-cli.git && cd fabric-cli).
- Create your feature branch (git checkout -b feature-branch).
- Install
gobin
usingGO111MODULE=off go get -u github.com/myitcv/gobin
- Make changes and use
make test
to finish the test. - If test passed, add them (git add .).
- Use
make lint
to verify your code. - If correct, commit your changes (git commit -s).
- Push to github (git push origin feature-branch).
- Create new Pull Request.
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/.