aboutsummaryrefslogtreecommitdiffstats
path: root/ethereum
diff options
context:
space:
mode:
Diffstat (limited to 'ethereum')
-rw-r--r--ethereum/config.go2
-rw-r--r--ethereum/dev_console.go2
-rw-r--r--ethereum/ethereum.go48
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()
}