aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ethereal/config.go2
-rw-r--r--ethereal/ethereum.go7
-rw-r--r--ethereal/ui/ext_app.go2
-rw-r--r--ethereum/config.go2
-rw-r--r--ethereum/ethereum.go6
5 files changed, 18 insertions, 1 deletions
diff --git a/ethereal/config.go b/ethereal/config.go
index ac4484d0b..94f896c5f 100644
--- a/ethereal/config.go
+++ b/ethereal/config.go
@@ -6,6 +6,7 @@ import (
var StartConsole bool
var StartMining bool
+var StartRpc bool
var UseUPnP bool
var OutboundPort string
var ShowGenesis bool
@@ -21,6 +22,7 @@ var AssetPath string
func Init() {
flag.BoolVar(&StartConsole, "c", false, "debug and testing console")
flag.BoolVar(&StartMining, "m", false, "start dagger mining")
+ flag.BoolVar(&StartRpc, "r", false, "start rpc server")
flag.BoolVar(&ShowGenesis, "g", false, "prints genesis header and exits")
flag.BoolVar(&UseUPnP, "upnp", false, "enable UPnP support")
flag.BoolVar(&UseSeed, "seed", true, "seed peers")
diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go
index 0adb9f151..782001195 100644
--- a/ethereal/ethereum.go
+++ b/ethereal/ethereum.go
@@ -4,6 +4,8 @@ import (
"fmt"
"github.com/ethereum/eth-go"
"github.com/ethereum/eth-go/ethchain"
+ "github.com/ethereum/eth-go/etherpc"
+ "github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/go-ethereum/ethereal/ui"
"github.com/ethereum/go-ethereum/utils"
@@ -98,6 +100,11 @@ func main() {
os.Exit(0)
}
+ if StartRpc {
+ ethereum.RpcServer = etherpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool()))
+ go ethereum.RpcServer.Start()
+ }
+
log.Printf("Starting Ethereum GUI v%s\n", ethutil.Config.Ver)
// Set the max peers
diff --git a/ethereal/ui/ext_app.go b/ethereal/ui/ext_app.go
index de5f15db6..93db0ade1 100644
--- a/ethereal/ui/ext_app.go
+++ b/ethereal/ui/ext_app.go
@@ -34,7 +34,7 @@ type ExtApplication struct {
func NewExtApplication(container AppContainer, lib *UiLib) *ExtApplication {
app := &ExtApplication{
- ethpub.NewPEthereum(lib.eth),
+ ethpub.NewPEthereum(lib.eth.StateManager(), lib.eth.BlockChain(), lib.eth.TxPool()),
make(chan ethutil.React, 1),
make(chan ethutil.React, 1),
make(chan bool),
diff --git a/ethereum/config.go b/ethereum/config.go
index b796af5cd..234e79f12 100644
--- a/ethereum/config.go
+++ b/ethereum/config.go
@@ -6,6 +6,7 @@ import (
var StartConsole bool
var StartMining bool
+var StartRpc bool
var UseUPnP bool
var OutboundPort string
var ShowGenesis bool
@@ -24,6 +25,7 @@ func Init() {
flag.BoolVar(&StartMining, "m", false, "start dagger mining")
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.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/ethereum.go b/ethereum/ethereum.go
index 04851d2bd..1315c0120 100644
--- a/ethereum/ethereum.go
+++ b/ethereum/ethereum.go
@@ -4,7 +4,9 @@ import (
"fmt"
"github.com/ethereum/eth-go"
"github.com/ethereum/eth-go/ethchain"
+ "github.com/ethereum/eth-go/etherpc"
"github.com/ethereum/eth-go/ethminer"
+ "github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/go-ethereum/utils"
"log"
@@ -131,6 +133,10 @@ func main() {
console := NewConsole(ethereum)
go console.Start()
}
+ if StartRpc {
+ ethereum.RpcServer = etherpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool()))
+ go ethereum.RpcServer.Start()
+ }
RegisterInterrupts(ethereum)
ethereum.Start()