You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

45 lines
1.1 KiB

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)
}
}