Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
New chain types polygon_zkevm
and suave
have been added.
/api/v2/import/token-info
stability_fee
for CHAIN_TYPE=stabilityis_verified
for /addresses
and /smart-contracts
wrapped
field to requestRecord
for SuaveVariable | Required | Description | Default | Version |
---|---|---|---|---|
ETHEREUM_JSONRPC_ARCHIVE_BALANCES_WINDOW |
Max block number gap from latest for which balances requests can be processed when ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES env var is set to true . Implemented in #8673 |
200 | v5.3.1+ | |
INDEXER_ZKEVM_BATCHES_ENABLED |
Enables Polygon zkEVM batches fetcher. Implemented in #7584. | false |
v5.3.1+ | |
INDEXER_ZKEVM_BATCHES_CHUNK_SIZE |
The number of Polygon zkEVM batches in one chunk when reading them from RPC. Implemented in #7584. | 20 | v5.3.1+ | |
INDEXER_ZKEVM_BATCHES_RECHECK_INTERVAL |
The latest batch rechecking interval, seconds. Implemented in #7584. | 60 | v5.3.1+ | |
ACCOUNT_PRIVATE_TAGS_LIMIT |
Limit for address & transaction tags. Implemented in #8528. | 2000 | v5.3.1+ | |
ACCOUNT_WATCHLIST_ADDRESSES_LIMIT |
Limit for watch list addresses. Implemented in #8528. | 15 | v5.3.1+ |
wrapped
field to requestRecord
for Suave by @varasev in https://github.com/blockscout/blockscout/pull/8715
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.3.0-beta...v5.3.1-beta
This release contains introduction of CHAIN_TYPE
env variable. Based on the value in it, different logic of fetchers, API, views, DB schema extensions are applied to the explorer. Currently supported values are:
ethereum
- default valuepolygon_edge
- chains based on Polygon Edge nodesrsk
- for Rootstock (rskj node)More values will be supported in the new releases.
Blockscout allows to display TVL of the chain now thanks to the integration with DefiLlama API.
This update also contains changing of DB schema and filling of the data for future feature of disaplying NFT tokens instances on the owner addresses.
Now you can connect Blockscout to your own IPFS gateway endpoint via IPFS_GATEWAY_URL
for fetching token instances metadata.
As usual, the release contains many improvements and fixes on the indexer side and API.
/tabs-counters
performance/api/v2/bytecodes/sources:search-all
of eth_bytecode_db
owner_address_hash
to the token_instances
block_type
to search results:error.types/0 is undefined
warningnil
"structLogs"
Variable | Required | Description | Default | Version | Need recompile |
---|---|---|---|---|---|
CHAIN_TYPE |
Specifies the model of data, enables fetchers, specific to the chain. Available values are ethereum , polygon_edge and rsk . |
ethereum |
v5.3.0+ | ✅ | |
TOKEN_INSTANCE_OWNER_MIGRATION_CONCURRENCY |
Concurrency of new fields backfiller implemented in #8386 | 5 | v5.3.0+ | ||
TOKEN_INSTANCE_OWNER_MIGRATION_BATCH_SIZE |
Batch size of new fields backfiller implemented in #8386 | 50 | v5.3.0+ | ||
ADDRESSES_TABS_COUNTERS_TTL |
TTL for cached tabs counters (works only for counters which are < 51, if counter >= 51, then ttl == :infinity). Implemented in #8512 | 10m |
v5.3.0+ | ||
IPFS_GATEWAY_URL |
IPFS gateway url for fetching token instances metadata from IPFS including token instance icon. | https://ipfs.io/ipfs | v5.3.0+ | ||
INDEXER_COIN_BALANCES_FETCHER_INIT_QUERY_LIMIT |
Limit for coin balance fetcher init queries. Implemented in #7996. | 2000 | v5.3.0+ | ||
INDEXER_DISABLE_TOKEN_INSTANCE_LEGACY_SANITIZE_FETCHER |
If true , legacy sanitize token instance fetcher doesn't run. Appeared in #8386 |
false |
v5.3.0+ | ||
INDEXER_TOKEN_INSTANCE_LEGACY_SANITIZE_CONCURRENCY |
Concurrency for legacy sanitize token instance fetcher doesn't run. Appeared in #8386 |
10 | v5.3.0+ | ||
INDEXER_TOKEN_INSTANCE_LEGACY_SANITIZE_BATCH_SIZE |
Batch size for legacy sanitize token instance fetcher doesn't run. Appeared in #8386 |
10 | v5.3.0+ | ||
INDEXER_EMPTY_BLOCKS_SANITIZER_INTERVAL |
Interval for empty block sanitizer. Implemented in #8658 | 5m |
v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L1_RPC |
The RPC endpoint for L1 used to fetch deposit or withdrawal events. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L1_EXIT_HELPER_CONTRACT |
The address of ExitHelper contract on L1 (root chain) used to fetch withdrawal exits. Required for withdrawal events indexing. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L1_WITHDRAWALS_START_BLOCK |
The number of start block on L1 (root chain) to index withdrawal exits. If the table of withdrawal exits is not empty, the process will continue indexing from the last indexed message. If empty or not defined, the withdrawal exits are not indexed. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L1_STATE_SENDER_CONTRACT |
The address of StateSender contract on L1 (root chain) used to fetch deposits. Required for deposit events indexing. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L1_DEPOSITS_START_BLOCK |
The number of start block on L1 (root chain) to index deposits. If the table of deposits is not empty, the process will continue indexing from the last indexed message. If empty or not defined, the deposits are not indexed. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L2_STATE_SENDER_CONTRACT |
The address of L2StateSender contract on L2 (child chain) used to fetch withdrawals. Required for withdrawal events indexing. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L2_WITHDRAWALS_START_BLOCK |
The number of start block on L2 (child chain) to index withdrawals. If the table of withdrawals is not empty, the process will fill gaps and then continue indexing from the last indexed message. If empty or not defined, the withdrawals are not indexed. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L2_STATE_RECEIVER_CONTRACT |
The address of StateReceiver contract on L2 (child chain) used to fetch deposit executes. Required for deposit events indexing. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_L2_DEPOSITS_START_BLOCK |
The number of start block on L2 (child chain) to index deposit executes. If the table of deposit executes is not empty, the process will fill gaps and then continue indexing from the last indexed message. If empty or not defined, the deposit executes are not indexed. Implemented in #8180. | (empty) | v5.3.0+ | ||
INDEXER_POLYGON_EDGE_ETH_GET_LOGS_RANGE_SIZE |
Block range size for eth_getLogs request in Polygon Edge indexer modules. Implemented in #8180. | (empty) | v5.3.0+ | ||
ROOTSTOCK_REMASC_ADDRESS |
The address hash of remasc address on Rootstock chain. Implemented in #8542 | v5.3.0+ | |||
ROOTSTOCK_BRIDGE_ADDRESS |
The address hash of bridge address on Rootstock chain. Implemented in #8542 | v5.3.0+ | |||
EXCHANGE_RATES_TVL_SOURCE |
This environment variable is used to set source for TVL fetching. Available value is defillama . |
(empty) | v5.3.0+ | ||
EXCHANGE_RATES_DEFILLAMA_COIN_ID |
DefiLlama coin id. | (empty) | v5.3.0+ | ||
MICROSERVICE_ETH_BYTECODE_DB_MAX_LOOKUPS_CONCURRENCY |
Maximum amount of concurrent requests for fetching smart contract's sources in Eth Bytecode DB. Implemented in #8472 | 10 | v5.3.0+ |
678a376
to 51dfe7f
by @dependabot in https://github.com/blockscout/blockscout/pull/8547
nil
"structLogs"
by @sl1depengwyn in https://github.com/blockscout/blockscout/pull/8544
/tabs-counters
performance by @nikitosing in https://github.com/blockscout/blockscout/pull/8512
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.3-beta...v5.3.0-beta
⚠️ Note: EXCHANGE_RATES_SOURCE
environment variable renamed to EXCHANGE_RATES_PRICE_SOURCE
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.2-beta...v5.2.3-beta
This release contains a bunch of efforts to improve fetching of token balances in on-demand fetcher as well as various API v2 improvements and starting the work of extending of GraphQL API scheme.
/api/v2/search/quick
method/api/v2/addresses/:address_hash/tabs-counters
endpointis_verified_via_admin_panel
property to tokens table/api/v2/search/quick
method by @nikitosing in https://github.com/blockscout/blockscout/pull/8218
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.1-beta...v5.2.2-beta
The current release is mostly focused to solve different edge cases bottlenecks for the main indexer (realtime/catchup) and contains various fixes for API v2 as well as speedup of CSV export.
🆕 environment variables introduced:
EXCHANGE_RATES_COINMARKETCAP_COIN_ID
- CoinMarketCap exact coin id in order to fetch market cap, when CMC source is used.ETHEREUM_JSONRPC_HTTP_HEADERS
- Custom headers are now supported for JSON RPC endpoint in form of json object, example: {"x-api-key": "nbvkhadvnbkdfav", "x-id": "ndjkfvndfkjv"}
.⚠️ This release contains creation of index on blocks
table for the sake of speedup CSV export. Please expect a relatively short downtime.
⚠️ Starting from this release there is a limit of 10,000 rows for CSV export is introduced. This is the maximum number of rows that can be exported at once.
🎉 ### Features
🛠️ ### Fixes
🧹 ### Chore
MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS
env variable/api/v1/health/liveness
and /api/v1/health/readiness
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.2.0-beta...v5.2.1-beta
⚠️ Note1: CONTRACT_VERIFICATION_ALLOWED_EVM_VERSIONS
environment variable renamed to CONTRACT_VERIFICATION_ALLOWED_SOLIDITY_EVM_VERSIONS
⚠️ Note2: This release contains several DB migrations, which, depending on how huge the current DB is, will take some time (several seconds up to ~6 hours for ETH Mainnet) to finish them. Please expect an explorer to be working without indexing in real time during that period.
🎉 ### Features
🛠️ ### Fixes
🧹 ### Chore
20d1318
to 678a376
by @dependabot in https://github.com/blockscout/blockscout/pull/7548
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.1.5-beta...v5.2.0-beta
⚠️ Note1: a bug in migration 20211029085117_drop_block_rewards_block_hash_partial_index.exs
has been discovered. If you have a partial index on column block_hash
with where
clause where: "address_type='validator'"
in block_rewards
table, we recommend executing this query:
DELETE FROM schema_migrations WHERE version='20211029085117';
in Blockscout DB before running DB migrations and launching Blockscout. Then, this migration will be re-run.
⚠️ Note2: some environment variables are renamed
DISABLE_READ_API -> API_V1_READ_METHODS_DISABLED DISABLE_WRITE_API -> API_V1_WRITE_METHODS_DISABLED ACCOUNT_AUTHENTICATE_ENDPOINT_API_KEY -> API_SENSITIVE_ENDPOINTS_KEY
🎉 ### Features
🛠️ ### Fixes
🧹 ### Chore
.exs
and .eex
checking in cspell.exs
and .eex
checking in cspell by @sl1depengwyn in https://github.com/blockscout/blockscout/pull/7435
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.1.4-beta...v5.1.5-beta
TOKEN_EXCHANGE_RATE_REFETCH_INTERVAL
Token instance fetcher divided in to three fetchers (realtime, retry, sanitize). Thus, env vars:
replaced with:
TOKEN_EXCHANGE_RATE_REFETCH_INTERVAL
by @sl1depengwyn in https://github.com/blockscout/blockscout/pull/7270
latest
with release only by @vbaranov in https://github.com/blockscout/blockscout/pull/7328
Full Changelog: https://github.com/blockscout/blockscout/compare/v5.1.3-beta...v5.1.4-beta
Some environment variables changed their namings:
MICROSERVICE_
prefix for env vars related to microservicesRUST_VERIFICATION_SERVICE_URL -> MICROSERVICE_SC_VERIFIER_URL ENABLE_RUST_VERIFICATION_SERVICE -> MICROSERVICE_SC_VERIFIER_ENABLED VISUALIZE_SOL2UML_SERVICE_URL -> MICROSERVICE_VISUALIZE_SOL2UML_URL VISUALIZE_SOL2UML_ENABLED -> MICROSERVICE_VISUALIZE_SOL2UML_ENABLED SIG_PROVIDER_SERVICE_URL -> MICROSERVICE_SIG_PROVIDER_URL SIG_PROVIDER_ENABLED -> MICROSERVICE_SIG_PROVIDER_ENABLED
ENABLE_
prefix to _ENABLED
suffix for consistency:ENABLE_SOURCIFY_INTEGRATION -> SOURCIFY_INTEGRATION_ENABLED CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER -> CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED FOOTER_ENABLE_FORUM_LINK -> FOOTER_FORUM_LINK_ENABLED ENABLE_TXS_STATS -> TXS_STATS_ENABLED
FOOTER_
prefixLINK_TO_OTHER_EXPLORERS -> FOOTER_LINK_TO_OTHER_EXPLORERS OTHER_EXPLORERS -> FOOTER_OTHER_EXPLORERS LOGO_FOOTER -> FOOTER_LOGO
EIP_1559_ELASTICITY_MULTIPLIER
env variable/tokens/{address_hash}/instances/{token_id}/holders
and other changes/smart-contracts/counters
; And some refactoringDATABASE_URL