Skip to content

Commit

Permalink
Remove dev consensus key (FuelLabs#1614)
Browse files Browse the repository at this point in the history
This PR adds the following changes:

- removes `consensus_dev_key since the `produce_block` functionality can
now be controlled through the `debug` flag
- uses the dev consensus key in the debug mode regardless of the trigger
mode
  • Loading branch information
MujkicA authored Jan 24, 2024
1 parent 99a91c2 commit 6df2ff2
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 13 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Description of the upcoming release here.
- [#1601](https://github.com/FuelLabs/fuel-core/pull/1601): Fix formatting in docs and check that `cargo doc` passes in the CI.

#### Breaking
- [#1614](https://github.com/FuelLabs/fuel-core/pull/#1614): Use the default consensus key regardless of trigger mode. The change is breaking because it removes the `--dev-keys` argument. If the `debug` flag is set, the default consensus key will be used, regardless of the trigger mode.
- [#1596](https://github.com/FuelLabs/fuel-core/pull/1596) Make `Consensus` type a version-able enum
- [#1593](https://github.com/FuelLabs/fuel-core/pull/1593) Make `Block` type a version-able enum
- [#1576](https://github.com/FuelLabs/fuel-core/pull/1576): The change moves the implementation of the storage traits for required tables from `fuel-core` to `fuel-core-storage` crate. The change also adds a more flexible configuration of the encoding/decoding per the table and allows the implementation of specific behaviors for the table in a much easier way. It unifies the encoding between database, SMTs, and iteration, preventing mismatching bytes representation on the Rust type system level. Plus, it increases the re-usage of the code by applying the same blueprint to other tables.
Expand Down
20 changes: 7 additions & 13 deletions bin/fuel-core/src/cli/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,6 @@ pub struct Command {
#[clap(flatten)]
pub poa_trigger: PoATriggerArgs,

/// Use a default insecure consensus key for testing purposes.
/// This will not be enabled by default in the future.
#[arg(long = "dev-keys", default_value = "true", env)]
pub consensus_dev_key: bool,

/// The block's fee recipient public key.
///
/// If not set, `consensus_key` is used as the provider of the `Address`.
Expand Down Expand Up @@ -226,7 +221,6 @@ impl Command {
min_gas_price,
consensus_key,
poa_trigger,
consensus_dev_key,
coinbase_recipient,
#[cfg(feature = "relayer")]
relayer_args,
Expand Down Expand Up @@ -266,25 +260,25 @@ impl Command {
info!("Block production disabled");
}

let consensus_key = load_consensus_key(consensus_key)?;
if consensus_key.is_some() && trigger == Trigger::Never {
warn!("Consensus key configured but block production is disabled!");
}

// if consensus key is not configured, fallback to dev consensus key
let consensus_key = load_consensus_key(consensus_key)?.or_else(|| {
if consensus_dev_key && trigger != Trigger::Never {
let consensus_key = consensus_key.or_else(|| {
if debug {
let key = default_consensus_dev_key();
warn!(
"Fuel Core is using an insecure test key for consensus. Public key: {}",
key.public_key()
);
Some(Secret::new(key.into()))
} else {
// if consensus dev key is disabled, use no key
None
}
});

if consensus_key.is_some() && trigger == Trigger::Never {
warn!("Consensus key configured but block production is disabled!")
}

let coinbase_recipient = if let Some(coinbase_recipient) = coinbase_recipient {
Some(
ContractId::from_str(coinbase_recipient.as_str())
Expand Down

0 comments on commit 6df2ff2

Please sign in to comment.