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)
|
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() {
|
func (cli *CLI) printUsage() {
|
||||||
fmt.Println("Usage:")
|
fmt.Println("Usage:")
|
||||||
fmt.Println(" getbalance -address ADDRESS - Get balance of ADDRESS")
|
fmt.Println(" getbalance -address ADDRESS - Get balance of ADDRESS")
|
||||||
|
@ -92,6 +101,7 @@ func (cli *CLI) Run() {
|
||||||
getBalanceCmd := flag.NewFlagSet("getbalance", flag.ExitOnError)
|
getBalanceCmd := flag.NewFlagSet("getbalance", flag.ExitOnError)
|
||||||
createBlockchainCmd := flag.NewFlagSet("createblockchain", flag.ExitOnError)
|
createBlockchainCmd := flag.NewFlagSet("createblockchain", flag.ExitOnError)
|
||||||
createWalletCmd := flag.NewFlagSet("createwallet", flag.ExitOnError)
|
createWalletCmd := flag.NewFlagSet("createwallet", flag.ExitOnError)
|
||||||
|
listAddressesCmd := flag.NewFlagSet("listaddresses", flag.ExitOnError)
|
||||||
sendCmd := flag.NewFlagSet("send", flag.ExitOnError)
|
sendCmd := flag.NewFlagSet("send", flag.ExitOnError)
|
||||||
printChainCmd := flag.NewFlagSet("printchain", flag.ExitOnError)
|
printChainCmd := flag.NewFlagSet("printchain", flag.ExitOnError)
|
||||||
|
|
||||||
|
@ -117,6 +127,11 @@ func (cli *CLI) Run() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Panic(err)
|
||||||
}
|
}
|
||||||
|
case "listaddresses":
|
||||||
|
err := listAddressesCmd.Parse(os.Args[2:])
|
||||||
|
if err != nil {
|
||||||
|
log.Panic(err)
|
||||||
|
}
|
||||||
case "printchain":
|
case "printchain":
|
||||||
err := printChainCmd.Parse(os.Args[2:])
|
err := printChainCmd.Parse(os.Args[2:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -152,6 +167,10 @@ func (cli *CLI) Run() {
|
||||||
cli.createWallet()
|
cli.createWallet()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if listAddressesCmd.Parsed() {
|
||||||
|
cli.listAddresses()
|
||||||
|
}
|
||||||
|
|
||||||
if printChainCmd.Parsed() {
|
if printChainCmd.Parsed() {
|
||||||
cli.printChain()
|
cli.printChain()
|
||||||
}
|
}
|
||||||
|
|
11
wallet.go
11
wallet.go
|
@ -120,6 +120,17 @@ func (ws *Wallets) LoadFromFile() error {
|
||||||
return nil
|
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 ...
|
// NewWallets ...
|
||||||
func NewWallets() *Wallets {
|
func NewWallets() *Wallets {
|
||||||
wallets := Wallets{}
|
wallets := Wallets{}
|
||||||
|
|
Loading…
Reference in New Issue