blockchain_go/cli_send.go

28 lines
553 B
Go
Raw Normal View History

package main
2017-09-10 01:53:14 -05:00
import (
"fmt"
"log"
)
func (cli *CLI) send(from, to string, amount int, nodeID string) {
2017-09-10 01:53:14 -05:00
if !ValidateAddress(from) {
log.Panic("ERROR: Sender address is not valid")
}
if !ValidateAddress(to) {
log.Panic("ERROR: Recipient address is not valid")
}
bc := NewBlockchain(nodeID)
2017-09-16 23:49:59 -05:00
UTXOSet := UTXOSet{bc}
defer bc.db.Close()
2017-09-16 23:49:59 -05:00
tx := NewUTXOTransaction(from, to, amount, &UTXOSet)
2017-09-16 21:16:50 -05:00
cbTx := NewCoinbaseTX(from, "")
txs := []*Transaction{cbTx, tx}
newBlock := bc.MineBlock(txs)
UTXOSet.Update(newBlock)
fmt.Println("Success!")
}