diff options
-rw-r--r-- | ethereal/config.go | 2 | ||||
-rw-r--r-- | ethereal/ethereum.go | 7 | ||||
-rw-r--r-- | ethereal/ui/ext_app.go | 2 | ||||
-rw-r--r-- | ethereum/config.go | 2 | ||||
-rw-r--r-- | ethereum/ethereum.go | 6 |
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() |