package main import ( "fmt" "os" "time" blockchainlib "./blockchainlib" p2plib "./p2plib" "github.com/fatih/color" ) var tp p2plib.ThisPeer var blockchain blockchainlib.Blockchain func main() { if len(os.Args) < 3 { color.Red("need to call:") color.Red("./peer client 3001 3002") os.Exit(3) } color.Blue("Starting Peer") //read configuration file readConfig("config.json") //initialize blockchainlib //InitializeBlockchain(role, ip, port, restport, serverip, serverport) config.RESTPort = os.Args[3] tp := blockchain.InitializeBlockchain(os.Args[1], "127.0.0.1", os.Args[2], os.Args[3], config.ServerIP, config.ServerPort) if tp.RunningPeer.Role == "client" { color.Red("http://" + config.IP + ":" + config.ServerRESTPort) fmt.Println(blockchain.GenesisBlock) blockchain.ReconstructBlockchainFromBlock("http://"+config.IP+":"+config.ServerRESTPort, blockchain.GenesisBlock) } color.Blue("peer and blokcchain initialized") go runRestServer() //TODO this will not be necessary, due the communications will go full over tcp connections for tp.Running { time.Sleep(1000 * time.Millisecond) } }