From 557ebf9e8e55ee1bd038bbf079da71ff1495f434 Mon Sep 17 00:00:00 2001 From: Bas van Kervel Date: Thu, 4 Jun 2015 16:49:25 +0200 Subject: [PATCH] added net javascript API --- cmd/console/js.go | 3 ++- rpc/api/eth_js.go | 3 +++ {jsre => rpc/api}/miner_js.go | 2 +- rpc/api/net_js.go | 44 +++++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 rpc/api/eth_js.go rename {jsre => rpc/api}/miner_js.go (99%) create mode 100644 rpc/api/net_js.go diff --git a/cmd/console/js.go b/cmd/console/js.go index 4f3c75453f..243b527b4e 100644 --- a/cmd/console/js.go +++ b/cmd/console/js.go @@ -32,6 +32,7 @@ import ( "github.com/ethereum/go-ethereum/rpc" "github.com/peterh/liner" "github.com/robertkrimen/otto" + "github.com/ethereum/go-ethereum/rpc/api" ) type prompter interface { @@ -122,7 +123,7 @@ func (js *jsre) apiBindings(ipcpath string) { utils.Fatalf("Error requiring web3: %v", err) } - err = js.re.Compile("miner.js", re.Miner_JS) + err = js.re.Compile("miner.js", api.Miner_JS) if err != nil { utils.Fatalf("Error loading miner.js: %v", err) } diff --git a/rpc/api/eth_js.go b/rpc/api/eth_js.go new file mode 100644 index 0000000000..ee6c27121a --- /dev/null +++ b/rpc/api/eth_js.go @@ -0,0 +1,3 @@ +package api + +// JS api provided by web3.js \ No newline at end of file diff --git a/jsre/miner_js.go b/rpc/api/miner_js.go similarity index 99% rename from jsre/miner_js.go rename to rpc/api/miner_js.go index bb89d57d07..f1c64c5e84 100644 --- a/jsre/miner_js.go +++ b/rpc/api/miner_js.go @@ -1,4 +1,4 @@ -package jsre +package api const Miner_JS = ` web3.extend({ diff --git a/rpc/api/net_js.go b/rpc/api/net_js.go new file mode 100644 index 0000000000..0e46629218 --- /dev/null +++ b/rpc/api/net_js.go @@ -0,0 +1,44 @@ +package api + +const Net_JS = ` +web3.extend({ + property: 'miner', + methods: + [ + new web3.extend.Method({ + name: 'version', + call: 'net_version', + params: 0, + inputFormatter: [], + outputFormatter: web3.extend.formatters.formatOutputString + }), + new web3.extend.Method({ + name: 'stop', + call: 'net_getPeerCount', + params: 0, + inputFormatter: [], + outputFormatter: web3.extend.formatters.formatOutputString + }), + new web3.extend.Method({ + name: 'stop', + call: 'miner_stop', + params: 0, + inputFormatter: [], + outputFormatter: web3.extend.formatters.formatOutputBool + }) + ], + properties: + [ + new web3.extend.Property({ + name: 'listening', + getter: 'net_listening', + outputFormatter: web3.extend.formatters.formatOutputBool + }), + new web3.extend.Property({ + name: 'peerCount', + getter: 'net_getPeerCount', + outputFormatter: web3.extend.utils.toDecimal + }) + ] +}); +`