mainnet: cache blocks
This commit is contained in:
parent
cd5ea103dc
commit
f3ad5e6978
@ -17,10 +17,12 @@ import (
|
|||||||
|
|
||||||
const LatestBlock uint = 3
|
const LatestBlock uint = 3
|
||||||
|
|
||||||
|
var blocks []*types.Block
|
||||||
|
|
||||||
// LoadBlocks loads fixture blocks up to and including the passed height or the highest available block
|
// LoadBlocks loads fixture blocks up to and including the passed height or the highest available block
|
||||||
func LoadBlocks(upto uint) []*types.Block {
|
func GetBlocks() []*types.Block {
|
||||||
if upto > LatestBlock {
|
if blocks != nil {
|
||||||
upto = LatestBlock
|
return blocks
|
||||||
}
|
}
|
||||||
db := rawdb.NewMemoryDatabase()
|
db := rawdb.NewMemoryDatabase()
|
||||||
genesisBlock := core.DefaultGenesisBlock().MustCommit(db)
|
genesisBlock := core.DefaultGenesisBlock().MustCommit(db)
|
||||||
@ -36,11 +38,11 @@ func LoadBlocks(upto uint) []*types.Block {
|
|||||||
panic("mainnet genesis blocks do not match")
|
panic("mainnet genesis blocks do not match")
|
||||||
}
|
}
|
||||||
|
|
||||||
blocks := make([]*types.Block, upto+1)
|
blocks := make([]*types.Block, LatestBlock+1)
|
||||||
blocks[0] = new(types.Block)
|
blocks[0] = new(types.Block)
|
||||||
rlp.DecodeBytes(block0RLP, blocks[0])
|
rlp.DecodeBytes(block0RLP, blocks[0])
|
||||||
|
|
||||||
for i := uint(1); i <= upto; i++ {
|
for i := uint(1); i <= LatestBlock; i++ {
|
||||||
blockRLP, err := loadBlockRLP(fmt.Sprintf("./block%d_rlp", i))
|
blockRLP, err := loadBlockRLP(fmt.Sprintf("./block%d_rlp", i))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user