diff options
Diffstat (limited to 'ethereum')
-rw-r--r-- | ethereum/config.go | 2 | ||||
-rw-r--r-- | ethereum/dev_console.go | 2 | ||||
-rw-r--r-- | ethereum/ethereum.go | 48 |
3 files changed, 32 insertions, 20 deletions
diff --git a/ethereum/config.go b/ethereum/config.go index 234e79f12..7ca1a9801 100644 --- a/ethereum/config.go +++ b/ethereum/config.go @@ -7,6 +7,7 @@ import ( var StartConsole bool var StartMining bool var StartRpc bool +var RpcPort int var UseUPnP bool var OutboundPort string var ShowGenesis bool @@ -26,6 +27,7 @@ func Init() { flag.BoolVar(&ShowGenesis, "g", false, "prints genesis header and exits") //flag.BoolVar(&UseGui, "gui", true, "use the gui") flag.BoolVar(&StartRpc, "r", false, "start rpc server") + flag.IntVar(&RpcPort, "rpcport", 8080, "port to start json-rpc server on") flag.BoolVar(&NonInteractive, "y", false, "non-interactive mode (say yes to confirmations)") flag.BoolVar(&UseUPnP, "upnp", false, "enable UPnP support") flag.BoolVar(&UseSeed, "seed", true, "seed peers") diff --git a/ethereum/dev_console.go b/ethereum/dev_console.go index d2be43205..9bdd58942 100644 --- a/ethereum/dev_console.go +++ b/ethereum/dev_console.go @@ -191,7 +191,7 @@ func (i *Console) ParseInput(input string) bool { case "contract": fmt.Println("Contract editor (Ctrl-D = done)") - mainInput, initInput := mutan.PreProcess(i.Editor()) + mainInput, initInput := mutan.PreParse(i.Editor()) mainScript, err := utils.Compile(mainInput) if err != nil { fmt.Println(err) diff --git a/ethereum/ethereum.go b/ethereum/ethereum.go index 2f05bf2a1..babebbb48 100644 --- a/ethereum/ethereum.go +++ b/ethereum/ethereum.go @@ -1,6 +1,7 @@ package main import ( + "encoding/hex" "fmt" "github.com/ethereum/eth-go" "github.com/ethereum/eth-go/ethchain" @@ -122,24 +123,8 @@ func main() { // Set the max peers ethereum.MaxPeers = MaxPeer - if StartConsole { - err := os.Mkdir(ethutil.Config.ExecPath, os.ModePerm) - // Error is OK if the error is ErrExist - if err != nil && !os.IsExist(err) { - log.Panic("Unable to create EXECPATH:", err) - } - - console := NewConsole(ethereum) - go console.Start() - } - if StartRpc { - ethereum.RpcServer = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool())) - go ethereum.RpcServer.Start() - } - - RegisterInterrupts(ethereum) - - ethereum.Start(UseSeed) + // Set Mining status + ethereum.Mining = StartMining if StartMining { logger.Infoln("Miner started") @@ -155,7 +140,9 @@ func main() { keyRing := ethutil.NewValueFromBytes(data) addr := keyRing.Get(1).Bytes() - miner := ethminer.NewDefaultMiner(addr, ethereum) + pair, _ := ethchain.NewKeyPairFromSec(ethutil.FromHex(hex.EncodeToString(addr))) + + miner := ethminer.NewDefaultMiner(pair.Address(), ethereum) miner.Start() }() @@ -164,6 +151,29 @@ func main() { } + if StartConsole { + err := os.Mkdir(ethutil.Config.ExecPath, os.ModePerm) + // Error is OK if the error is ErrExist + if err != nil && !os.IsExist(err) { + log.Panic("Unable to create EXECPATH:", err) + } + + console := NewConsole(ethereum) + go console.Start() + } + if StartRpc { + ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum), RpcPort) + if err != nil { + logger.Infoln("Could not start RPC interface:", err) + } else { + go ethereum.RpcServer.Start() + } + } + + RegisterInterrupts(ethereum) + + ethereum.Start(UseSeed) + // Wait for shutdown ethereum.WaitForShutdown() } |