5. Create the keeper. Note, the `x/evidence` module depends on the `x/staking` and `x/slashing` modules. Evidence has expected interfaces, these interfaces are linked to slashing and staking. You can find these interfaces [here](https://github.com/cosmos/cosmos-sdk/blob/v0.41.0/x/evidence/types/expected_keepers.go)
View supported messages at [docs.cosmos.network/v0.40/modules/evidence](https://docs.cosmos.network/v0.40/modules/evidence/03_messages.html)
## Client
Evidence supports querying of old evidence and submission of new evidence. There are two queries. One for all the evidence, and one for a specific piece of evidence.
### CLI
The evidence module supports the blow command to query evidence.
```sh
Usage:
app query evidence [flags]
Flags:
--count-total count total number of records in evidence to query for
--height int Use a specific height to query state at (this can error if the node is pruning state)
-h, --help help for evidence
--limit uint pagination limit of evidence to query for (default 100)
--node string <host>:<port> to Tendermint RPC interface for this chain (default "tcp://localhost:26657")
--offset uint pagination offset of evidence to query for
-o, --output string Output format (text|json) (default "text")
--page uint pagination page of evidence to query for. This sets offset to a multiple of limit (default 1)
--page-key string pagination page-key of evidence to query for
```
### REST
Evidence REST API supports only queries of evidence. To submit evidence please use gRPC or the cli.
### gRPC
Evidence supports both querying and submitting transactions via gRPC