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
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# "db.engine" = "leveldb"
|
# "db.engine" = "pebble"
|
||||||
|
# "state.scheme" = "path"
|
||||||
# keystore = "/var/lib/bor/keystore"
|
# keystore = "/var/lib/bor/keystore"
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "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
|
vmdebug = false # Record information useful for VM and contract debugging
|
||||||
datadir = "var/lib/bor" # Path of the data directory to store information
|
datadir = "var/lib/bor" # Path of the data directory to store information
|
||||||
ancient = "" # Data directory for ancient chain segments (default = inside chaindata)
|
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
|
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.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)
|
"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)
|
- ```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)
|
- ```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)
|
- ```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)
|
- ```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
|
// enable archive mode for getting traces of ancient blocks
|
||||||
config.GcMode = "archive"
|
config.GcMode = "archive"
|
||||||
|
config.StateScheme = "hash"
|
||||||
|
|
||||||
// start the mock server
|
// start the mock server
|
||||||
srv, err := server.CreateMockServer(config)
|
srv, err := server.CreateMockServer(config)
|
||||||
|
|
|
||||||
|
|
@ -609,7 +609,7 @@ func DefaultConfig() *Config {
|
||||||
EnablePreimageRecording: false,
|
EnablePreimageRecording: false,
|
||||||
DataDir: DefaultDataDir(),
|
DataDir: DefaultDataDir(),
|
||||||
Ancient: "",
|
Ancient: "",
|
||||||
DBEngine: "leveldb",
|
DBEngine: "pebble",
|
||||||
KeyStoreDir: "",
|
KeyStoreDir: "",
|
||||||
Logging: &LoggingConfig{
|
Logging: &LoggingConfig{
|
||||||
Vmodule: "",
|
Vmodule: "",
|
||||||
|
|
@ -647,7 +647,7 @@ func DefaultConfig() *Config {
|
||||||
},
|
},
|
||||||
SyncMode: "full",
|
SyncMode: "full",
|
||||||
GcMode: "full",
|
GcMode: "full",
|
||||||
StateScheme: "hash",
|
StateScheme: "path",
|
||||||
Snapshot: true,
|
Snapshot: true,
|
||||||
BorLogs: false,
|
BorLogs: false,
|
||||||
TxPool: &TxPoolConfig{
|
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")
|
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:
|
default:
|
||||||
return nil, fmt.Errorf("gcmode '%s' not found", c.GcMode)
|
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)
|
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
|
vmdebug = false
|
||||||
datadir = "/var/lib/bor"
|
datadir = "/var/lib/bor"
|
||||||
ancient = ""
|
ancient = ""
|
||||||
"db.engine" = "leveldb"
|
"db.engine" = "pebble"
|
||||||
|
"db.scheme" = "path"
|
||||||
keystore = ""
|
keystore = ""
|
||||||
"rpc.batchlimit" = 100
|
"rpc.batchlimit" = 100
|
||||||
"rpc.returndatalimit" = 100000
|
"rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ chain = "mainnet"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# "db.engine" = "leveldb"
|
# "db.engine" = "pebble"
|
||||||
|
state.scheme = "hash"
|
||||||
# keystore = ""
|
# keystore = ""
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ chain = "mainnet"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# db.engine = "leveldb"
|
# db.engine = "pebble"
|
||||||
# keystore = ""
|
# keystore = ""
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ chain = "mainnet"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# db.engine = "leveldb"
|
# db.engine = "pebble"
|
||||||
# keystore = "$BOR_DIR/keystore"
|
# keystore = "$BOR_DIR/keystore"
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ chain = "mainnet"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# db.engine = "leveldb"
|
# db.engine = "pebble"
|
||||||
# keystore = "$BOR_DIR/keystore"
|
# keystore = "$BOR_DIR/keystore"
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ chain = "amoy"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# db.engine = "leveldb"
|
# db.engine = "pebble"
|
||||||
|
state.scheme = "hash"
|
||||||
# keystore = ""
|
# keystore = ""
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ chain = "amoy"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# db.engine = "leveldb"
|
# db.engine = "pebble"
|
||||||
# keystore = ""
|
# keystore = ""
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ chain = "amoy"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# db.engine = "leveldb"
|
# db.engine = "pebble"
|
||||||
# keystore = "$BOR_DIR/keystore"
|
# keystore = "$BOR_DIR/keystore"
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ chain = "amoy"
|
||||||
# vmdebug = false
|
# vmdebug = false
|
||||||
datadir = "/var/lib/bor/data"
|
datadir = "/var/lib/bor/data"
|
||||||
# ancient = ""
|
# ancient = ""
|
||||||
# db.engine = "leveldb"
|
# db.engine = "pebble"
|
||||||
# keystore = "$BOR_DIR/keystore"
|
# keystore = "$BOR_DIR/keystore"
|
||||||
# "rpc.batchlimit" = 100
|
# "rpc.batchlimit" = 100
|
||||||
# "rpc.returndatalimit" = 100000
|
# "rpc.returndatalimit" = 100000
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue