# CLI

A user can query and interact with the slashing module using the CLI.

# Query

The query commands allow users to query slashing state.

Copy simd query slashing --help

# params

The params command allows users to query genesis parameters for the slashing module.

Copy simd query slashing params [flags]

Example:

Copy simd query slashing params

Example Output:

Copy downtime_jail_duration: 600s min_signed_per_window: "0.500000000000000000" signed_blocks_window: "100" slash_fraction_double_sign: "0.050000000000000000" slash_fraction_downtime: "0.010000000000000000"

# signing-info

The signing-info command allows users to query signing-info of the validator using consensus public key.

Copy simd query slashing signing-infos [flags]

Example:

Copy simd query slashing signing-info '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"Auxs3865HpB/EfssYOzfqNhEJjzys6jD5B6tPgC8="}'

Example Output:

Copy address: cosmosvalcons1nrqsld3aw6lh6t082frdqc84uwxn0t958c index_offset: "2068" jailed_until: "1970-01-01T00:00:00Z" missed_blocks_counter: "0" start_height: "0" tombstoned: false

# signing-infos

The signing-infos command allows users to query signing infos of all validators.

Copy simd query slashing signing-infos [flags]

Example:

Copy simd query slashing signing-infos

Example Output:

Copy info: - address: cosmosvalcons1nrqsld3aw6lh6t082frdqc84uwxn0t958c index_offset: "2075" jailed_until: "1970-01-01T00:00:00Z" missed_blocks_counter: "0" start_height: "0" tombstoned: false pagination: next_key: null total: "0"

# Transactions

The tx commands allow users to interact with the slashing module.

Copy simd tx slashing --help

# unjail

The unjail command allows users to unjail a validator previously jailed for downtime.

Copy simd tx slashing unjail --from mykey [flags]

Example:

Copy simd tx slashing unjail --from mykey

# gRPC

A user can query the slashing module using gRPC endpoints.

# Params

The Params endpoint allows users to query the parameters of slashing module.

Copy cosmos.slashing.v1beta1.Query/Params

Example:

Copy grpcurl -plaintext localhost:9090 cosmos.slashing.v1beta1.Query/Params

Example Output:

Copy { "params": { "signedBlocksWindow": "100", "minSignedPerWindow": "NTAwMDAwMDAwMDAwMDAwMDAw", "downtimeJailDuration": "600s", "slashFractionDoubleSign": "NTAwMDAwMDAwMDAwMDAwMDA=", "slashFractionDowntime": "MTAwMDAwMDAwMDAwMDAwMDA=" } }

# SigningInfo

The SigningInfo queries the signing info of given cons address.

Copy cosmos.slashing.v1beta1.Query/SigningInfo

Example:

Copy grpcurl -plaintext -d '{"cons_address":"cosmosvalcons1nrqsld3aw6lh6t082frdqc84uwxn0t958c"}' localhost:9090 cosmos.slashing.v1beta1.Query/SigningInfo

Example Output:

Copy { "valSigningInfo": { "address": "cosmosvalcons1nrqsld3aw6lh6t082frdqc84uwxn0t958c", "indexOffset": "3493", "jailedUntil": "1970-01-01T00:00:00Z" } }

# SigningInfos

The SigningInfos queries signing info of all validators.

Copy cosmos.slashing.v1beta1.Query/SigningInfos

Example:

Copy grpcurl -plaintext localhost:9090 cosmos.slashing.v1beta1.Query/SigningInfos

Example Output:

Copy { "info": [ { "address": "cosmosvalcons1nrqslkwd3pz096lh6t082frdqc84uwxn0t958c", "indexOffset": "2467", "jailedUntil": "1970-01-01T00:00:00Z" } ], "pagination": { "total": "1" } }

# REST

A user can query the slashing module using REST endpoints.

# Params

Copy /cosmos/slashing/v1beta1/params

Example:

Copy curl "localhost:1317/cosmos/slashing/v1beta1/params"

Example Output:

Copy { "params": { "signed_blocks_window": "100", "min_signed_per_window": "0.500000000000000000", "downtime_jail_duration": "600s", "slash_fraction_double_sign": "0.050000000000000000", "slash_fraction_downtime": "0.010000000000000000" }

# signing_info

Copy /cosmos/slashing/v1beta1/signing_infos/%s

Example:

Copy curl "localhost:1317/cosmos/slashing/v1beta1/signing_infos/cosmosvalcons1nrqslkwd3pz096lh6t082frdqc84uwxn0t958c"

Example Output:

Copy { "val_signing_info": { "address": "cosmosvalcons1nrqslkwd3pz096lh6t082frdqc84uwxn0t958c", "start_height": "0", "index_offset": "4184", "jailed_until": "1970-01-01T00:00:00Z", "tombstoned": false, "missed_blocks_counter": "0" } }

# signing_infos

Copy /cosmos/slashing/v1beta1/signing_infos

Example:

Copy curl "localhost:1317/cosmos/slashing/v1beta1/signing_infos

Example Output:

Copy { "info": [ { "address": "cosmosvalcons1nrqslkwd3pz096lh6t082frdqc84uwxn0t958c", "start_height": "0", "index_offset": "4169", "jailed_until": "1970-01-01T00:00:00Z", "tombstoned": false, "missed_blocks_counter": "0" } ], "pagination": { "next_key": null, "total": "1" } }