π‘New environment variables
Variable | Required | Description | Default | Version | Need recompile |
---|---|---|---|---|---|
DISABLE_API
| If true , endpoint is not started. Set this if you want to use an indexer-only setup. Implemented in #10032
| false
| v6.6.0+ | ||
INDEXER_TOKEN_INSTANCE_RETRY_MAX_REFETCH_INTERVAL
| Maximum interval between attempts to fetch token instance metadata. Time format. Implemented in #10027. | 168h
| v6.6.0+ | ||
INDEXER_TOKEN_INSTANCE_RETRY_EXPONENTIAL_TIMEOUT_BASE
| Base to calculate exponential timeout. Implemented in #10027. | 2
| v6.6.0+ | ||
INDEXER_TOKEN_INSTANCE_RETRY_EXPONENTIAL_TIMEOUT_COEFF
| Coefficient to calculate exponential timeout. Implemented in #10027. | 100
| v6.6.0+ | ||
INDEXER_TOKEN_INSTANCE_REALTIME_RETRY_ENABLED
| If true , realtime token instance fetcher will retry once on 404 and 500 error. Implemented in #10036.
| false
| v6.6.0+ | ||
INDEXER_TOKEN_INSTANCE_REALTIME_RETRY_TIMEOUT
| Timeout for retry set by INDEXER_TOKEN_INSTANCE_REALTIME_RETRY_ENABLED . Time format. Implemented in #10036.
| 5s
| v6.6.0+ | ||
TEST_DATABASE_URL
| Variable to define the endpoint of the Postgres Database that is used during testing. Implemented in #9662. | (empty) | v6.6.0+ | ||
TEST_DATABASE_READ_ONLY_API_URL
| Variable to define the endpoint of the Postgres Database read-only replica that is used during testing. If it is provided, most of the read queries from API v2 and UI would go through this endpoint. Implemented in #9662. | (empty) | v6.6.0+ | ||
MUD_INDEXER_ENABLED
| If true , integration with MUD is enabled. Implemented in #9869
| (empty) | v6.6.0+ | ||
MUD_DATABASE_URL
| MUD indexer DB connection URL. | value from DATABASE_URL
| v6.6.0+ | ||
MUD_POOL_SIZE
| MUD indexer DB pool_size
| 50 | v6.6.0+ |
Deprecated ENV Variables
Variable | Required | Description | Default | Version | Need recompile | Deprecated in Version |
---|---|---|---|---|---|---|
INDEXER_TOKEN_INSTANCE_RETRY_REFETCH_INTERVAL
| Interval between attempts to fetch token instance metadata. Time format. Implemented in #7286. | 24h
| v5.1.4+ | v6.6.0 | ||
INDEXER_INTERNAL_TRANSACTIONS_INDEXING_FINISHED_THRESHOLD
| In the case when the 1st tx in the chain already has internal transactions, If the number of blocks in pending_block_operations is less than the value in this env var, Blockscout will consider, that indexing of internal transactions finished, otherwise, it will consider, that indexing is still taking place and the indexing banner will appear at the top. Implemented in #7576. | 1000 | v5.2.0+ | v6.6.0 |
β Deprecated environment variables
Variable | Required | Description | Default |
---|---|---|---|
INDEXER_TOKEN_INSTANCE_RETRY_REFETCH_INTERVAL
| Interval between attempts to fetch token instance metadata. Time format. Implemented in #7286. | 24h
| |
INDEXER_INTERNAL_TRANSACTIONS_INDEXING_FINISHED_THRESHOLD
| In the case when the 1st tx in the chain already has internal transactions, If the number of blocks in pending_block_operations is less than the value in this env var, Blockscout will consider, that indexing of internal transactions finished, otherwise, it will consider, that indexing is still taking place and the indexing banner will appear at the top. Implemented in #7576. | 1000 |
βοΈ the release contains several foreground migrations:
- altering of
token_instances
table by adding new fieldsrefetch_after
andretries_count
. β οΈ note: this change might block indexing of token instances for some minutes. - adding new tables
proxy_implementations
andmissing_balance_of_tokens
. - migration to fill
proxy_implementations
fromsmart_contracts
table. - altering
smart_contracts
table with adding new fieldis_blueprint
and deletingimplementation_...
fields.
π Features
- Implement fetch_first_trace for Geth (#10087)
- Add optional retry of NFT metadata fetch in Indexer.Fetcher.Tok⦠(#10036)
- Blueprint contracts support (#10058)
- Clone with immutable arguments proxy pattern (#10039)
- Improve retry NFT fetcher (#10027)
- MUD API support (#9869)
- Diamond proxy (EIP-2535) support (#10034)
- Add user ops indexer to docker compose configs (#10010)
- Save smart-contract proxy type in the DB (#10033)
- Detect EIP-1967 proxy pattern on unverified smart-contracts (#9864)
- Omit balanceOf requests for tokens that doesn't support it (#10018)
- Precompiled contracts ABI import (#9899)
- Add ENS category to search result; Add ENS to check-redirect (#9779)
π Bug Fixes
- Fix certified flag in the search API v2 endpoint (#10094)
- Update Vyper inner compilers list to support all compilers (#10091)
- Add healthcheck endpoints for indexer-only setup (#10076)
- Rework revert_reason (#9212)
- Eliminate from_address_hash == #{address_hash} clause for transactions query in case of smart-contracts (#9469)
- Separate indexer setup (#10032)
- Disallow batched queries in GraphQL endpoint (#10050)
- Vyper contracts re-verificaiton (#10053)
- Fix Unknown UID bug at smart-contract verification (#9986)
- Search for long integers (#9651)
- Don't put error to NFT metadata (#9940)
- Handle DB unavailability by PolygonZkevm.TransactionBatch fetcher (#10031)
- Fix WebSocketClient reconnect (#9937)
- Fix incorrect image_url parsing from NFT meta (#9956)
π Refactor
- Improve response of address API to return multiple implementations for Diamond proxy (#10113)
- Refactor get_additional_sources/4 -> get_additional_sources/3 (#10046)
- Test database config (#9662)
βοΈ Miscellaneous Tasks
- Update hackney pool size: add new fetchers accounting (#9941)
- Bump credo from 1.7.5 to 1.7.6 (#10060)
- Bump redix from 1.5.0 to 1.5.1 (#10059)
- Bump ex_doc from 0.32.1 to 0.32.2 (#10061)
- Remove
has_methods
from/addresses
(#10051) - Add support of Blast-specific L1 OP withdrawal events (#10049)
- Update outdated links to ETH JSON RPC Specification in docstrings (#10041)
- Migrate to GET variant of {{metadata_url}}/api/v1/metadata (#9994)
- Bump ex_cldr_numbers from 2.32.4 to 2.33.1 (#9978)
- Bump ex_cldr from 2.38.0 to 2.38.1 (#10009)
- Bump ex_cldr_units from 3.16.5 to 3.17.0 (#9931)
- Bump style-loader in /apps/block_scout_web/assets (#9995)
- Bump mini-css-extract-plugin in /apps/block_scout_web/assets (#9997)
- Bump @babel/preset-env in /apps/block_scout_web/assets (#9999)
- Bump @amplitude/analytics-browser in /apps/block_scout_web/assets (#10001)
- Bump css-loader in /apps/block_scout_web/assets (#10003)
- Bump sweetalert2 in /apps/block_scout_web/assets (#9998)
- Bump mixpanel-browser in /apps/block_scout_web/assets (#10000)
- Bump @fortawesome/fontawesome-free (#10002)
- Bump @babel/core in /apps/block_scout_web/assets (#9996)
- Enhance indexer memory metrics (#9984)
- Bump redix from 1.4.1 to 1.5.0 (#9977)
- Bump floki from 0.36.1 to 0.36.2 (#9979)
- (old UI) Replace old Twitter icon with new 'X' (#9641)
What's Changed
- feat: Add ENS category to search result; Add ENS to check-redirect by @nikitosing in #9779
- chore: Replace old Twitter icon with new 'X' by @Thomas-Cabrit in #9641
- fix: Fix incorrect image_url parsing from NFT meta by @nikitosing in #9956
- fix: Fix WebSocketClient reconnect by @Qwerty5Uiop in #9937
- feat: precompiled contracts ABI import by @akolotov in #9899
- chore: Bump floki from 0.36.1 to 0.36.2 by @dependabot in #9979
- chore: Bump redix from 1.4.1 to 1.5.0 by @dependabot in #9977
- chore: Enhance indexer memory metrics by @Qwerty5Uiop in #9984
- chore: Bump @babel/core from 7.24.3 to 7.24.5 in /apps/block_scout_web/assets by @dependabot in #9996
- chore: Bump @fortawesome/fontawesome-free from 6.5.1 to 6.5.2 in /apps/block_scout_web/assets by @dependabot in #10002
- chore: Bump mixpanel-browser from 2.49.0 to 2.50.0 in /apps/block_scout_web/assets by @dependabot in #10000
- chore: Bump sweetalert2 from 11.10.7 to 11.10.8 in /apps/block_scout_web/assets by @dependabot in #9998
- chore: Bump css-loader from 6.10.0 to 7.1.1 in /apps/block_scout_web/assets by @dependabot in #10003
- chore: Bump @amplitude/analytics-browser from 2.6.1 to 2.7.0 in /apps/block_scout_web/assets by @dependabot in #10001
- chore: Bump @babel/preset-env from 7.24.3 to 7.24.5 in /apps/block_scout_web/assets by @dependabot in #9999
- chore: Bump mini-css-extract-plugin from 2.8.1 to 2.9.0 in /apps/block_scout_web/assets by @dependabot in #9997
- chore: Bump style-loader from 3.3.4 to 4.0.0 in /apps/block_scout_web/assets by @dependabot in #9995
- chore: Bump ex_cldr_units from 3.16.5 to 3.17.0 by @dependabot in #9931
- chore: Bump ex_cldr from 2.38.0 to 2.38.1 by @dependabot in #10009
- chore: Bump ex_cldr_numbers from 2.32.4 to 2.33.1 by @dependabot in #9978
- feat: Omit balanceOf requests for tokens that doesn't support it by @Qwerty5Uiop in #10018
- feat: Detect EIP-1967 proxy pattern on unverified smart-contracts by @vbaranov in #9864
- fix: Handle DB unavailability by PolygonZkevm.TransactionBatch fetcher by @varasev in #10031
- feat: save smart-contract proxy type in the DB by @vbaranov in #10033
- chore: Update stats.yml by @ramazanfatih-karadeniz in #10030
- chore: Migrate to GET variant of {{metadata_url}}/api/v1/metadata by @nikitosing in #9994
- fix: Don't put error to NFT metadata by @nikitosing in #9940
- feat: add user ops indexer to docker compose configs by @k1rill-fedoseev in #10010
- fix: search for long integers by @fedor-ivn in #9651
- chore: Show blocks range in internal transactions fetching error by @vbaranov in #10028
- feat: Diamond proxy (EIP-2535) support by @vbaranov in #10034
- chore: Update outdated links to ETH JSON RPC Specification in docstrings by @kevinam99 in #10041
- feat: MUD API support by @k1rill-fedoseev in #9869
- chore: Add support of Blast-specific L1 OP withdrawal events by @varasev in #10049
- feat: Improve retry NFT fetcher by @nikitosing in #10027
- chore: remove
has_methods
from/addresses
by @fedor-ivn in #10051 - refactor: test database config by @fedor-ivn in #9662
- fix: Fix Unknown UID bug at smart-contract verification by @nikitosing in #9986
- chore: Bump ex_doc from 0.32.1 to 0.32.2 by @dependabot in #10061
- chore: Bump redix from 1.5.0 to 1.5.1 by @dependabot in #10059
- chore: Bump credo from 1.7.5 to 1.7.6 by @dependabot in #10060
- refactor: get_additional_sources/4 -> get_additional_sources/3 by @vbaranov in #10046
- fix: vyper contracts re-verificaiton by @rimrakhimov in #10053
- feat: Clone with immutable arguments proxy pattern by @vbaranov in #10039
- fix: Disallow batched queries in GraphQL endpoint by @vbaranov in #10050
- chore: Update hackney pool size: add new fetchers accounting by @nikitosing in #9941
- feat: Blueprint contracts support by @rimrakhimov in #10058
- fix: Separate indexer setup by @Qwerty5Uiop in #10032
- feat: Add optional retry of NFT metadata fetch in Indexer.Fetcher.Tok⦠by @nikitosing in #10036
- fix: Eliminate from_address_hash == #{address_hash} clause for transactions query in case of smart-contracts by @vbaranov in #9469
- fix: Rework revert_reason by @k1rill-fedoseev in #9212
- fix: Add healthcheck endpoints for indexer-only setup by @Qwerty5Uiop in #10076
- fix: Update Vyper inner compilers list to support all compilers by @rimrakhimov in #10091
- fix: Fix certified flag in the search API v2 endpoint by @vbaranov in #10094
- feat: implement fetch_first_trace for Geth by @k1rill-fedoseev in #10087
- refactor: Improve response of address API to return multiple implementations for Diamond proxy by @vbaranov in #10113
New Contributors
- @Thomas-Cabrit made their first contribution in #9641
- @ramazanfatih-karadeniz made their first contribution in #10030
- @kevinam99 made their first contribution in #10041
Full Changelog: v6.5.0-beta...v6.6.0-beta