aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/http.go
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/http.go')
-rw-r--r--rpc/http.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/rpc/http.go b/rpc/http.go
index 919c567bd..d146f28a6 100644
--- a/rpc/http.go
+++ b/rpc/http.go
@@ -2,8 +2,10 @@ package rpc
import (
"encoding/json"
+ "fmt"
"io"
"io/ioutil"
+ "net"
"net/http"
"github.com/ethereum/go-ethereum/logger"
@@ -17,6 +19,16 @@ const (
maxSizeReqLength = 1024 * 1024 // 1MB
)
+func Start(pipe *xeth.XEth, config RpcConfig) error {
+ l, err := net.Listen("tcp", fmt.Sprintf("%s:%d", config.ListenAddress, config.ListenPort))
+ if err != nil {
+ rpclogger.Errorf("Can't listen on %s:%d: %v", config.ListenAddress, config.ListenPort, err)
+ return err
+ }
+ go http.Serve(l, JSONRPC(pipe))
+ return nil
+}
+
// JSONRPC returns a handler that implements the Ethereum JSON-RPC API.
func JSONRPC(pipe *xeth.XEth) http.Handler {
api := NewEthereumApi(pipe)