* Add new account bech32 prefixes with godocs * Restructure spacing of existing account code * Update account godocs * More account godoc updates + new tm pub/addr helpers * Update validator type to use new account types/bech32 prefixes * Fix account documentation errors * Update Bech32 prefix for consensus nodes * Update Bech32 spec doc * Fix account type tests * Add missing account consensus functions, clear up godocs, and fix tests * Add to TestRandBech32PubkeyConsistency check * Update initialization of validator public keys * Update query signing info command * Implement new ConsAddress type with associated unit tests * [WIP] Update stake and slashing parameters * Update all calls to MustBech32ifyValPub * [WIP] Validator operator API updates * [WIP] Fix and update unit tests * Fix gov logs (helping to debug failing tests) * Fix gov tally * Fix all broken x/ unit tests * Update gaia app genesis address logic * Fix linting errors * Fix broken LCD tests * Fix broken CLI tests * Implement command to get validator address and pubkey from key name * Add support for getting validator key information via REST endpoint * Update PENDING log * Update docs * Revert GaiaGenTx.PubKey bech32 prefix * Fix broken docs and cli tests * Update genesis to use correct Bech32 (cons) prefix for pubkeys * Update docs and unit tests to reflect new cosmos account bech32 prefix * minor formatting
41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package keys
|
|
|
|
import (
|
|
"github.com/cosmos/cosmos-sdk/client"
|
|
"github.com/gorilla/mux"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
// Commands registers a sub-tree of commands to interact with
|
|
// local private key storage.
|
|
func Commands() *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "keys",
|
|
Short: "Add or view local private keys",
|
|
Long: `Keys allows you to manage your local keystore for tendermint.
|
|
|
|
These keys may be in any format supported by go-crypto and can be
|
|
used by light-clients, full nodes, or any other application that
|
|
needs to sign with a private key.`,
|
|
}
|
|
cmd.AddCommand(
|
|
addKeyCommand(),
|
|
listKeysCmd,
|
|
showKeysCmd(),
|
|
client.LineBreak,
|
|
deleteKeyCommand(),
|
|
updateKeyCommand(),
|
|
)
|
|
return cmd
|
|
}
|
|
|
|
// resgister REST routes
|
|
func RegisterRoutes(r *mux.Router) {
|
|
r.HandleFunc("/keys", QueryKeysRequestHandler).Methods("GET")
|
|
r.HandleFunc("/keys", AddNewKeyRequestHandler).Methods("POST")
|
|
r.HandleFunc("/keys/seed", SeedRequestHandler).Methods("GET")
|
|
r.HandleFunc("/keys/{name}", GetKeyRequestHandler).Methods("GET")
|
|
r.HandleFunc("/keys/{name}", UpdateKeyRequestHandler).Methods("PUT")
|
|
r.HandleFunc("/keys/{name}", DeleteKeyRequestHandler).Methods("DELETE")
|
|
}
|