Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
353ecbb7
Commit
353ecbb7
authored
Jul 14, 2014
by
zelig
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of github.com:ethereum/go-ethereum into feature/ethutil-refactor
parents
6b296d90
e53acdc2
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
112 additions
and
87 deletions
+112
-87
debugger.qml
ethereal/assets/debugger/debugger.qml
+4
-2
wallet.qml
ethereal/assets/qml/wallet.qml
+6
-6
webapp.qml
ethereal/assets/qml/webapp.qml
+2
-3
debugger.go
ethereal/debugger.go
+11
-2
ext_app.go
ethereal/ext_app.go
+4
-5
flags.go
ethereal/flags.go
+2
-2
gui.go
ethereal/gui.go
+52
-55
html_container.go
ethereal/html_container.go
+4
-3
qml_container.go
ethereal/qml_container.go
+9
-1
flags.go
ethereum/flags.go
+2
-0
javascript_runtime.go
ethereum/javascript_runtime.go
+8
-8
main.go
ethereum/main.go
+8
-0
No files found.
ethereal/assets/debugger/debugger.qml
View file @
353ecbb7
...
@@ -19,7 +19,7 @@ ApplicationWindow {
...
@@ -19,7 +19,7 @@ ApplicationWindow {
property
alias
dataText
:
rawDataField
.
text
property
alias
dataText
:
rawDataField
.
text
onClosing
:
{
onClosing
:
{
compileTimer
.
stop
()
//
compileTimer.stop()
}
}
MenuBar
{
MenuBar
{
...
@@ -112,13 +112,15 @@ ApplicationWindow {
...
@@ -112,13 +112,15 @@ ApplicationWindow {
anchors.right
:
settings
.
left
anchors.right
:
settings
.
left
focus
:
true
focus
:
true
/*
Timer {
Timer {
id: compileTimer
id: compileTimer
interval: 500 ; running: true ; repeat: true
interval: 500 ; running: true ; repeat: true
onTriggered: {
onTriggered: {
dbg
.
compile
(
codeEditor
.
text
)
dbg.
autoComp
(codeEditor.text)
}
}
}
}
*/
}
}
Column
{
Column
{
...
...
ethereal/assets/qml/wallet.qml
View file @
353ecbb7
...
@@ -100,7 +100,7 @@ ApplicationWindow {
...
@@ -100,7 +100,7 @@ ApplicationWindow {
anchors.right
:
parent
.
right
anchors.right
:
parent
.
right
height
:
200
height
:
200
Image
{
Image
{
source
:
ui
.
assetPath
(
"tx.png"
)
source
:
"../tx.png"
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
MouseArea
{
MouseArea
{
anchors.fill
:
parent
anchors.fill
:
parent
...
@@ -110,7 +110,7 @@ ApplicationWindow {
...
@@ -110,7 +110,7 @@ ApplicationWindow {
}
}
}
}
Image
{
Image
{
source
:
ui
.
assetPath
(
"new.png"
)
source
:
"../new.png"
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
MouseArea
{
MouseArea
{
anchors.fill
:
parent
anchors.fill
:
parent
...
@@ -120,7 +120,7 @@ ApplicationWindow {
...
@@ -120,7 +120,7 @@ ApplicationWindow {
}
}
}
}
Image
{
Image
{
source
:
ui
.
assetPath
(
"net.png"
)
source
:
"../net.png"
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
MouseArea
{
MouseArea
{
anchors.fill
:
parent
anchors.fill
:
parent
...
@@ -131,7 +131,7 @@ ApplicationWindow {
...
@@ -131,7 +131,7 @@ ApplicationWindow {
}
}
Image
{
Image
{
source
:
ui
.
assetPath
(
"heart.png"
)
source
:
"../heart.png"
anchors.horizontalCenter
:
parent
.
horizontalCenter
anchors.horizontalCenter
:
parent
.
horizontalCenter
MouseArea
{
MouseArea
{
anchors.fill
:
parent
anchors.fill
:
parent
...
@@ -436,7 +436,7 @@ ApplicationWindow {
...
@@ -436,7 +436,7 @@ ApplicationWindow {
onDoubleClicked
:
peerWindow
.
visible
=
true
onDoubleClicked
:
peerWindow
.
visible
=
true
anchors.fill
:
parent
anchors.fill
:
parent
}
}
source
:
ui
.
assetPath
(
"network.png"
)
source
:
"../network.png"
}
}
}
}
...
@@ -624,7 +624,7 @@ ApplicationWindow {
...
@@ -624,7 +624,7 @@ ApplicationWindow {
width
:
150
width
:
150
fillMode
:
Image
.
PreserveAspectFit
fillMode
:
Image
.
PreserveAspectFit
smooth
:
true
smooth
:
true
source
:
ui
.
assetPath
(
"facet.png"
)
source
:
"../facet.png"
x
:
10
x
:
10
y
:
10
y
:
10
}
}
...
...
ethereal/assets/qml/webapp.qml
View file @
353ecbb7
...
@@ -38,7 +38,7 @@ ApplicationWindow {
...
@@ -38,7 +38,7 @@ ApplicationWindow {
experimental.preferences.javascriptEnabled
:
true
experimental.preferences.javascriptEnabled
:
true
experimental.preferences.navigatorQtObjectEnabled
:
true
experimental.preferences.navigatorQtObjectEnabled
:
true
experimental.preferences.developerExtrasEnabled
:
true
experimental.preferences.developerExtrasEnabled
:
true
experimental.userScripts
:
[
ui
.
assetPath
(
"ext/pre.js"
),
ui
.
assetPath
(
"ext/big.js"
),
ui
.
assetPath
(
"ext/string.js"
),
ui
.
assetPath
(
"ext/ethereum.js"
)
]
experimental.userScripts
:
[
"../ext/pre.js"
,
"../ext/big.js"
,
"../ext/string.js"
,
"../ext/ethereum.js"
]
experimental.onMessageReceived
:
{
experimental.onMessageReceived
:
{
console
.
log
(
"[onMessageReceived]: "
,
message
.
data
)
console
.
log
(
"[onMessageReceived]: "
,
message
.
data
)
// TODO move to messaging.js
// TODO move to messaging.js
...
@@ -191,6 +191,7 @@ ApplicationWindow {
...
@@ -191,6 +191,7 @@ ApplicationWindow {
inspector
.
visible
=
false
inspector
.
visible
=
false
}
else
{
}
else
{
inspector
.
visible
=
true
inspector
.
visible
=
true
inspector
.
url
=
webview
.
experimental
.
remoteInspectorUrl
}
}
}
}
onDoubleClicked
:
{
onDoubleClicked
:
{
...
@@ -224,7 +225,6 @@ ApplicationWindow {
...
@@ -224,7 +225,6 @@ ApplicationWindow {
WebView
{
WebView
{
id
:
inspector
id
:
inspector
visible
:
false
visible
:
false
url
:
webview
.
experimental
.
remoteInspectorUrl
anchors
{
anchors
{
left
:
root
.
left
left
:
root
.
left
right
:
root
.
right
right
:
root
.
right
...
@@ -238,7 +238,6 @@ ApplicationWindow {
...
@@ -238,7 +238,6 @@ ApplicationWindow {
name
:
"inspectorShown"
name
:
"inspectorShown"
PropertyChanges
{
PropertyChanges
{
target
:
inspector
target
:
inspector
url
:
webview
.
experimental
.
remoteInspectorUrl
}
}
}
}
]
]
...
...
ethereal/debugger.go
View file @
353ecbb7
...
@@ -74,6 +74,13 @@ func (self *DebuggerWindow) Compile(code string) {
...
@@ -74,6 +74,13 @@ func (self *DebuggerWindow) Compile(code string) {
}
}
}
}
// Used by QML
func
(
self
*
DebuggerWindow
)
AutoComp
(
code
string
)
{
if
self
.
Db
.
done
{
self
.
Compile
(
code
)
}
}
func
(
self
*
DebuggerWindow
)
ClearLog
()
{
func
(
self
*
DebuggerWindow
)
ClearLog
()
{
self
.
win
.
Root
()
.
Call
(
"clearLog"
)
self
.
win
.
Root
()
.
Call
(
"clearLog"
)
}
}
...
@@ -110,8 +117,6 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
...
@@ -110,8 +117,6 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
return
return
}
}
self
.
SetAsm
(
script
)
var
(
var
(
gas
=
ethutil
.
Big
(
gasStr
)
gas
=
ethutil
.
Big
(
gasStr
)
gasPrice
=
ethutil
.
Big
(
gasPriceStr
)
gasPrice
=
ethutil
.
Big
(
gasPriceStr
)
...
@@ -257,6 +262,10 @@ func (self *Debugger) StepHook(pc int, op ethchain.OpCode, mem *ethchain.Memory,
...
@@ -257,6 +262,10 @@ func (self *Debugger) StepHook(pc int, op ethchain.OpCode, mem *ethchain.Memory,
return
self
.
halting
(
pc
,
op
,
mem
,
stack
,
stateObject
)
return
self
.
halting
(
pc
,
op
,
mem
,
stack
,
stateObject
)
}
}
func
(
self
*
Debugger
)
SetCode
(
byteCode
[]
byte
)
{
self
.
main
.
SetAsm
(
byteCode
)
}
func
(
self
*
Debugger
)
BreakPoints
()
[]
int64
{
func
(
self
*
Debugger
)
BreakPoints
()
[]
int64
{
return
self
.
breakPoints
return
self
.
breakPoints
}
}
...
...
ethereal/ext_app.go
View file @
353ecbb7
...
@@ -4,7 +4,6 @@ import (
...
@@ -4,7 +4,6 @@ import (
"fmt"
"fmt"
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethreact"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/eth-go/ethutil"
"github.com/go-qml/qml"
"github.com/go-qml/qml"
)
)
...
@@ -25,8 +24,8 @@ type AppContainer interface {
...
@@ -25,8 +24,8 @@ type AppContainer interface {
type
ExtApplication
struct
{
type
ExtApplication
struct
{
*
ethpub
.
PEthereum
*
ethpub
.
PEthereum
blockChan
chan
eth
react
.
Even
t
blockChan
chan
eth
util
.
Reac
t
changeChan
chan
eth
react
.
Even
t
changeChan
chan
eth
util
.
Reac
t
quitChan
chan
bool
quitChan
chan
bool
watcherQuitChan
chan
bool
watcherQuitChan
chan
bool
...
@@ -38,8 +37,8 @@ type ExtApplication struct {
...
@@ -38,8 +37,8 @@ type ExtApplication struct {
func
NewExtApplication
(
container
AppContainer
,
lib
*
UiLib
)
*
ExtApplication
{
func
NewExtApplication
(
container
AppContainer
,
lib
*
UiLib
)
*
ExtApplication
{
app
:=
&
ExtApplication
{
app
:=
&
ExtApplication
{
ethpub
.
NewPEthereum
(
lib
.
eth
),
ethpub
.
NewPEthereum
(
lib
.
eth
),
make
(
chan
eth
react
.
Event
),
make
(
chan
eth
util
.
React
,
1
),
make
(
chan
eth
react
.
Event
),
make
(
chan
eth
util
.
React
,
1
),
make
(
chan
bool
),
make
(
chan
bool
),
make
(
chan
bool
),
make
(
chan
bool
),
container
,
container
,
...
...
ethereal/flags.go
View file @
353ecbb7
...
@@ -52,8 +52,8 @@ func defaultAssetPath() string {
...
@@ -52,8 +52,8 @@ func defaultAssetPath() string {
assetPath
=
filepath
.
Join
(
exedir
,
"../Resources"
)
assetPath
=
filepath
.
Join
(
exedir
,
"../Resources"
)
case
"linux"
:
case
"linux"
:
assetPath
=
"/usr/share/ethereal"
assetPath
=
"/usr/share/ethereal"
case
"window"
:
case
"window
s
"
:
fallthrough
assetPath
=
"./assets"
default
:
default
:
assetPath
=
"."
assetPath
=
"."
}
}
...
...
ethereal/gui.go
View file @
353ecbb7
...
@@ -8,7 +8,6 @@ import (
...
@@ -8,7 +8,6 @@ import (
"github.com/ethereum/eth-go/ethdb"
"github.com/ethereum/eth-go/ethdb"
"github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethreact"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/eth-go/ethwire"
"github.com/ethereum/eth-go/ethwire"
"github.com/ethereum/go-ethereum/utils"
"github.com/ethereum/go-ethereum/utils"
...
@@ -144,7 +143,7 @@ func (gui *Gui) showWallet(context *qml.Context) (*qml.Window, error) {
...
@@ -144,7 +143,7 @@ func (gui *Gui) showWallet(context *qml.Context) (*qml.Window, error) {
gui
.
readPreviousTransactions
()
gui
.
readPreviousTransactions
()
gui
.
setPeerInfo
()
gui
.
setPeerInfo
()
gui
.
update
()
g
o
g
ui
.
update
()
return
win
,
nil
return
win
,
nil
}
}
...
@@ -267,10 +266,20 @@ func (gui *Gui) setWalletValue(amount, unconfirmedFunds *big.Int) {
...
@@ -267,10 +266,20 @@ func (gui *Gui) setWalletValue(amount, unconfirmedFunds *big.Int) {
func
(
gui
*
Gui
)
update
()
{
func
(
gui
*
Gui
)
update
()
{
reactor
:=
gui
.
eth
.
Reactor
()
reactor
:=
gui
.
eth
.
Reactor
()
blockChan
:=
make
(
chan
ethreact
.
Event
)
blockChan
:=
make
(
chan
ethutil
.
React
,
1
)
txChan
:=
make
(
chan
ethreact
.
Event
)
txChan
:=
make
(
chan
ethutil
.
React
,
1
)
objectChan
:=
make
(
chan
ethreact
.
Event
)
objectChan
:=
make
(
chan
ethutil
.
React
,
1
)
peerChan
:=
make
(
chan
ethreact
.
Event
)
peerChan
:=
make
(
chan
ethutil
.
React
,
1
)
reactor
.
Subscribe
(
"newBlock"
,
blockChan
)
reactor
.
Subscribe
(
"newTx:pre"
,
txChan
)
reactor
.
Subscribe
(
"newTx:post"
,
txChan
)
nameReg
:=
ethpub
.
EthereumConfig
(
gui
.
eth
.
StateManager
())
.
NameReg
()
if
nameReg
!=
nil
{
reactor
.
Subscribe
(
"object:"
+
string
(
nameReg
.
Address
()),
objectChan
)
}
reactor
.
Subscribe
(
"peerList"
,
peerChan
)
ticker
:=
time
.
NewTicker
(
5
*
time
.
Second
)
ticker
:=
time
.
NewTicker
(
5
*
time
.
Second
)
...
@@ -279,7 +288,6 @@ func (gui *Gui) update() {
...
@@ -279,7 +288,6 @@ func (gui *Gui) update() {
unconfirmedFunds
:=
new
(
big
.
Int
)
unconfirmedFunds
:=
new
(
big
.
Int
)
gui
.
win
.
Root
()
.
Call
(
"setWalletValue"
,
fmt
.
Sprintf
(
"%v"
,
ethutil
.
CurrencyToString
(
state
.
GetAccount
(
gui
.
address
())
.
Amount
)))
gui
.
win
.
Root
()
.
Call
(
"setWalletValue"
,
fmt
.
Sprintf
(
"%v"
,
ethutil
.
CurrencyToString
(
state
.
GetAccount
(
gui
.
address
())
.
Amount
)))
go
func
()
{
for
{
for
{
select
{
select
{
case
b
:=
<-
blockChan
:
case
b
:=
<-
blockChan
:
...
@@ -292,7 +300,7 @@ func (gui *Gui) update() {
...
@@ -292,7 +300,7 @@ func (gui *Gui) update() {
case
txMsg
:=
<-
txChan
:
case
txMsg
:=
<-
txChan
:
tx
:=
txMsg
.
Resource
.
(
*
ethchain
.
Transaction
)
tx
:=
txMsg
.
Resource
.
(
*
ethchain
.
Transaction
)
if
txMsg
.
Name
==
"newTx:pre"
{
if
txMsg
.
Event
==
"newTx:pre"
{
object
:=
state
.
GetAccount
(
gui
.
address
())
object
:=
state
.
GetAccount
(
gui
.
address
())
if
bytes
.
Compare
(
tx
.
Sender
(),
gui
.
address
())
==
0
{
if
bytes
.
Compare
(
tx
.
Sender
(),
gui
.
address
())
==
0
{
...
@@ -328,17 +336,6 @@ func (gui *Gui) update() {
...
@@ -328,17 +336,6 @@ func (gui *Gui) update() {
gui
.
setPeerInfo
()
gui
.
setPeerInfo
()
}
}
}
}
}()
reactor
.
Subscribe
(
"newBlock"
,
blockChan
)
reactor
.
Subscribe
(
"newTx:pre"
,
txChan
)
reactor
.
Subscribe
(
"newTx:post"
,
txChan
)
nameReg
:=
ethpub
.
EthereumConfig
(
gui
.
eth
.
StateManager
())
.
NameReg
()
if
nameReg
!=
nil
{
reactor
.
Subscribe
(
"object:"
+
string
(
nameReg
.
Address
()),
objectChan
)
}
reactor
.
Subscribe
(
"peerList"
,
peerChan
)
}
}
func
(
gui
*
Gui
)
setPeerInfo
()
{
func
(
gui
*
Gui
)
setPeerInfo
()
{
...
...
ethereal/html_container.go
View file @
353ecbb7
...
@@ -8,7 +8,6 @@ import (
...
@@ -8,7 +8,6 @@ import (
"github.com/go-qml/qml"
"github.com/go-qml/qml"
"github.com/howeyc/fsnotify"
"github.com/howeyc/fsnotify"
"io/ioutil"
"io/ioutil"
"log"
"net/url"
"net/url"
"os"
"os"
"path"
"path"
...
@@ -59,7 +58,7 @@ func (app *HtmlApplication) RootFolder() string {
...
@@ -59,7 +58,7 @@ func (app *HtmlApplication) RootFolder() string {
if
err
!=
nil
{
if
err
!=
nil
{
return
""
return
""
}
}
return
path
.
Dir
(
folder
.
RequestURI
(
))
return
path
.
Dir
(
ethutil
.
WindonizePath
(
folder
.
RequestURI
()
))
}
}
func
(
app
*
HtmlApplication
)
RecursiveFolders
()
[]
os
.
FileInfo
{
func
(
app
*
HtmlApplication
)
RecursiveFolders
()
[]
os
.
FileInfo
{
files
,
_
:=
ioutil
.
ReadDir
(
app
.
RootFolder
())
files
,
_
:=
ioutil
.
ReadDir
(
app
.
RootFolder
())
...
@@ -77,11 +76,13 @@ func (app *HtmlApplication) NewWatcher(quitChan chan bool) {
...
@@ -77,11 +76,13 @@ func (app *HtmlApplication) NewWatcher(quitChan chan bool) {
app
.
watcher
,
err
=
fsnotify
.
NewWatcher
()
app
.
watcher
,
err
=
fsnotify
.
NewWatcher
()
if
err
!=
nil
{
if
err
!=
nil
{
logger
.
Infoln
(
"Could not create new auto-reload watcher:"
,
err
)
return
return
}
}
err
=
app
.
watcher
.
Watch
(
app
.
RootFolder
())
err
=
app
.
watcher
.
Watch
(
app
.
RootFolder
())
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Fatal
(
err
)
logger
.
Infoln
(
"Could not start auto-reload watcher:"
,
err
)
return
}
}
for
_
,
folder
:=
range
app
.
RecursiveFolders
()
{
for
_
,
folder
:=
range
app
.
RecursiveFolders
()
{
fullPath
:=
app
.
RootFolder
()
+
"/"
+
folder
.
Name
()
fullPath
:=
app
.
RootFolder
()
+
"/"
+
folder
.
Name
()
...
...
ethereal/qml_container.go
View file @
353ecbb7
...
@@ -5,6 +5,7 @@ import (
...
@@ -5,6 +5,7 @@ import (
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/eth-go/ethutil"
"github.com/go-qml/qml"
"github.com/go-qml/qml"
"runtime"
)
)
type
QmlApplication
struct
{
type
QmlApplication
struct
{
...
@@ -20,7 +21,14 @@ func NewQmlApplication(path string, lib *UiLib) *QmlApplication {
...
@@ -20,7 +21,14 @@ func NewQmlApplication(path string, lib *UiLib) *QmlApplication {
}
}
func
(
app
*
QmlApplication
)
Create
()
error
{
func
(
app
*
QmlApplication
)
Create
()
error
{
component
,
err
:=
app
.
engine
.
LoadFile
(
app
.
path
)
path
:=
string
(
app
.
path
)
// For some reason for windows we get /c:/path/to/something, windows doesn't like the first slash but is fine with the others so we are removing it
if
string
(
app
.
path
[
0
])
==
"/"
&&
runtime
.
GOOS
==
"windows"
{
path
=
app
.
path
[
1
:
]
}
component
,
err
:=
app
.
engine
.
LoadFile
(
path
)
if
err
!=
nil
{
if
err
!=
nil
{
logger
.
Warnln
(
err
)
logger
.
Warnln
(
err
)
}
}
...
...
ethereum/flags.go
View file @
353ecbb7
...
@@ -11,6 +11,7 @@ import (
...
@@ -11,6 +11,7 @@ import (
var
Identifier
string
var
Identifier
string
var
KeyRing
string
var
KeyRing
string
var
DiffTool
bool
var
KeyStore
string
var
KeyStore
string
var
StartRpc
bool
var
StartRpc
bool
var
RpcPort
int
var
RpcPort
int
...
@@ -66,6 +67,7 @@ func Init() {
...
@@ -66,6 +67,7 @@ func Init() {
flag
.
StringVar
(
&
ConfigFile
,
"conf"
,
defaultConfigFile
,
"config file"
)
flag
.
StringVar
(
&
ConfigFile
,
"conf"
,
defaultConfigFile
,
"config file"
)
flag
.
StringVar
(
&
DebugFile
,
"debug"
,
""
,
"debug file (no debugging if not set)"
)
flag
.
StringVar
(
&
DebugFile
,
"debug"
,
""
,
"debug file (no debugging if not set)"
)
flag
.
IntVar
(
&
LogLevel
,
"loglevel"
,
int
(
ethlog
.
InfoLevel
),
"loglevel: 0-5: silent,error,warn,info,debug,debug detail)"
)
flag
.
IntVar
(
&
LogLevel
,
"loglevel"
,
int
(
ethlog
.
InfoLevel
),
"loglevel: 0-5: silent,error,warn,info,debug,debug detail)"
)
flag
.
BoolVar
(
&
DiffTool
,
"difftool"
,
false
,
"creates output for diff'ing. Sets LogLevel=0"
)
flag
.
BoolVar
(
&
StartMining
,
"mine"
,
false
,
"start dagger mining"
)
flag
.
BoolVar
(
&
StartMining
,
"mine"
,
false
,
"start dagger mining"
)
flag
.
BoolVar
(
&
StartJsConsole
,
"js"
,
false
,
"launches javascript console"
)
flag
.
BoolVar
(
&
StartJsConsole
,
"js"
,
false
,
"launches javascript console"
)
...
...
ethereum/javascript_runtime.go
View file @
353ecbb7
...
@@ -6,7 +6,6 @@ import (
...
@@ -6,7 +6,6 @@ import (
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethpub"
"github.com/ethereum/eth-go/ethreact"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/go-ethereum/utils"
"github.com/ethereum/go-ethereum/utils"
"github.com/obscuren/otto"
"github.com/obscuren/otto"
...
@@ -23,8 +22,8 @@ type JSRE struct {
...
@@ -23,8 +22,8 @@ type JSRE struct {
vm
*
otto
.
Otto
vm
*
otto
.
Otto
lib
*
ethpub
.
PEthereum
lib
*
ethpub
.
PEthereum
blockChan
chan
eth
react
.
Even
t
blockChan
chan
eth
util
.
Reac
t
changeChan
chan
eth
react
.
Even
t
changeChan
chan
eth
util
.
Reac
t
quitChan
chan
bool
quitChan
chan
bool
objectCb
map
[
string
][]
otto
.
Value
objectCb
map
[
string
][]
otto
.
Value
...
@@ -49,8 +48,8 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE {
...
@@ -49,8 +48,8 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE {
ethereum
,
ethereum
,
otto
.
New
(),
otto
.
New
(),
ethpub
.
NewPEthereum
(
ethereum
),
ethpub
.
NewPEthereum
(
ethereum
),
make
(
chan
eth
react
.
Event
),
make
(
chan
eth
util
.
React
,
1
),
make
(
chan
eth
react
.
Event
),
make
(
chan
eth
util
.
React
,
1
),
make
(
chan
bool
),
make
(
chan
bool
),
make
(
map
[
string
][]
otto
.
Value
),
make
(
map
[
string
][]
otto
.
Value
),
}
}
...
@@ -64,9 +63,6 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE {
...
@@ -64,9 +63,6 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE {
// We have to make sure that, whoever calls this, calls "Stop"
// We have to make sure that, whoever calls this, calls "Stop"
go
re
.
mainLoop
()
go
re
.
mainLoop
()
// Subscribe to events
reactor
:=
ethereum
.
Reactor
()
reactor
.
Subscribe
(
"newBlock"
,
re
.
blockChan
)
re
.
Bind
(
"eth"
,
&
JSEthereum
{
re
.
lib
,
re
.
vm
})
re
.
Bind
(
"eth"
,
&
JSEthereum
{
re
.
lib
,
re
.
vm
})
...
@@ -112,6 +108,10 @@ func (self *JSRE) Stop() {
...
@@ -112,6 +108,10 @@ func (self *JSRE) Stop() {
}
}
func
(
self
*
JSRE
)
mainLoop
()
{
func
(
self
*
JSRE
)
mainLoop
()
{
// Subscribe to events
reactor
:=
self
.
ethereum
.
Reactor
()
reactor
.
Subscribe
(
"newBlock"
,
self
.
blockChan
)
out
:
out
:
for
{
for
{
select
{
select
{
...
...
ethereum/main.go
View file @
353ecbb7
...
@@ -2,6 +2,7 @@ package main
...
@@ -2,6 +2,7 @@ package main
import
(
import
(
"github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethlog"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/go-ethereum/utils"
"github.com/ethereum/go-ethereum/utils"
"runtime"
"runtime"
)
)
...
@@ -20,7 +21,14 @@ func main() {
...
@@ -20,7 +21,14 @@ func main() {
// precedence: code-internal flag default < config file < environment variables < command line
// precedence: code-internal flag default < config file < environment variables < command line
Init
()
// parsing command line
Init
()
// parsing command line
// If the difftool option is selected ignore all other log output
if
DiffTool
{
LogLevel
=
0
}
utils
.
InitConfig
(
ConfigFile
,
Datadir
,
"ETH"
)
utils
.
InitConfig
(
ConfigFile
,
Datadir
,
"ETH"
)
ethutil
.
Config
.
Diff
=
DiffTool
utils
.
InitDataDir
(
Datadir
)
utils
.
InitDataDir
(
Datadir
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment