forked from TrueCloudLab/neoneo-go
config: drop implicit consensus config via UnlockWallet
Signed-off-by: Roman Khimov <roman@nspcc.ru>
This commit is contained in:
parent
6865848ca7
commit
9f7b19f886
5 changed files with 9 additions and 25 deletions
10
ROADMAP.md
10
ROADMAP.md
|
@ -26,16 +26,6 @@ APIs/commands/configurations will be removed and here is a list of scheduled
|
||||||
breaking changes. Consider changing your code/scripts/configurations if you're
|
breaking changes. Consider changing your code/scripts/configurations if you're
|
||||||
using anything mentioned here.
|
using anything mentioned here.
|
||||||
|
|
||||||
## Direct UnlockWallet consensus configuration
|
|
||||||
|
|
||||||
Top-level UnlockWallet section in ApplicationConfiguration was used as an
|
|
||||||
implicit consensus service configuration, now this setting (with Enabled flag)
|
|
||||||
is moved into a section of its own (Consensus). Old configurations are still
|
|
||||||
supported, but this support will eventually be removed.
|
|
||||||
|
|
||||||
Removal of this compatibility code is scheduled for May-June 2023 (~0.103.0
|
|
||||||
release).
|
|
||||||
|
|
||||||
## Node-specific configuration moved from Protocol to Application
|
## Node-specific configuration moved from Protocol to Application
|
||||||
|
|
||||||
GarbageCollectionPeriod, KeepOnlyLatestState, RemoveUntraceableBlocks,
|
GarbageCollectionPeriod, KeepOnlyLatestState, RemoveUntraceableBlocks,
|
||||||
|
|
|
@ -77,7 +77,8 @@ func TestServerStart(t *testing.T) {
|
||||||
})
|
})
|
||||||
t.Run("invalid consensus config", func(t *testing.T) {
|
t.Run("invalid consensus config", func(t *testing.T) {
|
||||||
saveCfg(t, func(cfg *config.Config) {
|
saveCfg(t, func(cfg *config.Config) {
|
||||||
cfg.ApplicationConfiguration.UnlockWallet.Path = "bad_consensus_wallet.json"
|
cfg.ApplicationConfiguration.Consensus.Enabled = true
|
||||||
|
cfg.ApplicationConfiguration.Consensus.UnlockWallet.Path = "bad_consensus_wallet.json"
|
||||||
})
|
})
|
||||||
e.RunWithError(t, baseCmd...)
|
e.RunWithError(t, baseCmd...)
|
||||||
})
|
})
|
||||||
|
|
|
@ -33,7 +33,6 @@ node-related settings described in the table below.
|
||||||
| SaveStorageBatch | `bool` | `false` | Enables storage batch saving before every persist. It is similar to StorageDump plugin for C# node. |
|
| SaveStorageBatch | `bool` | `false` | Enables storage batch saving before every persist. It is similar to StorageDump plugin for C# node. |
|
||||||
| SkipBlockVerification | `bool` | `false` | Allows to disable verification of received/processed blocks (including cryptographic checks). |
|
| SkipBlockVerification | `bool` | `false` | Allows to disable verification of received/processed blocks (including cryptographic checks). |
|
||||||
| StateRoot | [State Root Configuration](#State-Root-Configuration) | | State root module configuration. See the [State Root Configuration](#State-Root-Configuration) section for details. |
|
| StateRoot | [State Root Configuration](#State-Root-Configuration) | | State root module configuration. See the [State Root Configuration](#State-Root-Configuration) section for details. |
|
||||||
| UnlockWallet | [Unlock Wallet Configuration](#Unlock-Wallet-Configuration) | | Node wallet configuration used for consensus (dBFT) operation. See the [Unlock Wallet Configuration](#Unlock-Wallet-Configuration) section for details. This section is deprecated and replaced by Consensus, it only exists for compatibility with old configuration files, but will be removed in future node versions. |
|
|
||||||
|
|
||||||
### P2P Configuration
|
### P2P Configuration
|
||||||
|
|
||||||
|
|
|
@ -23,17 +23,16 @@ type ApplicationConfiguration struct {
|
||||||
Pprof BasicService `yaml:"Pprof"`
|
Pprof BasicService `yaml:"Pprof"`
|
||||||
Prometheus BasicService `yaml:"Prometheus"`
|
Prometheus BasicService `yaml:"Prometheus"`
|
||||||
|
|
||||||
Relay bool `yaml:"Relay"`
|
Relay bool `yaml:"Relay"`
|
||||||
Consensus Consensus `yaml:"Consensus"`
|
Consensus Consensus `yaml:"Consensus"`
|
||||||
RPC RPC `yaml:"RPC"`
|
RPC RPC `yaml:"RPC"`
|
||||||
UnlockWallet Wallet `yaml:"UnlockWallet"`
|
Oracle OracleConfiguration `yaml:"Oracle"`
|
||||||
Oracle OracleConfiguration `yaml:"Oracle"`
|
P2PNotary P2PNotary `yaml:"P2PNotary"`
|
||||||
P2PNotary P2PNotary `yaml:"P2PNotary"`
|
StateRoot StateRoot `yaml:"StateRoot"`
|
||||||
StateRoot StateRoot `yaml:"StateRoot"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// EqualsButServices returns true when the o is the same as a except for services
|
// EqualsButServices returns true when the o is the same as a except for services
|
||||||
// (Oracle, P2PNotary, Pprof, Prometheus, RPC, StateRoot and UnlockWallet sections)
|
// (Oracle, P2PNotary, Pprof, Prometheus, RPC and StateRoot sections)
|
||||||
// and LogLevel field.
|
// and LogLevel field.
|
||||||
func (a *ApplicationConfiguration) EqualsButServices(o *ApplicationConfiguration) bool {
|
func (a *ApplicationConfiguration) EqualsButServices(o *ApplicationConfiguration) bool {
|
||||||
if len(a.P2P.Addresses) != len(o.P2P.Addresses) {
|
if len(a.P2P.Addresses) != len(o.P2P.Addresses) {
|
||||||
|
|
|
@ -88,11 +88,6 @@ func LoadFile(configPath string) (Config, error) {
|
||||||
return Config{}, fmt.Errorf("failed to unmarshal config YAML: %w", err)
|
return Config{}, fmt.Errorf("failed to unmarshal config YAML: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(config.ApplicationConfiguration.UnlockWallet.Path) > 0 && len(config.ApplicationConfiguration.Consensus.UnlockWallet.Path) == 0 {
|
|
||||||
config.ApplicationConfiguration.Consensus.UnlockWallet = config.ApplicationConfiguration.UnlockWallet
|
|
||||||
config.ApplicationConfiguration.Consensus.Enabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
err = config.ProtocolConfiguration.Validate()
|
err = config.ProtocolConfiguration.Validate()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return Config{}, err
|
return Config{}, err
|
||||||
|
|
Loading…
Reference in a new issue