mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-03 09:37:38 +00:00
Revert "revert: shared genesis db (#6594)"
This reverts commit 9e452fe8
This commit is contained in:
parent
bad616cb8e
commit
be3e118cf5
@ -26,6 +26,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math/big"
|
||||
"os"
|
||||
"sync"
|
||||
|
||||
"github.com/c2h5oh/datasize"
|
||||
@ -93,6 +94,14 @@ type AuthorityRoundSeal struct {
|
||||
Signature libcommon.Hash `json:"signature"`
|
||||
}
|
||||
|
||||
var genesisTmpDB kv.RwDB
|
||||
var genesisDBLock *sync.Mutex
|
||||
|
||||
func init() {
|
||||
genesisTmpDB = mdbx.NewMDBX(log.New()).InMem(os.TempDir()).MapSize(2 * datasize.GB).PageSize(2 * 4096).MustOpen()
|
||||
genesisDBLock = &sync.Mutex{}
|
||||
}
|
||||
|
||||
func (ga *GenesisAlloc) UnmarshalJSON(data []byte) error {
|
||||
m := make(map[common.UnprefixedAddress]GenesisAccount)
|
||||
if err := json.Unmarshal(data, &m); err != nil {
|
||||
@ -373,9 +382,9 @@ func (g *Genesis) ToBlock() (*types.Block, *state.IntraBlockState, error) {
|
||||
go func() { // we may run inside write tx, can't open 2nd write tx in same goroutine
|
||||
// TODO(yperbasis): use memdb.MemoryMutation instead
|
||||
defer wg.Done()
|
||||
tmpDB := mdbx.NewMDBX(log.New()).InMem("").MapSize(2 * datasize.GB).MustOpen()
|
||||
defer tmpDB.Close()
|
||||
tx, err := tmpDB.BeginRw(context.Background())
|
||||
genesisDBLock.Lock()
|
||||
defer genesisDBLock.Unlock()
|
||||
tx, err := genesisTmpDB.BeginRw(context.Background())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user