diff options
author | bojie <bojie@dexon.org> | 2019-01-07 15:40:56 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:56 +0800 |
commit | 9c110d37d09d40235b140ca7197515d5c60052c4 (patch) | |
tree | c88508bbb7ccbd430268c5bb44da2226e83b3b27 /core/rawdb | |
parent | 3e405c7fdc936d3cdb516273105efc233144965c (diff) | |
download | go-tangerine-9c110d37d09d40235b140ca7197515d5c60052c4.tar go-tangerine-9c110d37d09d40235b140ca7197515d5c60052c4.tar.gz go-tangerine-9c110d37d09d40235b140ca7197515d5c60052c4.tar.bz2 go-tangerine-9c110d37d09d40235b140ca7197515d5c60052c4.tar.lz go-tangerine-9c110d37d09d40235b140ca7197515d5c60052c4.tar.xz go-tangerine-9c110d37d09d40235b140ca7197515d5c60052c4.tar.zst go-tangerine-9c110d37d09d40235b140ca7197515d5c60052c4.zip |
app: implement logic for prepare/verify correctly when chain number change (#118)
Diffstat (limited to 'core/rawdb')
-rw-r--r-- | core/rawdb/accessors_chain.go | 15 | ||||
-rw-r--r-- | core/rawdb/schema.go | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/core/rawdb/accessors_chain.go b/core/rawdb/accessors_chain.go index 801ad9362..5e23bef8f 100644 --- a/core/rawdb/accessors_chain.go +++ b/core/rawdb/accessors_chain.go @@ -348,6 +348,21 @@ func WriteBlock(db DatabaseWriter, block *types.Block) { WriteHeader(db, block.Header()) } +// ReadLastRoundNumber get current round number. +func ReadLastRoundNumber(db DatabaseReader) (uint64, error) { + number, err := db.Get(lastRoundNum) + if err != nil { + return 0, err + } + + return new(big.Int).SetBytes(number).Uint64(), nil +} + +// WriteLastRoundNumber write current round number. +func WriteLastRoundNumber(db DatabaseWriter, number uint64) error { + return db.Put(lastRoundNum, new(big.Int).SetUint64(number).Bytes()) +} + // DeleteBlock removes all block data associated with a hash. func DeleteBlock(db DatabaseDeleter, hash common.Hash, number uint64) { DeleteReceipts(db, hash, number) diff --git a/core/rawdb/schema.go b/core/rawdb/schema.go index 87a56c0ba..954ebfc1d 100644 --- a/core/rawdb/schema.go +++ b/core/rawdb/schema.go @@ -63,6 +63,8 @@ var ( // Chain index prefixes (use `i` + single byte to avoid mixing data types). BloomBitsIndexPrefix = []byte("iB") // BloomBitsIndexPrefix is the data table of a chain indexer to track its progress + lastRoundNum = []byte("LastRoundNum") + preimageCounter = metrics.NewRegisteredCounter("db/preimage/total", nil) preimageHitCounter = metrics.NewRegisteredCounter("db/preimage/hits", nil) ) |