EIP-4844 (Data availability) support is added in this release: blobs data is indexed from the consensus layer and can be explorable in the explorer. It is enabled automatically with CHAIN_TYPE=ethereum
set in compile and run time.
Polygon ZkEVM bridge operations (transactions/withdrawals) support is added.
In 6.2.0 we continue DB schema enhancements for the sake of improving the performance of the queries. The current release contains denormalization of token_transfers
table: block_consensus
and token_type
fields are added along with background migration to backfill existing data (See the last chapter in 6.0.0 release notes to check the status of background migration). In addition, the performance of the coin balance fetching is improved by exporting it to the asynchronous part of the block import.
More minimal proxy pattern support is added.
It is possible now to link license during verification of the smart-contract.
Fetching of internal transactions from FEVM's (Filecoin EVM) trace_block
method is added. And filecoin-related changes are now supported in the master branch of the repo.
⚠️ start_block
/end_block
filters in API v1 are not supported anymore. Please, use startblock
/endblock
instead.
⚙️ the release contains 2 foreground migrations for all:
- extending
smart_contracts
table with the new columnlicense_type
. - extending
token_transfers
table with the new columnblock_consensus
.
And tables creations and extending blocks
table for EIP-4844 support (CHAIN_TYPE=ethereum
).
Those migrations shouldn't take much time: several minutes at most.
💡New environment variables
Variable
Required
Description
Default
INDEXER_DISABLE_TOKEN_INSTANCE_ERC_1155_SANITIZE_FETCHER
If true
, erc-1155-sanitize
token instance fetcher doesn't run. Implemented in #9226.
false
INDEXER_DISABLE_TOKEN_INSTANCE_ERC_721_SANITIZE_FETCHER
If true
, erc-721-sanitize
token instance fetcher doesn't run. Implemented in #9226.
false
INDEXER_TOKEN_INSTANCE_ERC_1155_SANITIZE_CONCURRENCY
Concurrency for erc-1155-sanitize
token instance fetcher. Implemented in #9226.
2
INDEXER_TOKEN_INSTANCE_ERC_721_SANITIZE_CONCURRENCY
Concurrency for erc-721-sanitize
token instance fetcher. Implemented in #9226.
2
INDEXER_TOKEN_INSTANCE_ERC_1155_SANITIZE_BATCH_SIZE
Batch size for erc-1155-sanitize
token instance fetcher. Implemented in #9226.
10
INDEXER_TOKEN_INSTANCE_ERC_721_SANITIZE_BATCH_SIZE
Batch size for erc-721-sanitize
token instance fetcher. Implemented in #9226.
10
INDEXER_EMPTY_BLOCKS_SANITIZER_INTERVAL
Interval for empty block sanitizer. Implemented in #8658
INDEXER_TOKEN_INSTANCE_USE_BASE_URI_RETRY
If true
, and request to tokenURI(tokenId)
failed with VM execution error
, Blockscout will make request to baseURI
and try to request metadata from baseURI + tokenId
false
EIP_1559_BASE_FEE_MAX_CHANGE_DENOMINATOR
EIP-1559 base fee max change denominator. Implemented in #9202
8
Ethereum Management
Variable
Required
Description
Default
INDEXER_BEACON_RPC_URL
The Beacon Chain RPC endpoint used to fetch blob sidecars. Implemented in #9168.
http://localhost:5052
INDEXER_DISABLE_BEACON_BLOB_FETCHER
If true
the fetcher of Beacon data blobs won't be started, new transaction and block fields still will be extracted. Implemented in #9168.
false
INDEXER_BEACON_BLOB_FETCHER_SLOT_DURATION
Slot duration in the Beacon Chain in seconds. Implemented in #9168.
12
INDEXER_BEACON_BLOB_FETCHER_REFERENCE_SLOT
Any past finalized Beacon Chain slot number. Used as reference for blob inclusion slot calculations. Implemented in #9168.
8000000
INDEXER_BEACON_BLOB_FETCHER_REFERENCE_TIMESTAMP
UTC timestamp of the Beacon Chain slot specified in INDEXER_BEACON_BLOB_FETCHER_REFERENCE_SLOT
. Used as reference for blob inclusion slot calculations. Implemented in #9168.
1702824023
INDEXER_BEACON_BLOB_FETCHER_START_BLOCK
Beacon Chain blob fetcher start block. On start-up, indexer will only look for missed blobs beyond this block number. It's recommended to set this block to the first block after the Dencun hardfork. Implemented in #9168.
19200000
INDEXER_BEACON_BLOB_FETCHER_END_BLOCK
Beacon Chain blob fetcher end block. On start-up, indexer will only look for missed blobs before this block number. If set to 0
, then all recent till latest
will be traversed. Implemented in #9168.
0
Polygon zkEVM Rollup management
Variable
Required
Description
Default
INDEXER_POLYGON_ZKEVM_L1_RPC
The RPC endpoint for L1 used to fetch Deposit or Withdrawal bridge events. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_START_BLOCK
The number of a start block on L1 to index L1 bridge events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L1 event. If empty or not defined, the L1 events are not handled. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_CONTRACT
The address of PolygonZkEVMBridge contract on L1 used to fetch L1 bridge events. Required for L1 bridge events indexing. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_NATIVE_SYMBOL
The symbol of the native coin on L1 to display it in the table of the bridge Deposits and Withdrawals on UI. Implemented in #9098.
ETH
INDEXER_POLYGON_ZKEVM_L1_BRIDGE_NATIVE_DECIMALS
The number of decimals to correctly display an amount of native coins for some Deposit or Withdrawal bridge operations on UI. Implemented in #9098.
18
INDEXER_POLYGON_ZKEVM_L2_BRIDGE_START_BLOCK
The number of a start block on L2 to index L2 bridge events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L2 event. If empty or not defined, the L2 events are not handled. Implemented in #9098.
INDEXER_POLYGON_ZKEVM_L2_BRIDGE_CONTRACT
The address of PolygonZkEVMBridge contract on L2 used to fetch L2 bridge events. Required for L2 bridge events indexing. Implemented in #9098.
⛔ Deprecated environment variables
Variable
Required
Description
Default
INDEXER_ZKEVM_BATCHES_ENABLED
Enables Polygon zkEVM batches fetcher. Implemented in #7584.
false
INDEXER_ZKEVM_BATCHES_CHUNK_SIZE
The number of Polygon zkEVM batches in one chunk when reading them from RPC. Implemented in #7584.
20
INDEXER_ZKEVM_BATCHES_RECHECK_INTERVAL
The latest batch rechecking interval, seconds. Implemented in #7584.
60
Full changelog
Features 🎉
- #9441 - Update BENS integration: change endpoint for resolving address in search
- #9437 - Add Enum.uniq before sanitizing token transfers
- #9403 - Null round handling
- #9401 - Eliminate incorrect token transfers with empty token_ids
- #9396 - More-Minimal Proxy support
- #9386 - Filecoin JSON RPC variant
- #9379 - Filter non-traceable transactions for zetachain
- #9364 - Fix using of startblock/endblock in API v1 list endpoints: txlist, txlistinternal, tokentx
- #9360 - Move missing ranges sanitize to a separate background migration
- #9351 - Noves.fi: add proxy endpoint for describeTxs endpoint
- #9282 - Add
license_type
to smart contracts - #9202 - Add base and priority fee to gas oracle response
- #9182 - Fetch coin balances in async mode in realtime fetcher
- #9168 - Support EIP4844 blobs indexing & API
- #9098 - Polygon zkEVM Bridge indexer and API v2 extension
Fixes 🛠️
- #9444 - Fix quick search bug
- #9440 - Add
debug_traceBlockByNumber
tomethod_to_url
- #9387 - Filter out Vyper contracts in Solidityscan API endpoint
- #9377 - Speed up account abstraction proxy
- #9371 - Filter empty values before token update
- #9356 - Remove ERC-1155 logs params from coin balances params
- #9346 - Process integer balance in genesis.json
- #9317 - Include null gas price txs in fee calculations
- #9315 - Fix manual uncle reward calculation
- #9306 - Improve marking of failed internal transactions
- #9305 - Add effective gas price calculation as fallback
- #9300 - Fix read contract bug
- #9226 - Split Indexer.Fetcher.TokenInstance.LegacySanitize
Chore 🧹
- #9439 - Solidityscan integration enhancements
- #9398 - Improve elixir dependencies caching in CI
- #9393 - Bump actions/cache to v4
- #9389 - Output user address as an object in API v2 for Shibarium
- #9361 - Define BRIDGED_TOKENS_ENABLED env in Dockerfile
- #9257 - Retry token instance metadata fetch from baseURI + tokenID
- #8851 - Fix dialyzer and add TypedEctoSchema
Dependencies version bumps
- #9335 - Bump mini-css-extract-plugin from 2.7.7 to 2.8.0 in /apps/block_scout_web/assets
- #9333 - Bump sweetalert2 from 11.10.3 to 11.10.5 in /apps/block_scout_web/assets
- #9288 - Bump solc from 0.8.23 to 0.8.24 in /apps/explorer
- #9287 - Bump @babel/preset-env from 7.23.8 to 7.23.9 in /apps/block_scout_web/assets
- #9331 - Bump logger_json from 5.1.2 to 5.1.3
- #9330 - Bump hammer from 6.1.0 to 6.2.0
- #9294 - Bump exvcr from 0.15.0 to 0.15.1
- #9293 - Bump floki from 0.35.2 to 0.35.3
- #9338 - Bump postcss-loader from 8.0.0 to 8.1.0 in /apps/block_scout_web/assets
- #9336 - Bump web3 from 1.10.3 to 1.10.4 in /apps/block_scout_web/assets
- #9290 - Bump ex_doc from 0.31.0 to 0.31.1
- #9285 - Bump @amplitude/analytics-browser from 2.3.8 to 2.4.0 in /apps/block_scout_web/assets
- #9283 - Bump @babel/core from 7.23.7 to 7.23.9 in /apps/block_scout_web/assets
- #9337 - Bump css-loader from 6.9.1 to 6.10.0 in /apps/block_scout_web/assets
- #9334 - Bump sass-loader from 14.0.0 to 14.1.0 in /apps/block_scout_web/assets
- #9339 - Bump webpack from 5.89.0 to 5.90.1 in /apps/block_scout_web/assets
- #9383 - Bump credo from 1.7.3 to 1.7.4
- #9384 - Bump postcss from 8.4.33 to 8.4.35 in /apps/block_scout_web/assets
- #9385 - Bump mixpanel-browser from 2.48.1 to 2.49.0 in /apps/block_scout_web/assets
- #9423 - Bump @amplitude/analytics-browser from 2.4.0 to 2.4.1 in /apps/block_scout_web/assets
- #9422 - Bump core-js from 3.35.1 to 3.36.0 in /apps/block_scout_web/assets
- #9424 - Bump webpack from 5.90.1 to 5.90.3 in /apps/block_scout_web/assets
- #9425 - Bump sass-loader from 14.1.0 to 14.1.1 in /apps/block_scout_web/assets
- #9421 - Bump sass from 1.70.0 to 1.71.0 in /apps/block_scout_web/assets
Auto-generated release notes
- Bump mini-css-extract-plugin from 2.7.7 to 2.8.0 in /apps/block_scout_web/assets by @dependabot in #9335
- Bump sweetalert2 from 11.10.3 to 11.10.5 in /apps/block_scout_web/assets by @dependabot in #9333
- Bump solc from 0.8.23 to 0.8.24 in /apps/explorer by @dependabot in #9288
- Bump @babel/preset-env from 7.23.8 to 7.23.9 in /apps/block_scout_web/assets by @dependabot in #9287
- Bump logger_json from 5.1.2 to 5.1.3 by @dependabot in #9331
- Bump hammer from 6.1.0 to 6.2.0 by @dependabot in #9330
- Bump exvcr from 0.15.0 to 0.15.1 by @dependabot in #9294
- Bump floki from 0.35.2 to 0.35.3 by @dependabot in #9293
- Bump postcss-loader from 8.0.0 to 8.1.0 in /apps/block_scout_web/assets by @dependabot in #9338
- Bump web3 from 1.10.3 to 1.10.4 in /apps/block_scout_web/assets by @dependabot in #9336
- Bump ex_doc from 0.31.0 to 0.31.1 by @dependabot in #9290
- Bump @amplitude/analytics-browser from 2.3.8 to 2.4.0 in /apps/block_scout_web/assets by @dependabot in #9285
- Bump @babel/core from 7.23.7 to 7.23.9 in /apps/block_scout_web/assets by @dependabot in #9283
- Bump css-loader from 6.9.1 to 6.10.0 in /apps/block_scout_web/assets by @dependabot in #9337
- Bump sass-loader from 14.0.0 to 14.1.0 in /apps/block_scout_web/assets by @dependabot in #9334
- Bump webpack from 5.89.0 to 5.90.1 in /apps/block_scout_web/assets by @dependabot in #9339
- Include null gas price txs in fee calculations by @sl1depengwyn in #9317
- Define BRIDGED_TOKENS_ENABLED env in Dockerfile by @vbaranov in #9361
- Fix dialyzer and add TypedEctoSchema by @sl1depengwyn in #8851
- Add base and priority fee to gas oracle response by @sl1depengwyn in #9202
- Fix manual uncle reward calculation by @sl1depengwyn in #9315
- Bump credo from 1.7.3 to 1.7.4 by @dependabot in #9383
- Bump postcss from 8.4.33 to 8.4.35 in /apps/block_scout_web/assets by @dependabot in #9384
- Bump mixpanel-browser from 2.48.1 to 2.49.0 in /apps/block_scout_web/assets by @dependabot in #9385
- Fix read contract bug by @nikitosing in #9300
- Process integer balance in genesis.json by @vbaranov in #9346
- Support EIP4844 Blobs indexing and API by @k1rill-fedoseev in #9168
- Parse contract codes and balances from custom genesis.json by @vbaranov in #9349
- Add fallback effective gas price calculation by @nikitosing in #9305
- Noves.fi: add proxy endpoint for describeTxs endpoint by @vbaranov in #9351
- Remove ERC-1155 logs params from coin balances params by @Qwerty5Uiop in #9356
- Filter non-traceable transactions for zetachain by @Qwerty5Uiop in #9379
- Fix typos by @cristiantroy in #9181
- Add license_type field to smart_contracts table; Forward license_type… by @nikitosing in #9282
- Optimize addresses preloads in account abstraction proxy by @k1rill-fedoseev in #9377
- Filter empty values before token update by @vbaranov in #9371
- Fix using of startblock/endblock in API v1 list endpoints: txlist, txlistinternal, tokentx by @vbaranov in #9364
- chore: bump actions/cache to v4 by @k1rill-fedoseev in #9393
- More-Minimal Proxy support by @vbaranov in #9396
- Move missing ranges sanitize to a separate background migration by @Qwerty5Uiop in #9360
- Polygon zkEVM Bridge indexer and API v2 extension by @varasev in #9098
- Improve marking of failed internal transactions by @k1rill-fedoseev in #9306
- Output user address as an object in API v2 for Shibarium by @varasev in #9389
- Fix outdated deps cache in CI by @k1rill-fedoseev in #9398
- Create Indexer.Fetcher.TokenInstance.{SanitizeERC721, SanitizeERC1155… by @nikitosing in #9226
- Retry ERC-721 token instance metadata fetch from baseURI + tokenID by @vbaranov in #9257
- Filter out Vyper contracts in Solidityscan API endpoint by @vbaranov in #9387
- Null round handling by @Qwerty5Uiop in #9403
- Bump @amplitude/analytics-browser from 2.4.0 to 2.4.1 in /apps/block_scout_web/assets by @dependabot in #9423
- Bump core-js from 3.35.1 to 3.36.0 in /apps/block_scout_web/assets by @dependabot in #9422
- Bump webpack from 5.90.1 to 5.90.3 in /apps/block_scout_web/assets by @dependabot in #9424
- Bump sass-loader from 14.1.0 to 14.1.1 in /apps/block_scout_web/assets by @dependabot in #9425
- Bump sass from 1.70.0 to 1.71.0 in /apps/block_scout_web/assets by @dependabot in #9421
- Eliminate incorrect token transfers with empty token_ids by @Qwerty5Uiop in #9401
- Add Enum.uniq before sanitizing token transfers by @Qwerty5Uiop in #9437
- Token transfers denormalization by @Qwerty5Uiop in #9340
- Fetch coin balances in async mode in realtime fetcher by @Qwerty5Uiop in #9182
- Solidityscan integration enhancements by @vbaranov in #9439
- Add
debug_traceBlockByNumber
tomethod_to_url
by @sl1depengwyn in #9440 - Change bens address search to get_address func by @sevenzing in #9441
- Fix quick search bug by @nikitosing in #9444
- Filecoin JSON RPC variant by @vbaranov in #9386
New Contributors
- @cristiantroy made their first contribution in #9181
Full Changelog: v6.1.0-beta...v6.2.0-beta