peer snapshot

The peer snapshot command allows administrators to perform snapshot related operations on a peer, such as submit a snapshot request, cancel a snapshot request and list pending requests. Once a snapshot request is submitted for a specified block number, the snapshot will be automatically generated when the block number is committed on the channel.

Syntax

The peer snapshot command has the following subcommands:

  • cancelrequest
  • listpending
  • submitrequest

peer snapshot cancelrequest

Cancel a request for a snapshot at the specified block.

Usage:
  peer snapshot cancelrequest [flags]

Flags:
  -b, --blockNumber uint         The block number for which a snapshot will be generated
  -c, --channelID string         The channel on which this command should be executed
  -h, --help                     help for cancelrequest
      --peerAddress string       The address of the peer to connect to
      --tlsRootCertFile string   The path to the TLS root cert file of the peer to connect to, required if TLS is enabled and ignored if TLS is disabled.

peer snapshot listpending

List pending requests for snapshots.

Usage:
  peer snapshot listpending [flags]

Flags:
  -c, --channelID string         The channel on which this command should be executed
  -h, --help                     help for listpending
      --peerAddress string       The address of the peer to connect to
      --tlsRootCertFile string   The path to the TLS root cert file of the peer to connect to, required if TLS is enabled and ignored if TLS is disabled.

peer snapshot submitrequest

Submit a request for a snapshot at the specified block. When the blockNumber parameter is set to 0 or not provided, it will submit a request for the last committed block.

Usage:
  peer snapshot submitrequest [flags]

Flags:
  -b, --blockNumber uint         The block number for which a snapshot will be generated
  -c, --channelID string         The channel on which this command should be executed
  -h, --help                     help for submitrequest
      --peerAddress string       The address of the peer to connect to
      --tlsRootCertFile string   The path to the TLS root cert file of the peer to connect to, required if TLS is enabled and ignored if TLS is disabled.

Example Usage

peer snapshot cancelrequest example

Here is an example of the peer snapshot cancelrequest command.

  • Cancel a snapshot request for block number 1000 on channel mychannel for peer0.org1.example.com:7051:

    peer snapshot cancelrequest -c mychannel -b 1000 --peerAddress peer0.org1.example.com:7051
    
    Snapshot request cancelled successfully
    

    A successful response indicates that the snapshot request for block number 1000 has been removed from mychannel. If there is no pending snapshot request for block number 1000, the command will return an error.

  • Use the --tlsRootCertFile flag in a network with TLS enabled

peer snapshot listpending example

Here is an example of the peer snapshot listpending command. If a snapshot is already generated, the corresponding block number will be removed from the pending list.

  • List pending snapshot requests on channel mychannel for peer0.org1.example.com:7051:

    peer snapshot listpending -c mychannel --peerAddress peer0.org1.example.com:7051
    
    Successfully got pending snapshot requests: [1000 5000]
    

    You can see that the command returns a list of block numbers for the pending snapshot requests.

  • Use the --tlsRootCertFile flag in a network with TLS enabled

peer snapshot submitrequest example

Here is an example of the peer snapshot submitrequest command.

  • Submit a snapshot request for block number 1000 on channel mychannel for peer0.org1.example.com:7051:

    peer snapshot submitrequest -c mychannel -b 1000 --peerAddress peer0.org1.example.com:7051
    
    Snapshot request submitted successfully
    

    You can see that the snapshot request is successfully submitted on channel mychannel. A snapshot will be automatically generated after the block number 1000 is committed on the channel.

    The specified block number must be at or above the last block number on the channel. Otherwise, the command will return an error.

  • Use the --tlsRootCertFile flag in a network with TLS enabled