mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
Use PBSS and pebble by default (#1412)
* Use pebble db and PBSS by default * Address CR comments * Fix failed test
This commit is contained in:
parent
4ef49519f0
commit
4c6169a604
15 changed files with 38 additions and 15 deletions
|
|
@ -8,7 +8,8 @@ chain = "mainnet"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# "db.engine" = "leveldb"
|
||||
# "db.engine" = "pebble"
|
||||
# "state.scheme" = "path"
|
||||
# keystore = "/var/lib/bor/keystore"
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@ verbosity = 3 # Logging verbosity for the server (5=trace|4=de
|
|||
vmdebug = false # Record information useful for VM and contract debugging
|
||||
datadir = "var/lib/bor" # Path of the data directory to store information
|
||||
ancient = "" # Data directory for ancient chain segments (default = inside chaindata)
|
||||
"db.engine" = "leveldb" # Used to select leveldb or pebble as database (default = leveldb)
|
||||
"db.engine" = "pebble" # Used to select leveldb or pebble as database (default = pebble)
|
||||
"state.scheme" = "path" # Used to select the state scheme (default = path)
|
||||
keystore = "" # Path of the directory where keystores are located
|
||||
"rpc.batchlimit" = 100 # Maximum number of messages in a batch (default=100, use 0 for no limits)
|
||||
"rpc.returndatalimit" = 100000 # Maximum size (in bytes) a result of an rpc request could have (default=100000, use 0 for no limits)
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ The ```bor server``` command runs the Bor client.
|
|||
|
||||
- ```datadir.ancient```: Data directory for ancient chain segments (default = inside chaindata)
|
||||
|
||||
- ```db.engine```: Backing database implementation to use ('leveldb' or 'pebble') (default: leveldb)
|
||||
- ```db.engine```: Backing database implementation to use ('leveldb' or 'pebble') (default: pebble)
|
||||
|
||||
- ```dev```: Enable developer mode with ephemeral proof-of-authority network and a pre-funded developer account, mining enabled (default: false)
|
||||
|
||||
|
|
@ -84,7 +84,7 @@ The ```bor server``` command runs the Bor client.
|
|||
|
||||
- ```snapshot```: Enables the snapshot-database mode (default: true)
|
||||
|
||||
- ```state.scheme```: Scheme to use for storing ethereum state ('hash' or 'path') (default: hash)
|
||||
- ```state.scheme```: Scheme to use for storing ethereum state ('hash' or 'path') (default: path)
|
||||
|
||||
- ```syncmode```: Blockchain sync mode (only "full" sync supported) (default: full)
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ func TestCommand_DebugBlock(t *testing.T) {
|
|||
|
||||
// enable archive mode for getting traces of ancient blocks
|
||||
config.GcMode = "archive"
|
||||
config.StateScheme = "hash"
|
||||
|
||||
// start the mock server
|
||||
srv, err := server.CreateMockServer(config)
|
||||
|
|
|
|||
|
|
@ -609,7 +609,7 @@ func DefaultConfig() *Config {
|
|||
EnablePreimageRecording: false,
|
||||
DataDir: DefaultDataDir(),
|
||||
Ancient: "",
|
||||
DBEngine: "leveldb",
|
||||
DBEngine: "pebble",
|
||||
KeyStoreDir: "",
|
||||
Logging: &LoggingConfig{
|
||||
Vmodule: "",
|
||||
|
|
@ -647,7 +647,7 @@ func DefaultConfig() *Config {
|
|||
},
|
||||
SyncMode: "full",
|
||||
GcMode: "full",
|
||||
StateScheme: "hash",
|
||||
StateScheme: "path",
|
||||
Snapshot: true,
|
||||
BorLogs: false,
|
||||
TxPool: &TxPoolConfig{
|
||||
|
|
@ -1168,6 +1168,9 @@ func (c *Config) buildEth(stack *node.Node, accountManager *accounts.Manager) (*
|
|||
|
||||
log.Info("Enabling recording of key preimages since archive mode is used")
|
||||
}
|
||||
if c.StateScheme == "path" {
|
||||
return nil, fmt.Errorf("path storage scheme is not supported in archive mode, please use hash instead")
|
||||
}
|
||||
default:
|
||||
return nil, fmt.Errorf("gcmode '%s' not found", c.GcMode)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -144,3 +144,17 @@ func TestMakePasswordListFromFile(t *testing.T) {
|
|||
assert.Equal(t, []string{"test1", "test2"}, result)
|
||||
})
|
||||
}
|
||||
|
||||
func TestConfigStateScheme(t *testing.T) {
|
||||
config := DefaultConfig()
|
||||
config.StateScheme = "path"
|
||||
config.GcMode = "archive"
|
||||
|
||||
assert.NoError(t, config.loadChain())
|
||||
|
||||
_, err := config.buildNode()
|
||||
assert.NoError(t, err)
|
||||
|
||||
_, err = config.buildEth(nil, nil)
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
|
|
|||
3
internal/cli/server/testdata/default.toml
vendored
3
internal/cli/server/testdata/default.toml
vendored
|
|
@ -5,7 +5,8 @@ log-level = ""
|
|||
vmdebug = false
|
||||
datadir = "/var/lib/bor"
|
||||
ancient = ""
|
||||
"db.engine" = "leveldb"
|
||||
"db.engine" = "pebble"
|
||||
"db.scheme" = "path"
|
||||
keystore = ""
|
||||
"rpc.batchlimit" = 100
|
||||
"rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ chain = "mainnet"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# "db.engine" = "leveldb"
|
||||
# "db.engine" = "pebble"
|
||||
state.scheme = "hash"
|
||||
# keystore = ""
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ chain = "mainnet"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# db.engine = "leveldb"
|
||||
# db.engine = "pebble"
|
||||
# keystore = ""
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ chain = "mainnet"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# db.engine = "leveldb"
|
||||
# db.engine = "pebble"
|
||||
# keystore = "$BOR_DIR/keystore"
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ chain = "mainnet"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# db.engine = "leveldb"
|
||||
# db.engine = "pebble"
|
||||
# keystore = "$BOR_DIR/keystore"
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ chain = "amoy"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# db.engine = "leveldb"
|
||||
# db.engine = "pebble"
|
||||
state.scheme = "hash"
|
||||
# keystore = ""
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ chain = "amoy"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# db.engine = "leveldb"
|
||||
# db.engine = "pebble"
|
||||
# keystore = ""
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ chain = "amoy"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# db.engine = "leveldb"
|
||||
# db.engine = "pebble"
|
||||
# keystore = "$BOR_DIR/keystore"
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ chain = "amoy"
|
|||
# vmdebug = false
|
||||
datadir = "/var/lib/bor/data"
|
||||
# ancient = ""
|
||||
# db.engine = "leveldb"
|
||||
# db.engine = "pebble"
|
||||
# keystore = "$BOR_DIR/keystore"
|
||||
# "rpc.batchlimit" = 100
|
||||
# "rpc.returndatalimit" = 100000
|
||||
|
|
|
|||
Loading…
Reference in a new issue