aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/geth
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-06-16 01:28:48 +0800
committerobscuren <geffobscura@gmail.com>2015-06-16 01:28:48 +0800
commit5daf8729be88eca87b302ebf7a46fc69cad0f6d0 (patch)
tree0053cb5b84978645b3c83895a651c512e081a183 /cmd/geth
parentbac9a94ddf20dc530966cbf6cd384aaf94aedc77 (diff)
parent4673b04503742de9b1622557b44135d6a4934ad6 (diff)
downloaddexon-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar
dexon-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.gz
dexon-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.bz2
dexon-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.lz
dexon-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.xz
dexon-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.tar.zst
dexon-5daf8729be88eca87b302ebf7a46fc69cad0f6d0.zip
Merge branch 'release/0.9.30'
Diffstat (limited to 'cmd/geth')
-rw-r--r--cmd/geth/admin.go20
-rw-r--r--cmd/geth/js.go11
-rw-r--r--cmd/geth/js_test.go2
-rw-r--r--cmd/geth/main.go18
4 files changed, 38 insertions, 13 deletions
diff --git a/cmd/geth/admin.go b/cmd/geth/admin.go
index 13d10de32..33ef69792 100644
--- a/cmd/geth/admin.go
+++ b/cmd/geth/admin.go
@@ -51,7 +51,7 @@ func (js *jsre) adminBindings() {
admin.Set("import", js.importChain)
admin.Set("export", js.exportChain)
admin.Set("verbosity", js.verbosity)
- admin.Set("progress", js.downloadProgress)
+ admin.Set("progress", js.syncProgress)
admin.Set("setSolc", js.setSolc)
admin.Set("contractInfo", struct{}{})
@@ -271,9 +271,12 @@ func (js *jsre) debugBlock(call otto.FunctionCall) otto.Value {
}
tstart := time.Now()
-
old := vm.Debug
- vm.Debug = true
+
+ if len(call.ArgumentList) > 1 {
+ vm.Debug, _ = call.Argument(1).ToBoolean()
+ }
+
_, err = js.ethereum.BlockProcessor().RetryProcess(block)
if err != nil {
fmt.Println(err)
@@ -324,9 +327,14 @@ func (js *jsre) setHead(call otto.FunctionCall) otto.Value {
return otto.UndefinedValue()
}
-func (js *jsre) downloadProgress(call otto.FunctionCall) otto.Value {
- pending, cached := js.ethereum.Downloader().Stats()
- v, _ := call.Otto.ToValue(map[string]interface{}{"pending": pending, "cached": cached})
+func (js *jsre) syncProgress(call otto.FunctionCall) otto.Value {
+ pending, cached, importing, eta := js.ethereum.Downloader().Stats()
+ v, _ := call.Otto.ToValue(map[string]interface{}{
+ "pending": pending,
+ "cached": cached,
+ "importing": importing,
+ "estimate": (eta / time.Second * time.Second).String(),
+ })
return v
}
diff --git a/cmd/geth/js.go b/cmd/geth/js.go
index 706bc6554..7e6e10ca9 100644
--- a/cmd/geth/js.go
+++ b/cmd/geth/js.go
@@ -73,7 +73,7 @@ type jsre struct {
prompter
}
-func newJSRE(ethereum *eth.Ethereum, libPath, corsDomain string, interactive bool, f xeth.Frontend) *jsre {
+func newJSRE(ethereum *eth.Ethereum, libPath, corsDomain, ipcpath string, interactive bool, f xeth.Frontend) *jsre {
js := &jsre{ethereum: ethereum, ps1: "> "}
// set default cors domain used by startRpc from CLI flag
js.corsDomain = corsDomain
@@ -84,7 +84,7 @@ func newJSRE(ethereum *eth.Ethereum, libPath, corsDomain string, interactive boo
js.wait = js.xeth.UpdateState()
// update state in separare forever blocks
js.re = re.New(libPath)
- js.apiBindings(f)
+ js.apiBindings(ipcpath, f)
js.adminBindings()
if !liner.TerminalSupported() || !interactive {
@@ -103,14 +103,15 @@ func newJSRE(ethereum *eth.Ethereum, libPath, corsDomain string, interactive boo
return js
}
-func (js *jsre) apiBindings(f xeth.Frontend) {
+func (js *jsre) apiBindings(ipcpath string, f xeth.Frontend) {
xe := xeth.New(js.ethereum, f)
ethApi := rpc.NewEthereumApi(xe)
- jeth := rpc.NewJeth(ethApi, js.re)
+ jeth := rpc.NewJeth(ethApi, js.re, ipcpath)
js.re.Set("jeth", struct{}{})
t, _ := js.re.Get("jeth")
jethObj := t.Object()
+
jethObj.Set("send", jeth.Send)
jethObj.Set("sendAsync", jeth.Send)
@@ -119,7 +120,7 @@ func (js *jsre) apiBindings(f xeth.Frontend) {
utils.Fatalf("Error loading bignumber.js: %v", err)
}
- err = js.re.Compile("ethereum.js", re.Ethereum_JS)
+ err = js.re.Compile("ethereum.js", re.Web3_JS)
if err != nil {
utils.Fatalf("Error loading ethereum.js: %v", err)
}
diff --git a/cmd/geth/js_test.go b/cmd/geth/js_test.go
index e7285a38d..20bde01f3 100644
--- a/cmd/geth/js_test.go
+++ b/cmd/geth/js_test.go
@@ -105,7 +105,7 @@ func testJEthRE(t *testing.T) (string, *testjethre, *eth.Ethereum) {
t.Errorf("Error creating DocServer: %v", err)
}
tf := &testjethre{ds: ds, stateDb: ethereum.ChainManager().State().Copy()}
- repl := newJSRE(ethereum, assetPath, "", false, tf)
+ repl := newJSRE(ethereum, assetPath, "", "", false, tf)
tf.jsre = repl
return tmp, tf, ethereum
}
diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index 86868e20b..5ea670f20 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -44,7 +44,7 @@ import (
const (
ClientIdentifier = "Geth"
- Version = "0.9.28"
+ Version = "0.9.30"
)
var (
@@ -239,6 +239,9 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
utils.RPCEnabledFlag,
utils.RPCListenAddrFlag,
utils.RPCPortFlag,
+ utils.IPCDisabledFlag,
+ utils.IPCApiFlag,
+ utils.IPCPathFlag,
utils.WhisperEnabledFlag,
utils.VMDebugFlag,
utils.ProtocolVersionFlag,
@@ -253,6 +256,12 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
utils.PProfEanbledFlag,
utils.PProfPortFlag,
utils.SolcPathFlag,
+ utils.GpoMinGasPriceFlag,
+ utils.GpoMaxGasPriceFlag,
+ utils.GpoFullBlockRatioFlag,
+ utils.GpobaseStepDownFlag,
+ utils.GpobaseStepUpFlag,
+ utils.GpobaseCorrectionFactorFlag,
}
app.Before = func(ctx *cli.Context) error {
utils.SetupLogger(ctx)
@@ -305,6 +314,7 @@ func console(ctx *cli.Context) {
ethereum,
ctx.String(utils.JSpathFlag.Name),
ctx.GlobalString(utils.RPCCORSDomainFlag.Name),
+ utils.IpcSocketPath(ctx),
true,
nil,
)
@@ -326,6 +336,7 @@ func execJSFiles(ctx *cli.Context) {
ethereum,
ctx.String(utils.JSpathFlag.Name),
ctx.GlobalString(utils.RPCCORSDomainFlag.Name),
+ utils.IpcSocketPath(ctx),
false,
nil,
)
@@ -382,6 +393,11 @@ func startEth(ctx *cli.Context, eth *eth.Ethereum) {
}
}
// Start auxiliary services if enabled.
+ if !ctx.GlobalBool(utils.IPCDisabledFlag.Name) {
+ if err := utils.StartIPC(eth, ctx); err != nil {
+ utils.Fatalf("Error string IPC: %v", err)
+ }
+ }
if ctx.GlobalBool(utils.RPCEnabledFlag.Name) {
if err := utils.StartRPC(eth, ctx); err != nil {
utils.Fatalf("Error starting RPC: %v", err)