-
Notifications
You must be signed in to change notification settings - Fork 192
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
CIP-28: Split etherbase into validator & txFeeRecipient addresses #1195
Conversation
…ess for state transitions
…er.coinbase instead
# Conflicts: # contract_comm/random/random.go # eth/backend.go # eth/gen_config.go # miner/miner.go # miner/worker.go # miner/worker_test.go
@@ -456,7 +464,11 @@ func (w *worker) mainLoop() { | |||
continue | |||
} | |||
w.mu.RLock() | |||
coinbase := w.coinbase | |||
txFeeRecipient := w.txFeeRecipient | |||
if !w.chainConfig.IsDonut(w.current.header.Number) && w.txFeeRecipient != w.validator { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we know if current.header != nil?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only function that sets the current
is makeCurrent
, which is called only by the Prepare
function after initialising the header.
I can't use the header.Coinbase
in that line, because it's the case where the consensus is not running, and leaves the header.Coinbase
with nil
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great Work1
# Conflicts: # eth/backend.go
Description
Implementation for CIP-28.
Both parameters are set via command line
New flags:
miner.validator
is the validator addresstxFeeRecipient
the address where all the fees payments will be transferredIf one of these flags is present, the other will be required, even if it is the same address, to force a conscious decision about it
To maintain backwards compatibility, the
etherbase
flag if is already set, and non of the other two flags were set, it will fill that address as theminer.validator
and thetxFeeRecipient
. The flag will eventually be deprecated.We changed the default behaviour of the etherbase flag. Now it won't assume the first account of the keyStore as default. So beware. Either the
etherbase
flag or the pairminer.validator
andtxFeeRecipient
MUST be set.Other changes
Split etherbase in ethstats.
Related issues
Backwards compatibility
Hardfork Change. Modifies block validation logic. Part of
Donut
Hardfork