# 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