You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: modify custom components for custom start (#71)
* upgrade process
* clippy
* fix: reorder mint_admin field in ChainspecEvolveConfig and EvolvePayloadBuilderConfig for consistency
* feat: add mint precompile admin and activation height to genesis config
Copy file name to clipboardExpand all lines: README.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -223,7 +223,8 @@ Add an `evolve` stanza to your chainspec under the `config` section:
223
223
"config": {
224
224
...,
225
225
"evolve": {
226
-
"baseFeeSink": "0xYourRecipientAddressHere"
226
+
"baseFeeSink": "0xYourRecipientAddressHere",
227
+
"baseFeeRedirectActivationHeight": 0
227
228
}
228
229
}
229
230
```
@@ -233,13 +234,18 @@ Rebuild (or restart) the node with the updated chainspec so the payload builder
233
234
You can see a working example in `etc/ev-reth-genesis.json`, which routes the base fee to
234
235
`0x00000000000000000000000000000000000000fe` by default.
235
236
237
+
Set `baseFeeRedirectActivationHeight` to the block where the new behavior should begin. Leave it at
238
+
`0` for fresh chains that enable the redirect from genesis.
239
+
236
240
What it does:
241
+
237
242
- Intercepts the base fee during EVM execution (via the ev-revm handler)
238
243
- Credits `base_fee_per_gas * gas_used` to the specified recipient for each transaction
239
244
- The redirect happens at the EVM handler level, ensuring the state root reflects the credited balance
240
245
- This effectively "unburns" the base fee on your network (Ethereum mainnet keeps burning the base fee by protocol design)
241
246
242
247
Implementation details:
248
+
243
249
- Uses the `ev-revm` crate to wrap the EVM with a custom handler
244
250
- The handler intercepts the `reward_beneficiary` hook to redirect base fees
245
251
- No runtime environment variables are required; the chainspec carries the policy alongside other fork settings
@@ -260,10 +266,12 @@ The txpool RPC extension can be configured with:
260
266
-`max_txpool_gas`: Maximum cumulative gas for transactions to return (default: 30,000,000)
261
267
262
268
Notes:
269
+
263
270
- Both limits apply together. Selection stops when either cap is reached.
264
271
- Set a limit to `0` to disable that constraint.
265
272
266
273
CLI/env overrides:
274
+
267
275
- None for txpool gas. The RPC follows the current block gas automatically.
268
276
269
277
### Gas Limits: Block vs Txpool
@@ -273,6 +281,7 @@ CLI/env overrides:
273
281
- Relationship: These limits are aligned by default. Overriding the txpool cap makes them independent again; exact packing still depends on real execution.
274
282
275
283
Changing limits on a running chain:
284
+
276
285
- Per-block gas: Set `gasLimit` in Engine API payload attributes to change the block’s gas limit for that payload. Subsequent payloads will default to that new parent header gas limit unless overridden again.
277
286
- Txpool gas cap: Follows the head block’s gas limit automatically. There is no fixed-cap override; change your block gas and the RPC alignment follows.
0 commit comments