Implement 'listaddresses' CLI command
This commit is contained in:
parent
5b0e4ecc19
commit
deb7e2ce03
19
cli.go
19
cli.go
|
@ -39,6 +39,15 @@ func (cli *CLI) getBalance(address string) {
|
|||
fmt.Printf("Balance of '%s': %d\n", address, balance)
|
||||
}
|
||||
|
||||
func (cli *CLI) listAddresses() {
|
||||
wallets := NewWallets()
|
||||
addresses := wallets.GetAddresses()
|
||||
|
||||
for _, address := range addresses {
|
||||
fmt.Println(address)
|
||||
}
|
||||
}
|
||||
|
||||
func (cli *CLI) printUsage() {
|
||||
fmt.Println("Usage:")
|
||||
fmt.Println(" getbalance -address ADDRESS - Get balance of ADDRESS")
|
||||
|
@ -92,6 +101,7 @@ func (cli *CLI) Run() {
|
|||
getBalanceCmd := flag.NewFlagSet("getbalance", flag.ExitOnError)
|
||||
createBlockchainCmd := flag.NewFlagSet("createblockchain", flag.ExitOnError)
|
||||
createWalletCmd := flag.NewFlagSet("createwallet", flag.ExitOnError)
|
||||
listAddressesCmd := flag.NewFlagSet("listaddresses", flag.ExitOnError)
|
||||
sendCmd := flag.NewFlagSet("send", flag.ExitOnError)
|
||||
printChainCmd := flag.NewFlagSet("printchain", flag.ExitOnError)
|
||||
|
||||
|
@ -117,6 +127,11 @@ func (cli *CLI) Run() {
|
|||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
case "listaddresses":
|
||||
err := listAddressesCmd.Parse(os.Args[2:])
|
||||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
case "printchain":
|
||||
err := printChainCmd.Parse(os.Args[2:])
|
||||
if err != nil {
|
||||
|
@ -152,6 +167,10 @@ func (cli *CLI) Run() {
|
|||
cli.createWallet()
|
||||
}
|
||||
|
||||
if listAddressesCmd.Parsed() {
|
||||
cli.listAddresses()
|
||||
}
|
||||
|
||||
if printChainCmd.Parsed() {
|
||||
cli.printChain()
|
||||
}
|
||||
|
|
11
wallet.go
11
wallet.go
|
@ -120,6 +120,17 @@ func (ws *Wallets) LoadFromFile() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// GetAddresses returns an array of addresses stored in the wallet file
|
||||
func (ws *Wallets) GetAddresses() []string {
|
||||
var addresses []string
|
||||
|
||||
for address := range ws.Wallets {
|
||||
addresses = append(addresses, address)
|
||||
}
|
||||
|
||||
return addresses
|
||||
}
|
||||
|
||||
// NewWallets ...
|
||||
func NewWallets() *Wallets {
|
||||
wallets := Wallets{}
|
||||
|
|
Loading…
Reference in New Issue