Command-line Interface (CLI)

To view the currently available CLI commands, execute the following:

cd /opt/gopath/src/github.com/hyperledger/fabric
build/bin/peer

You will see output similar to the example below (NOTE: rootcommand below is hardcoded in main.go. Currently, the build will create a peer executable file).

Usage:
  peer [flags]
  peer [command]

Available Commands:
  version     Print fabric peer version.
  node        node specific commands.
  network     network specific commands.
  chaincode   chaincode specific commands.
  help        Help about any command

Flags:
  -h, --help[=false]: help for peer
      --logging-level="": Default logging level and overrides, see core.yaml for full syntax
      --test.coverprofile="coverage.cov": Done
  -v, --version[=false]: Show current version number of fabric peer server


Use "peer [command] --help" for more information about a command.

The peer command supports several subcommands and flags, as shown above. To facilitate its use in scripted applications, the peer command always produces a non-zero return code in the event of command failure. Upon success, many of the subcommands produce a result on stdout as shown in the table below:

Command | stdout result in the event of success — | — version | String form of peer.version defined in core.yaml node start | N/A node status | String form of StatusCode node stop | String form of StatusCode network login | N/A network list | The list of network connections to the peer node. chaincode deploy | The chaincode container name (hash) required for subsequent chaincode invoke and chaincode query commands chaincode invoke | The transaction ID (UUID) chaincode query | By default, the query result is formatted as a printable string. Command line options support writing this value as raw bytes (-r, –raw), or formatted as the hexadecimal representation of the raw bytes (-x, –hex). If the query response is empty then nothing is output.

Deploy a Chaincode

Deploy creates the docker image for the chaincode and subsequently deploys the package to the validating peer. An example is below.

peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

Or:

peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args": ["init", "a","100", "b", "200"]}'

The response to the chaincode deploy command will contain the chaincode identifier (hash) which will be required on subsequent chaincode invoke and chaincode query commands in order to uniquely identify the deployed chaincode.

Note: If your GOPATH environment variable contains more than one element, the chaincode must be found in the first one or deployment will fail.