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
89c9320d
Commit
89c9320d
authored
Jun 06, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow exporting subset of chain
parent
43ceb0f5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
2 deletions
+14
-2
chain_manager.go
core/chain_manager.go
+14
-2
No files found.
core/chain_manager.go
View file @
89c9320d
...
...
@@ -341,13 +341,25 @@ func (bc *ChainManager) ResetWithGenesisBlock(gb *types.Block) {
// Export writes the active chain to the given writer.
func
(
self
*
ChainManager
)
Export
(
w
io
.
Writer
)
error
{
if
err
:=
self
.
ExportN
(
w
,
uint64
(
1
),
self
.
currentBlock
.
NumberU64
());
err
!=
nil
{
return
err
}
return
nil
}
// ExportN writes a subset of the active chain to the given writer.
func
(
self
*
ChainManager
)
ExportN
(
w
io
.
Writer
,
first
uint64
,
last
uint64
)
error
{
self
.
mu
.
RLock
()
defer
self
.
mu
.
RUnlock
()
glog
.
V
(
logger
.
Info
)
.
Infof
(
"exporting %v blocks...
\n
"
,
self
.
currentBlock
.
Header
()
.
Number
)
last
:=
self
.
currentBlock
.
NumberU64
()
if
first
>
last
{
return
fmt
.
Errorf
(
"export failed: first (%d) is greater than last (%d)"
,
first
,
last
)
}
glog
.
V
(
logger
.
Info
)
.
Infof
(
"exporting %d blocks...
\n
"
,
last
-
first
)
for
nr
:=
uint64
(
1
)
;
nr
<=
last
;
nr
++
{
for
nr
:=
first
;
nr
<=
last
;
nr
++
{
block
:=
self
.
GetBlockByNumber
(
nr
)
if
block
==
nil
{
return
fmt
.
Errorf
(
"export failed on #%d: not found"
,
nr
)
...
...
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