github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/client/keys/list.go (about) 1 package keys 2 3 import ( 4 "github.com/spf13/cobra" 5 "github.com/spf13/viper" 6 7 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/flags" 8 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/crypto/keys" 9 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 10 ) 11 12 const flagListNames = "list-names" 13 14 // ListKeysCmd lists all keys in the key store. 15 func ListKeysCmd() *cobra.Command { 16 cmd := &cobra.Command{ 17 Use: "list", 18 Short: "List all keys", 19 Long: `Return a list of all public keys stored by this key manager 20 along with their associated name and address.`, 21 RunE: runListCmd, 22 } 23 cmd.Flags().Bool(flags.FlagIndentResponse, false, "Add indent to JSON response") 24 cmd.Flags().BoolP(flagListNames, "n", false, "List names only") 25 return cmd 26 } 27 28 func runListCmd(cmd *cobra.Command, _ []string) error { 29 kb, err := keys.NewKeyring(sdk.KeyringServiceName(), viper.GetString(flags.FlagKeyringBackend), viper.GetString(flags.FlagHome), cmd.InOrStdin()) 30 if err != nil { 31 return err 32 } 33 34 infos, err := kb.List() 35 if err != nil { 36 return err 37 } 38 39 if !viper.GetBool(flagListNames) { 40 printInfos(infos) 41 return nil 42 } 43 44 cmd.SetOut(cmd.OutOrStdout()) 45 for _, info := range infos { 46 cmd.Println(info.GetName()) 47 } 48 49 return nil 50 }