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
f5a29eab
Commit
f5a29eab
authored
8 years ago
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
core: solve a remote-import/local-mine data race
parent
2b94d7fc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
4 deletions
+3
-4
blockchain.go
core/blockchain.go
+3
-4
No files found.
core/blockchain.go
View file @
f5a29eab
...
...
@@ -771,14 +771,13 @@ func (self *BlockChain) WriteBlock(block *types.Block) (status WriteStatus, err
if
ptd
==
nil
{
return
NonStatTy
,
ParentError
(
block
.
ParentHash
())
}
localTd
:=
self
.
GetTd
(
self
.
currentBlock
.
Hash
(),
self
.
currentBlock
.
NumberU64
())
externTd
:=
new
(
big
.
Int
)
.
Add
(
block
.
Difficulty
(),
ptd
)
// Make sure no inconsistent state is leaked during insertion
self
.
mu
.
Lock
()
defer
self
.
mu
.
Unlock
()
localTd
:=
self
.
GetTd
(
self
.
currentBlock
.
Hash
(),
self
.
currentBlock
.
NumberU64
())
externTd
:=
new
(
big
.
Int
)
.
Add
(
block
.
Difficulty
(),
ptd
)
// If the total difficulty is higher than our known, add it to the canonical chain
// Second clause in the if statement reduces the vulnerability to selfish mining.
// Please refer to http://www.cs.cornell.edu/~ie53/publications/btcProcFC.pdf
...
...
This diff is collapsed.
Click to expand it.
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