osnadmin channel

The osnadmin channel command allows administrators to perform channel-related operations on an orderer, such as joining a channel, listing the channels an orderer has joined, and removing a channel. The channel participation API must be enabled and the Admin endpoint must be configured in the orderer.yaml for each orderer.

*Note: For a network using a system channel, list (for all channels) and remove (for the system channel) are the only supported operations. Any other attempted operation will return an error.

Syntax

The osnadmin channel command has the following subcommands:

  • join
  • list
  • remove

osnadmin channel

usage: osnadmin channel <command> [<args> ...]

Channel actions

Flags:
      --help                     Show context-sensitive help (also try
                                 --help-long and --help-man).
  -o, --orderer-address=ORDERER-ADDRESS
                                 Admin endpoint of the OSN
      --ca-file=CA-FILE          Path to file containing PEM-encoded TLS CA
                                 certificate(s) for the OSN
      --client-cert=CLIENT-CERT  Path to file containing PEM-encoded X509 public
                                 key to use for mutual TLS communication with
                                 the OSN
      --client-key=CLIENT-KEY    Path to file containing PEM-encoded private key
                                 to use for mutual TLS communication with the
                                 OSN

Subcommands:
  channel join --channelID=CHANNELID --config-block=CONFIG-BLOCK
    Join an Ordering Service Node (OSN) to a channel. If the channel does not
    yet exist, it will be created.

  channel list [<flags>]
    List channel information for an Ordering Service Node (OSN). If the
    channelID flag is set, more detailed information will be provided for that
    channel.

  channel remove --channelID=CHANNELID
    Remove an Ordering Service Node (OSN) from a channel.

osnadmin channel join

usage: osnadmin channel join --channelID=CHANNELID --config-block=CONFIG-BLOCK

Join an Ordering Service Node (OSN) to a channel. If the channel does not yet
exist, it will be created.

Flags:
      --help                     Show context-sensitive help (also try
                                 --help-long and --help-man).
  -o, --orderer-address=ORDERER-ADDRESS
                                 Admin endpoint of the OSN
      --ca-file=CA-FILE          Path to file containing PEM-encoded TLS CA
                                 certificate(s) for the OSN
      --client-cert=CLIENT-CERT  Path to file containing PEM-encoded X509 public
                                 key to use for mutual TLS communication with
                                 the OSN
      --client-key=CLIENT-KEY    Path to file containing PEM-encoded private key
                                 to use for mutual TLS communication with the
                                 OSN
  -c, --channelID=CHANNELID      Channel ID
  -b, --config-block=CONFIG-BLOCK
                                 Path to the file containing an up-to-date
                                 config block for the channel

osnadmin channel list

usage: osnadmin channel list [<flags>]

List channel information for an Ordering Service Node (OSN). If the channelID
flag is set, more detailed information will be provided for that channel.

Flags:
      --help                     Show context-sensitive help (also try
                                 --help-long and --help-man).
  -o, --orderer-address=ORDERER-ADDRESS
                                 Admin endpoint of the OSN
      --ca-file=CA-FILE          Path to file containing PEM-encoded TLS CA
                                 certificate(s) for the OSN
      --client-cert=CLIENT-CERT  Path to file containing PEM-encoded X509 public
                                 key to use for mutual TLS communication with
                                 the OSN
      --client-key=CLIENT-KEY    Path to file containing PEM-encoded private key
                                 to use for mutual TLS communication with the
                                 OSN
  -c, --channelID=CHANNELID      Channel ID

osnadmin channel remove

usage: osnadmin channel remove --channelID=CHANNELID

Remove an Ordering Service Node (OSN) from a channel.

Flags:
      --help                     Show context-sensitive help (also try
                                 --help-long and --help-man).
  -o, --orderer-address=ORDERER-ADDRESS
                                 Admin endpoint of the OSN
      --ca-file=CA-FILE          Path to file containing PEM-encoded TLS CA
                                 certificate(s) for the OSN
      --client-cert=CLIENT-CERT  Path to file containing PEM-encoded X509 public
                                 key to use for mutual TLS communication with
                                 the OSN
      --client-key=CLIENT-KEY    Path to file containing PEM-encoded private key
                                 to use for mutual TLS communication with the
                                 OSN
  -c, --channelID=CHANNELID      Channel ID

Example Usage

osnadmin channel join examples

Here”s an example of the osnadmin channel join command.

  • Create and join a sample channel mychannel defined by the application channel genesis block contained in file mychannel-genesis-block.pb. Use the orderer admin endpoint at orderer.example.com:9443.

    
    osnadmin channel join -o orderer.example.com:9443 --ca-file $CA_FILE --client-cert $CLIENT_CERT --client-key $CLIENT_KEY --channelID mychannel --config-block mychannel-genesis-block.pb
    
    Status: 201
    {
      "name": "mychannel",
      "url": "/participation/v1/channels/mychannel",
      "consensusRelation": "consenter",
      "status": "active",
      "height": 1
    }
    

    Status 201 and the channel details are returned indicating that the channel has been successfully created and joined.

osnadmin channel list example

Here are some examples of the osnadmin channel list command.

  • Listing all the channels that the orderer has joined. This includes the system channel (if one exists) and all of the application channels.

    osnadmin channel list -o orderer.example.com:9443 --ca-file $CA_FILE --client-cert $CLIENT_CERT --client-key $CLIENT_KEY
    
    Status: 200
    {
      "systemChannel": null,
      "channels": [
          {
              "name": "mychannel",
              "url": "/participation/v1/channels/mychannel"
          }
      ]
    }
    

    Status 200 and the list of channels are returned.

  • Using the --channelID flag to list more details for mychannel.

    osnadmin channel list -o orderer.example.com:9443 --ca-file $CA_FILE --client-cert $CLIENT_CERT --client-key $CLIENT_KEY --channelID mychannel
    
    Status: 200
    {
      "name": "mychannel",
      "url": "/participation/v1/channels/mychannel",
      "consensusRelation": "consenter",
      "status": "active",
      "height": 3
    }
    

    Status 200 and the details of the channels are returned.

osnadmin channel remove example

Here”s an example of the osnadmin channel remove command.

  • Removing channel mychannel from the orderer at orderer.example.com:9443.

    osnadmin channel remove -o orderer.example.com:9443 --ca-file $CA_FILE --client-cert $CLIENT_CERT --client-key $CLIENT_KEY --channelID mychannel
    
    Status: 204
    

    Status 204 is returned upon successful removal of a channel.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.