Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
6d175460
Unverified
Commit
6d175460
authored
Aug 10, 2021
by
gary rong
Committed by
GitHub
Aug 10, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmd, core, eth, miner: deprecate miner.gastarget flag (#23213)
parent
520f2568
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
32 additions
and
71 deletions
+32
-71
main.go
cmd/geth/main.go
+1
-1
usage.go
cmd/geth/usage.go
+1
-1
flags.go
cmd/utils/flags.go
+3
-8
flags_legacy.go
cmd/utils/flags_legacy.go
+13
-3
block_validator.go
core/block_validator.go
+3
-38
block_validator_test.go
core/block_validator_test.go
+6
-7
chain_makers.go
core/chain_makers.go
+2
-3
config.go
eth/ethconfig/config.go
+0
-1
main.go
miner/stress/1559/main.go
+0
-1
main.go
miner/stress/clique/main.go
+0
-1
main.go
miner/stress/ethash/main.go
+0
-1
worker.go
miner/worker.go
+3
-5
worker_test.go
miner/worker_test.go
+0
-1
No files found.
cmd/geth/main.go
View file @
6d175460
...
...
@@ -118,7 +118,7 @@ var (
utils
.
MiningEnabledFlag
,
utils
.
MinerThreadsFlag
,
utils
.
MinerNotifyFlag
,
utils
.
MinerGasTargetFlag
,
utils
.
Legacy
MinerGasTargetFlag
,
utils
.
MinerGasLimitFlag
,
utils
.
MinerGasPriceFlag
,
utils
.
MinerEtherbaseFlag
,
...
...
cmd/geth/usage.go
View file @
6d175460
...
...
@@ -182,7 +182,6 @@ var AppHelpFlagGroups = []flags.FlagGroup{
utils
.
MinerNotifyFlag
,
utils
.
MinerNotifyFullFlag
,
utils
.
MinerGasPriceFlag
,
utils
.
MinerGasTargetFlag
,
utils
.
MinerGasLimitFlag
,
utils
.
MinerEtherbaseFlag
,
utils
.
MinerExtraDataFlag
,
...
...
@@ -226,6 +225,7 @@ var AppHelpFlagGroups = []flags.FlagGroup{
utils
.
LegacyRPCCORSDomainFlag
,
utils
.
LegacyRPCVirtualHostsFlag
,
utils
.
LegacyRPCApiFlag
,
utils
.
LegacyMinerGasTargetFlag
,
},
},
{
...
...
cmd/utils/flags.go
View file @
6d175460
...
...
@@ -444,11 +444,6 @@ var (
Name
:
"miner.notify.full"
,
Usage
:
"Notify with pending block headers instead of work packages"
,
}
MinerGasTargetFlag
=
cli
.
Uint64Flag
{
Name
:
"miner.gastarget"
,
Usage
:
"Target gas floor for mined blocks"
,
Value
:
ethconfig
.
Defaults
.
Miner
.
GasFloor
,
}
MinerGasLimitFlag
=
cli
.
Uint64Flag
{
Name
:
"miner.gaslimit"
,
Usage
:
"Target gas ceiling for mined blocks"
,
...
...
@@ -1386,9 +1381,6 @@ func setMiner(ctx *cli.Context, cfg *miner.Config) {
if
ctx
.
GlobalIsSet
(
MinerExtraDataFlag
.
Name
)
{
cfg
.
ExtraData
=
[]
byte
(
ctx
.
GlobalString
(
MinerExtraDataFlag
.
Name
))
}
if
ctx
.
GlobalIsSet
(
MinerGasTargetFlag
.
Name
)
{
cfg
.
GasFloor
=
ctx
.
GlobalUint64
(
MinerGasTargetFlag
.
Name
)
}
if
ctx
.
GlobalIsSet
(
MinerGasLimitFlag
.
Name
)
{
cfg
.
GasCeil
=
ctx
.
GlobalUint64
(
MinerGasLimitFlag
.
Name
)
}
...
...
@@ -1401,6 +1393,9 @@ func setMiner(ctx *cli.Context, cfg *miner.Config) {
if
ctx
.
GlobalIsSet
(
MinerNoVerfiyFlag
.
Name
)
{
cfg
.
Noverify
=
ctx
.
GlobalBool
(
MinerNoVerfiyFlag
.
Name
)
}
if
ctx
.
GlobalIsSet
(
LegacyMinerGasTargetFlag
.
Name
)
{
log
.
Warn
(
"The generic --miner.gastarget flag is deprecated and will be removed in the future!"
)
}
}
func
setWhitelist
(
ctx
*
cli
.
Context
,
cfg
*
ethconfig
.
Config
)
{
...
...
cmd/utils/flags_legacy.go
View file @
6d175460
...
...
@@ -20,6 +20,7 @@ import (
"fmt"
"strings"
"github.com/ethereum/go-ethereum/eth/ethconfig"
"github.com/ethereum/go-ethereum/node"
"gopkg.in/urfave/cli.v1"
)
...
...
@@ -33,7 +34,9 @@ var ShowDeprecated = cli.Command{
Description
:
"Show flags that have been deprecated and will soon be removed"
,
}
var
DeprecatedFlags
=
[]
cli
.
Flag
{}
var
DeprecatedFlags
=
[]
cli
.
Flag
{
LegacyMinerGasTargetFlag
,
}
var
(
// (Deprecated May 2020, shown in aliased flags section)
...
...
@@ -66,6 +69,12 @@ var (
Usage
:
"API's offered over the HTTP-RPC interface (deprecated and will be removed June 2021, use --http.api)"
,
Value
:
""
,
}
// (Deprecated July 2021, shown in aliased flags section)
LegacyMinerGasTargetFlag
=
cli
.
Uint64Flag
{
Name
:
"miner.gastarget"
,
Usage
:
"Target gas floor for mined blocks (deprecated)"
,
Value
:
ethconfig
.
Defaults
.
Miner
.
GasFloor
,
}
)
// showDeprecated displays deprecated flags that will be soon removed from the codebase.
...
...
@@ -74,7 +83,8 @@ func showDeprecated(*cli.Context) {
fmt
.
Println
(
"The following flags are deprecated and will be removed in the future!"
)
fmt
.
Println
(
"--------------------------------------------------------------------"
)
fmt
.
Println
()
// TODO remove when there are newly deprecated flags
fmt
.
Println
(
"no deprecated flags to show at this time"
)
for
_
,
flag
:=
range
DeprecatedFlags
{
fmt
.
Println
(
flag
.
String
())
}
fmt
.
Println
()
}
core/block_validator.go
View file @
6d175460
...
...
@@ -103,44 +103,9 @@ func (v *BlockValidator) ValidateState(block *types.Block, statedb *state.StateD
}
// CalcGasLimit computes the gas limit of the next block after parent. It aims
// to keep the baseline gas above the provided floor, and increase it towards the
// ceil if the blocks are full. If the ceil is exceeded, it will always decrease
// the gas allowance.
func
CalcGasLimit
(
parentGasUsed
,
parentGasLimit
,
gasFloor
,
gasCeil
uint64
)
uint64
{
// contrib = (parentGasUsed * 3 / 2) / 1024
contrib
:=
(
parentGasUsed
+
parentGasUsed
/
2
)
/
params
.
GasLimitBoundDivisor
// decay = parentGasLimit / 1024 -1
decay
:=
parentGasLimit
/
params
.
GasLimitBoundDivisor
-
1
/*
strategy: gasLimit of block-to-mine is set based on parent's
gasUsed value. if parentGasUsed > parentGasLimit * (2/3) then we
increase it, otherwise lower it (or leave it unchanged if it's right
at that usage) the amount increased/decreased depends on how far away
from parentGasLimit * (2/3) parentGasUsed is.
*/
limit
:=
parentGasLimit
-
decay
+
contrib
if
limit
<
params
.
MinGasLimit
{
limit
=
params
.
MinGasLimit
}
// If we're outside our allowed gas range, we try to hone towards them
if
limit
<
gasFloor
{
limit
=
parentGasLimit
+
decay
if
limit
>
gasFloor
{
limit
=
gasFloor
}
}
else
if
limit
>
gasCeil
{
limit
=
parentGasLimit
-
decay
if
limit
<
gasCeil
{
limit
=
gasCeil
}
}
return
limit
}
// CalcGasLimit1559 calculates the next block gas limit under 1559 rules.
func
CalcGasLimit1559
(
parentGasLimit
,
desiredLimit
uint64
)
uint64
{
// to keep the baseline gas close to the provided target, and increase it towards
// the target if the baseline gas is lower.
func
CalcGasLimit
(
parentGasLimit
,
desiredLimit
uint64
)
uint64
{
delta
:=
parentGasLimit
/
params
.
GasLimitBoundDivisor
-
1
limit
:=
parentGasLimit
if
desiredLimit
<
params
.
MinGasLimit
{
...
...
core/block_validator_test.go
View file @
6d175460
...
...
@@ -198,8 +198,7 @@ func testHeaderConcurrentAbortion(t *testing.T, threads int) {
}
}
func
TestCalcGasLimit1559
(
t
*
testing
.
T
)
{
func
TestCalcGasLimit
(
t
*
testing
.
T
)
{
for
i
,
tc
:=
range
[]
struct
{
pGasLimit
uint64
max
uint64
...
...
@@ -209,23 +208,23 @@ func TestCalcGasLimit1559(t *testing.T) {
{
40000000
,
40039061
,
39960939
},
}
{
// Increase
if
have
,
want
:=
CalcGasLimit
1559
(
tc
.
pGasLimit
,
2
*
tc
.
pGasLimit
),
tc
.
max
;
have
!=
want
{
if
have
,
want
:=
CalcGasLimit
(
tc
.
pGasLimit
,
2
*
tc
.
pGasLimit
),
tc
.
max
;
have
!=
want
{
t
.
Errorf
(
"test %d: have %d want <%d"
,
i
,
have
,
want
)
}
// Decrease
if
have
,
want
:=
CalcGasLimit
1559
(
tc
.
pGasLimit
,
0
),
tc
.
min
;
have
!=
want
{
if
have
,
want
:=
CalcGasLimit
(
tc
.
pGasLimit
,
0
),
tc
.
min
;
have
!=
want
{
t
.
Errorf
(
"test %d: have %d want >%d"
,
i
,
have
,
want
)
}
// Small decrease
if
have
,
want
:=
CalcGasLimit
1559
(
tc
.
pGasLimit
,
tc
.
pGasLimit
-
1
),
tc
.
pGasLimit
-
1
;
have
!=
want
{
if
have
,
want
:=
CalcGasLimit
(
tc
.
pGasLimit
,
tc
.
pGasLimit
-
1
),
tc
.
pGasLimit
-
1
;
have
!=
want
{
t
.
Errorf
(
"test %d: have %d want %d"
,
i
,
have
,
want
)
}
// Small increase
if
have
,
want
:=
CalcGasLimit
1559
(
tc
.
pGasLimit
,
tc
.
pGasLimit
+
1
),
tc
.
pGasLimit
+
1
;
have
!=
want
{
if
have
,
want
:=
CalcGasLimit
(
tc
.
pGasLimit
,
tc
.
pGasLimit
+
1
),
tc
.
pGasLimit
+
1
;
have
!=
want
{
t
.
Errorf
(
"test %d: have %d want %d"
,
i
,
have
,
want
)
}
// No change
if
have
,
want
:=
CalcGasLimit
1559
(
tc
.
pGasLimit
,
tc
.
pGasLimit
),
tc
.
pGasLimit
;
have
!=
want
{
if
have
,
want
:=
CalcGasLimit
(
tc
.
pGasLimit
,
tc
.
pGasLimit
),
tc
.
pGasLimit
;
have
!=
want
{
t
.
Errorf
(
"test %d: have %d want %d"
,
i
,
have
,
want
)
}
}
...
...
core/chain_makers.go
View file @
6d175460
...
...
@@ -273,11 +273,10 @@ func makeHeader(chain consensus.ChainReader, parent *types.Block, state *state.S
}
if
chain
.
Config
()
.
IsLondon
(
header
.
Number
)
{
header
.
BaseFee
=
misc
.
CalcBaseFee
(
chain
.
Config
(),
parent
.
Header
())
parentGasLimit
:=
parent
.
GasLimit
()
if
!
chain
.
Config
()
.
IsLondon
(
parent
.
Number
())
{
parentGasLimit
=
parent
.
GasLimit
()
*
params
.
ElasticityMultiplier
parentGasLimit
:=
parent
.
GasLimit
()
*
params
.
ElasticityMultiplier
header
.
GasLimit
=
CalcGasLimit
(
parentGasLimit
,
parentGasLimit
)
}
header
.
GasLimit
=
CalcGasLimit1559
(
parentGasLimit
,
parentGasLimit
)
}
return
header
}
...
...
eth/ethconfig/config.go
View file @
6d175460
...
...
@@ -83,7 +83,6 @@ var Defaults = Config{
TrieTimeout
:
60
*
time
.
Minute
,
SnapshotCache
:
102
,
Miner
:
miner
.
Config
{
GasFloor
:
8000000
,
GasCeil
:
8000000
,
GasPrice
:
big
.
NewInt
(
params
.
GWei
),
Recommit
:
3
*
time
.
Second
,
...
...
miner/stress/1559/main.go
View file @
6d175460
...
...
@@ -242,7 +242,6 @@ func makeMiner(genesis *core.Genesis) (*node.Node, *eth.Ethereum, error) {
GPO
:
ethconfig
.
Defaults
.
GPO
,
Ethash
:
ethconfig
.
Defaults
.
Ethash
,
Miner
:
miner
.
Config
{
GasFloor
:
genesis
.
GasLimit
*
9
/
10
,
GasCeil
:
genesis
.
GasLimit
*
11
/
10
,
GasPrice
:
big
.
NewInt
(
1
),
Recommit
:
time
.
Second
,
...
...
miner/stress/clique/main.go
View file @
6d175460
...
...
@@ -193,7 +193,6 @@ func makeSealer(genesis *core.Genesis) (*node.Node, *eth.Ethereum, error) {
TxPool
:
core
.
DefaultTxPoolConfig
,
GPO
:
ethconfig
.
Defaults
.
GPO
,
Miner
:
miner
.
Config
{
GasFloor
:
genesis
.
GasLimit
*
9
/
10
,
GasCeil
:
genesis
.
GasLimit
*
11
/
10
,
GasPrice
:
big
.
NewInt
(
1
),
Recommit
:
time
.
Second
,
...
...
miner/stress/ethash/main.go
View file @
6d175460
...
...
@@ -171,7 +171,6 @@ func makeMiner(genesis *core.Genesis) (*node.Node, *eth.Ethereum, error) {
GPO
:
ethconfig
.
Defaults
.
GPO
,
Ethash
:
ethconfig
.
Defaults
.
Ethash
,
Miner
:
miner
.
Config
{
GasFloor
:
genesis
.
GasLimit
*
9
/
10
,
GasCeil
:
genesis
.
GasLimit
*
11
/
10
,
GasPrice
:
big
.
NewInt
(
1
),
Recommit
:
time
.
Second
,
...
...
miner/worker.go
View file @
6d175460
...
...
@@ -897,19 +897,17 @@ func (w *worker) commitNewWork(interrupt *int32, noempty bool, timestamp int64)
header
:=
&
types
.
Header
{
ParentHash
:
parent
.
Hash
(),
Number
:
num
.
Add
(
num
,
common
.
Big1
),
GasLimit
:
core
.
CalcGasLimit
(
parent
.
Gas
Used
(),
parent
.
GasLimit
(),
w
.
config
.
GasFloor
,
w
.
config
.
GasCeil
),
GasLimit
:
core
.
CalcGasLimit
(
parent
.
Gas
Limit
()
,
w
.
config
.
GasCeil
),
Extra
:
w
.
extra
,
Time
:
uint64
(
timestamp
),
}
// Set baseFee and GasLimit if we are on an EIP-1559 chain
if
w
.
chainConfig
.
IsLondon
(
header
.
Number
)
{
header
.
BaseFee
=
misc
.
CalcBaseFee
(
w
.
chainConfig
,
parent
.
Header
())
parentGasLimit
:=
parent
.
GasLimit
()
if
!
w
.
chainConfig
.
IsLondon
(
parent
.
Number
())
{
// Bump by 2x
parentGasLimit
=
parent
.
GasLimit
()
*
params
.
ElasticityMultiplier
parentGasLimit
:=
parent
.
GasLimit
()
*
params
.
ElasticityMultiplier
header
.
GasLimit
=
core
.
CalcGasLimit
(
parentGasLimit
,
w
.
config
.
GasCeil
)
}
header
.
GasLimit
=
core
.
CalcGasLimit1559
(
parentGasLimit
,
w
.
config
.
GasCeil
)
}
// Only set the coinbase if our consensus engine is running (avoid spurious block rewards)
if
w
.
isRunning
()
{
...
...
miner/worker_test.go
View file @
6d175460
...
...
@@ -67,7 +67,6 @@ var (
testConfig
=
&
Config
{
Recommit
:
time
.
Second
,
GasFloor
:
params
.
GenesisGasLimit
,
GasCeil
:
params
.
GenesisGasLimit
,
}
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment