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
567428fb
Commit
567428fb
authored
Feb 17, 2015
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Filter and mutex locks added
parent
815ead71
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
33 additions
and
17 deletions
+33
-17
coin.html
cmd/mist/assets/examples/coin.html
+0
-5
gui.go
cmd/mist/gui.go
+0
-2
chain_manager.go
core/chain_manager.go
+12
-1
filter.go
core/filter.go
+17
-6
backend.go
eth/backend.go
+1
-0
pow.go
pow/ezp/pow.go
+1
-1
filter.go
ui/filter.go
+2
-2
No files found.
cmd/mist/assets/examples/coin.html
View file @
567428fb
...
...
@@ -80,11 +80,6 @@
refresh
();
});
var
ev
=
contract
.
SingleTransact
({})
ev
.
watch
(
function
(
log
)
{
someElement
.
innerHTML
+=
"tnaheousnthaoeu"
;
});
eth
.
watch
(
'chain'
).
changed
(
function
()
{
refresh
();
});
...
...
cmd/mist/gui.go
View file @
567428fb
...
...
@@ -394,7 +394,6 @@ func (gui *Gui) update() {
miningLabel
:=
gui
.
getObjectByName
(
"miningLabel"
)
events
:=
gui
.
eth
.
EventMux
()
.
Subscribe
(
//eth.PeerListEvent{},
core
.
NewBlockEvent
{},
core
.
TxPreEvent
{},
core
.
TxPostEvent
{},
...
...
@@ -410,7 +409,6 @@ func (gui *Gui) update() {
switch
ev
:=
ev
.
(
type
)
{
case
core
.
NewBlockEvent
:
gui
.
processBlock
(
ev
.
Block
,
false
)
//gui.setWalletValue(gui.eth.ChainManager().State().GetBalance(gui.address()), nil)
balance
:=
ethutil
.
CurrencyToString
(
gui
.
eth
.
ChainManager
()
.
State
()
.
GetBalance
(
gui
.
address
()))
gui
.
getObjectByName
(
"balanceLabel"
)
.
Set
(
"text"
,
fmt
.
Sprintf
(
"%v"
,
balance
))
...
...
core/chain_manager.go
View file @
567428fb
...
...
@@ -79,6 +79,7 @@ type ChainManager struct {
genesisBlock
*
types
.
Block
// Last known total difficulty
mu
sync
.
RWMutex
tsmu
sync
.
RWMutex
td
*
big
.
Int
currentBlock
*
types
.
Block
lastBlockHash
[]
byte
...
...
@@ -131,9 +132,19 @@ func (self *ChainManager) State() *state.StateDB {
}
func
(
self
*
ChainManager
)
TransState
()
*
state
.
StateDB
{
self
.
tsmu
.
RLock
()
defer
self
.
tsmu
.
RUnlock
()
//tmp := self.transState
return
self
.
transState
}
func
(
self
*
ChainManager
)
setTransState
(
statedb
*
state
.
StateDB
)
{
self
.
tsmu
.
Lock
()
defer
self
.
tsmu
.
Unlock
()
self
.
transState
=
statedb
}
func
(
bc
*
ChainManager
)
setLastBlock
()
{
data
,
_
:=
bc
.
db
.
Get
([]
byte
(
"LastBlock"
))
if
len
(
data
)
!=
0
{
...
...
@@ -376,7 +387,7 @@ func (self *ChainManager) InsertChain(chain types.Blocks) error {
self
.
setTotalDifficulty
(
td
)
self
.
insert
(
block
)
self
.
transState
=
state
.
New
(
cblock
.
Root
(),
self
.
db
)
self
.
setTransState
(
state
.
New
(
cblock
.
Root
(),
self
.
db
)
)
self
.
eventMux
.
Post
(
ChainEvent
{
block
,
td
})
}
...
...
core/filter.go
View file @
567428fb
...
...
@@ -16,7 +16,7 @@ type FilterOptions struct {
Earliest
int64
Latest
int64
Address
[]
byte
Address
[]
[]
byte
Topics
[][]
byte
Skip
int
...
...
@@ -29,7 +29,7 @@ type Filter struct {
earliest
int64
latest
int64
skip
int
address
[]
byte
address
[]
[]
byte
max
int
topics
[][]
byte
...
...
@@ -65,7 +65,7 @@ func (self *Filter) SetLatestBlock(latest int64) {
self
.
latest
=
latest
}
func
(
self
*
Filter
)
SetAddress
(
addr
[]
byte
)
{
func
(
self
*
Filter
)
SetAddress
(
addr
[]
[]
byte
)
{
self
.
address
=
addr
}
...
...
@@ -145,7 +145,8 @@ func (self *Filter) FilterLogs(logs state.Logs) state.Logs {
// Filter the logs for interesting stuff
Logs
:
for
_
,
log
:=
range
logs
{
if
!
bytes
.
Equal
(
self
.
address
,
log
.
Address
())
{
if
!
includes
(
self
.
address
,
log
.
Address
())
{
//if !bytes.Equal(self.address, log.Address()) {
continue
}
...
...
@@ -163,8 +164,18 @@ Logs:
}
func
(
self
*
Filter
)
bloomFilter
(
block
*
types
.
Block
)
bool
{
if
len
(
self
.
address
)
>
0
&&
!
types
.
BloomLookup
(
block
.
Bloom
(),
self
.
address
)
{
return
false
if
len
(
self
.
address
)
>
0
{
var
included
bool
for
_
,
addr
:=
range
self
.
address
{
if
types
.
BloomLookup
(
block
.
Bloom
(),
addr
)
{
included
=
true
break
}
}
if
!
included
{
return
false
}
}
for
_
,
topic
:=
range
self
.
topics
{
...
...
eth/backend.go
View file @
567428fb
...
...
@@ -26,6 +26,7 @@ var (
defaultBootNodes
=
[]
*
discover
.
Node
{
discover
.
MustParseNode
(
"enode://6cdd090303f394a1cac34ecc9f7cda18127eafa2a3a06de39f6d920b0e583e062a7362097c7c65ee490a758b442acd5c80c6fce4b148c6a391e946b45131365b@54.169.166.226:30303"
),
discover
.
MustParseNode
(
"enode://d1760a33c2f25c3b419ee4f6787fb0ea148828f5e678f0450d4be978fef908b42fc47a4c0fbf19832754f17881d381e50364fa93be42f31801d60ac64933f0a5@127.0.0.1:30303"
),
}
)
...
...
pow/ezp/pow.go
View file @
567428fb
...
...
@@ -21,7 +21,7 @@ type EasyPow struct {
}
func
New
()
*
EasyPow
{
return
&
EasyPow
{
turbo
:
fals
e
}
return
&
EasyPow
{
turbo
:
tru
e
}
}
func
(
pow
*
EasyPow
)
GetHashrate
()
int64
{
...
...
ui/filter.go
View file @
567428fb
...
...
@@ -29,8 +29,8 @@ func NewFilterFromMap(object map[string]interface{}, eth core.Backend) *core.Fil
}
if
object
[
"address"
]
!=
nil
{
val
:=
ethutil
.
NewValue
(
object
[
"address"
])
filter
.
SetAddress
(
fromHex
(
val
.
Str
()))
//
val := ethutil.NewValue(object["address"])
//
filter.SetAddress(fromHex(val.Str()))
}
if
object
[
"max"
]
!=
nil
{
...
...
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