Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use PBSS and pebble by default #1412

Merged
merged 3 commits into from
Jan 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion builder/files/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/cli/example_config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions docs/cli/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -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)

Expand Down
1 change: 1 addition & 0 deletions internal/cli/debug_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
7 changes: 5 additions & 2 deletions internal/cli/server/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -609,7 +609,7 @@ func DefaultConfig() *Config {
EnablePreimageRecording: false,
DataDir: DefaultDataDir(),
Ancient: "",
DBEngine: "leveldb",
DBEngine: "pebble",
KeyStoreDir: "",
Logging: &LoggingConfig{
Vmodule: "",
Expand Down Expand Up @@ -647,7 +647,7 @@ func DefaultConfig() *Config {
},
SyncMode: "full",
GcMode: "full",
StateScheme: "hash",
StateScheme: "path",
Snapshot: true,
BorLogs: false,
TxPool: &TxPoolConfig{
Expand Down Expand Up @@ -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)
}
Expand Down
14 changes: 14 additions & 0 deletions internal/cli/server/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 2 additions & 1 deletion internal/cli/server/testdata/default.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion packaging/templates/mainnet-v1/archive/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ chain = "mainnet"
# vmdebug = false
datadir = "/var/lib/bor/data"
# ancient = ""
# "db.engine" = "leveldb"
# "db.engine" = "pebble"
state.scheme = "hash"
cffls marked this conversation as resolved.
Show resolved Hide resolved
# keystore = ""
# "rpc.batchlimit" = 100
# "rpc.returndatalimit" = 100000
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion packaging/templates/testnet-amoy/archive/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading