eth, miner: add RPC method to modify miner gaslimit (pre london: ceiling) (#23134)
This commit is contained in:
parent
13bc9c0c6e
commit
d21a069619
@ -129,6 +129,12 @@ func (api *PrivateMinerAPI) SetGasPrice(gasPrice hexutil.Big) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetGasLimit sets the gaslimit to target towards during mining.
|
||||||
|
func (api *PrivateMinerAPI) SetGasLimit(gasLimit hexutil.Uint64) bool {
|
||||||
|
api.e.Miner().SetGasCeil(uint64(gasLimit))
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
// SetEtherbase sets the etherbase of the miner
|
// SetEtherbase sets the etherbase of the miner
|
||||||
func (api *PrivateMinerAPI) SetEtherbase(etherbase common.Address) bool {
|
func (api *PrivateMinerAPI) SetEtherbase(etherbase common.Address) bool {
|
||||||
api.e.SetEtherbase(etherbase)
|
api.e.SetEtherbase(etherbase)
|
||||||
|
@ -641,6 +641,12 @@ web3._extend({
|
|||||||
params: 1,
|
params: 1,
|
||||||
inputFormatter: [web3._extend.utils.fromDecimal]
|
inputFormatter: [web3._extend.utils.fromDecimal]
|
||||||
}),
|
}),
|
||||||
|
new web3._extend.Method({
|
||||||
|
name: 'setGasLimit',
|
||||||
|
call: 'miner_setGasLimit',
|
||||||
|
params: 1,
|
||||||
|
inputFormatter: [web3._extend.utils.fromDecimal]
|
||||||
|
}),
|
||||||
new web3._extend.Method({
|
new web3._extend.Method({
|
||||||
name: 'setRecommitInterval',
|
name: 'setRecommitInterval',
|
||||||
call: 'miner_setRecommitInterval',
|
call: 'miner_setRecommitInterval',
|
||||||
|
@ -204,6 +204,12 @@ func (miner *Miner) SetEtherbase(addr common.Address) {
|
|||||||
miner.worker.setEtherbase(addr)
|
miner.worker.setEtherbase(addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetGasCeil sets the gaslimit to strive for when mining blocks post 1559.
|
||||||
|
// For pre-1559 blocks, it sets the ceiling.
|
||||||
|
func (miner *Miner) SetGasCeil(ceil uint64) {
|
||||||
|
miner.worker.setGasCeil(ceil)
|
||||||
|
}
|
||||||
|
|
||||||
// EnablePreseal turns on the preseal mining feature. It's enabled by default.
|
// EnablePreseal turns on the preseal mining feature. It's enabled by default.
|
||||||
// Note this function shouldn't be exposed to API, it's unnecessary for users
|
// Note this function shouldn't be exposed to API, it's unnecessary for users
|
||||||
// (miners) to actually know the underlying detail. It's only for outside project
|
// (miners) to actually know the underlying detail. It's only for outside project
|
||||||
|
@ -244,6 +244,12 @@ func (w *worker) setEtherbase(addr common.Address) {
|
|||||||
w.coinbase = addr
|
w.coinbase = addr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (w *worker) setGasCeil(ceil uint64) {
|
||||||
|
w.mu.Lock()
|
||||||
|
defer w.mu.Unlock()
|
||||||
|
w.config.GasCeil = ceil
|
||||||
|
}
|
||||||
|
|
||||||
// setExtra sets the content used to initialize the block extra field.
|
// setExtra sets the content used to initialize the block extra field.
|
||||||
func (w *worker) setExtra(extra []byte) {
|
func (w *worker) setExtra(extra []byte) {
|
||||||
w.mu.Lock()
|
w.mu.Lock()
|
||||||
|
Loading…
Reference in New Issue
Block a user