github blockscout/blockscout v7.0.0
BlockScout v7.0.0

latest releases: v10.2.6, v10.2.5, v10.2.4...
14 months ago

💡 New API endpoints

  • /api/v2/internal-transactions - (all chains) the list of internal transactions with pagination.
  • /api/v2/proxy/account-abstraction/status - (all chains) get user operations indexing status.
  • /api/v2/transactions/:transaction_hash/external-transactions - (Neon chains) list of linked Solana transactions to given EVM transaction.
  • /metrics endpoint appeared on indexer pod (previously existed only at API pod).

📌 Breaking changes

  • /api/v1/health, /api/v1/health/liveness, /api/v1/health/readiness have been removed in favour of /api/health/** endpoints.
  • /api/v2/addresses/:address_hash returns 200 instead 404 for valid hashes which are not in the DB.
  • /api/v2/tokens/:token_hash/instances owner’s ens_domain_name property now preloads ens domain name.
  • transaction hash and address hash are not mandatory in txlistinternal API v1 endpoint starting from 7.0.0.
  • All env variables related to DB migration processes now have MIGRATION_ prefix.

📌 Important note for consumers of API v2 proxy endpoints of 3dparty services (future deprecation of pathes)

In the release 7.0.0, /api/v2/proxy/3dparty/** path combined all 3d party proxies:

  • /api/v2/proxy/3dparty/noves-fi
  • /api/v2/proxy/3dparty/xname
  • /api/v2/proxy/3dparty/solidityscan
    starting from the next release after 7.0.0 old endpoints will be removed:
  • /api/v2/proxy/noves-fi (is planned to be removed in 7.1.0)
  • /api/v2/proxy/xname (is planned to be removed in 7.1.0)
  • /api/v2/smart-contracts/:address_hash/solidityscan-report (is planned to be removed in 7.1.0)

💡 New environment variables

New environment variables list
Variable Description Parameters
INDEXER_DISABLE_TOKEN_INSTANCE_REFETCH_FETCHER If true, the Token instance fetcher, which re-fetches NFT collections marked to refetch, doesn't run. Implemented in #10263.

Version: v7.0.0+
Default: false
Applications: Indexer

INDEXER_REALTIME_FETCHER_POLLING_PERIOD Period between polling the latest block in realtime fetcher. Time format. Implemented in #11783

Version: v7.0.0+
Default: (empty)
Applications: Indexer

MIGRATION_SHRINK_INTERNAL_TRANSACTIONS_BATCH_SIZE Batch size of the shrink internal transactions migration. Note: before release "v6.8.0", the default value was 1000. Implemented in #10567, changed default value in #10689. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_SHRINK_INTERNAL_TRANSACTIONS_CONCURRENCY Concurrency of the shrink internal transactions migration. Implemented in #10567. Renamed in #11798.

Version: v7.0.0+
Default: 10
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_OWNER_CONCURRENCY Concurrency of new fields backfiller implemented in #8386. Renamed in #11798.

Version: v7.0.0+
Default: 5
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_OWNER_BATCH_SIZE Batch size of new fields backfiller implemented in #8386. Renamed in #11798.

Version: v7.0.0+
Default: 50
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_OWNER_ENABLED Enable of backfiller from #8386 implemented in #8752. Renamed in #11798.

Version: v7.0.0+
Default: false
Applications: API, Indexer

MIGRATION_TRANSACTIONS_TABLE_DENORMALIZATION_BATCH_SIZE Number of transactions to denormalize (add block timestamp and consensus) in the batch. Renamed in #11798.

Version: v7.0.0+
Default: 500
Applications: API, Indexer

MIGRATION_TRANSACTIONS_TABLE_DENORMALIZATION_CONCURRENCY Number of parallel denormalization transaction batches processing. Renamed in #11798.

Version: v7.0.0+
Default: 10
Applications: API, Indexer

MIGRATION_TOKEN_TRANSFER_TOKEN_TYPE_BATCH_SIZE Number of token transfers to denormalize (add token_type) in the batch. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_TOKEN_TRANSFER_TOKEN_TYPE_CONCURRENCY Number of parallel denormalization token transfer batches processing. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_NFT_BATCH_SIZE Number of token transfers to sanitize in the batch. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_NFT_CONCURRENCY Number of parallel sanitizing token transfer batches processing. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_NFT_TIMEOUT Timeout between sanitizing token transfer batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 0
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_WETH_BATCH_SIZE Number of token transfers to sanitize in the batch. Implemented in #10134. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_WETH_CONCURRENCY Number of parallel sanitizing token transfer batches processing. Implemented in #10134. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_WETH_TIMEOUT Timeout between sanitizing token transfer batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 0
Applications: API, Indexer

MIGRATION_REINDEX_INTERNAL_TRANSACTIONS_STATUS_BATCH_SIZE Number of internal transactions to reindex in the batch. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_REINDEX_INTERNAL_TRANSACTIONS_STATUS_CONCURRENCY Number of parallel reindexing internal transaction batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_REINDEX_INTERNAL_TRANSACTIONS_STATUS_TIMEOUT Timeout between reindexing internal transaction batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 0
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_DISABLED Concurrency of the sanitize verified addresses migration. Implemented in #11727.

Version: v7.0.0+
Default: false
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_BATCH_SIZE Concurrency of the sanitize verified addresses migration. Implemented in #11727.

Version: v7.0.0+
Default: 500
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_CONCURRENCY Concurrency of the sanitize verified addresses migration. Implemented in #11727.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_TIMEOUT Timeout between batches processing in sanitize verified addresses migration. Time format. Implemented in #11727.

Version: v7.0.0+
Default: 0s
Applications: API, Indexer

MIGRATION_HEAVY_INDEX_OPERATIONS_CHECK_INTERVAL Interval between status checks of heavy db operation like index creation or dropping. Time format. Implemented in #11604

Version: v7.0.0+
Default: 10m
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_ERC_1155_SANITIZE_CONCURRENCY Concurrency for erc-1155-sanitize token instance fetcher. Implemented in #9226. Default value and name changed in #11543

Version: v7.0.0+
Default: 1
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_721_SANITIZE_CONCURRENCY Concurrency for erc-721-sanitize token instance fetcher. Implemented in #9226. Name changed in #11543

Version: v7.0.0+
Default: 2
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_1155_SANITIZE_BATCH_SIZE Batch size for erc-1155-sanitize token instance fetcher. Implemented in #9226. Default value and name changed in #11543

Version: v7.0.0+
Default: 500
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_721_SANITIZE_BATCH_SIZE Batch size for erc-721-sanitize token instance fetcher. Implemented in #9226. Default value and name changed in #11543

Version: v7.0.0+
Default: 50
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_721_SANITIZE_TOKENS_BATCH_SIZE Tokens batch size for erc-721-sanitize token instance fetcher. Implemented in #9226. Name changed in #11543

Version: v7.0.0+
Default: 100
Applications: Indexer

CONTRACT_ENABLE_PARTIAL_REVERIFICATION Toggle for enabling re-verification from partial to partial match. Implemented in #11737

Version: v7.0.0+
Default: false
Applications: API

INDEXER_ARBITRUM_DATA_BACKFILL_ENABLED Enables a process to backfill the blocks and transaction with Arbitrum specific data. This should only be enabled for Arbitrum chains where blocks were indexed before upgrading to a version that includes Arbitrum-specific data indexing features. Implemented in #11163.

Version: v7.0.0+
Default: false
Applications: Indexer

INDEXER_ARBITRUM_DATA_BACKFILL_UNINDEXED_BLOCKS_RECHECK_INTERVAL The number of L2 blocks to look back in one iteration of the backfill process. Implemented in #11163.

Version: v7.0.0+
Default: 120s
Applications: Indexer

INDEXER_ARBITRUM_DATA_BACKFILL_BLOCKS_DEPTH Interval to retry the backfill task for unindexed blocks. Implemented in #11163.

Version: v7.0.0+
Default: 500
Applications: Indexer

MIGRATION_ARBITRUM_DA_RECORDS_NORMALIZATION_BATCH_SIZE Specifies the number of address records processed per batch during normalization of batch-to-blob associations by moving them from arbitrum_da_multi_purpose to a dedicated arbitrum_batches_to_da_blobs table. Implemented in #11798.

Version: v7.0.0+
Default: 500
Applications: Indexer

MIGRATION_ARBITRUM_DA_RECORDS_NORMALIZATION_CONCURRENCY Specifies the number of concurrent processes used during normalization of batch-to-blob associations by moving them from arbitrum_da_multi_purpose to a dedicated arbitrum_batches_to_da_blobs table. Implemented in #11798.

Version: v7.0.0+
Default: 1
Applications: Indexer

FILFOX_API_BASE_URL Filfox API base URL. Implemented in #11412.

Version: v7.0.0+
Default: https://filfox.info/api/v1
Applications: Indexer

MIGRATION_FILECOIN_PENDING_ADDRESS_OPERATIONS_BATCH_SIZE Specifies the number of address records processed per batch during the backfill of pending address fetch operations. Implemented in #11798.

Version: v7.0.0+
Default: 100
Applications: Indexer

MIGRATION_FILECOIN_PENDING_ADDRESS_OPERATIONS_CONCURRENCY Specifies the number of concurrent processes used during the backfill of pending address fetch operations. Implemented in #11798.

Version: v7.0.0+
Default: 1
Applications: Indexer

MICROSERVICE_METADATA_PROXY_REQUESTS_TIMEOUT Timeout for request forwarding from /api/v2/proxy/metadata/. Implemented in #11656

Version: v7.0.0+
Default: 30s
Applications: API

⛔ Deprecated environment variables

Deprecated environment variables list
Variable Required Description Default Version Need recompile Deprecated in Version
CHECKSUM_FUNCTION Defines checksum address function. 2 available values: rsk, eth eth v2.0.1+ v7.0.0
TOKEN_ID_MIGRATION_FIRST_BLOCK Bottom block for token id migration. Implemented in #6391 0 v5.0.0+ v7.0.0
TOKEN_ID_MIGRATION_CONCURRENCY Number of workers performing the token id migration. Implemented in #6391 1 v5.0.0+ v7.0.0
TOKEN_ID_MIGRATION_BATCH_SIZE Interval of token transfer block numbers processed by a token id migration worker at a time. Implemented in #6391 500 v5.0.0+ v7.0.0
SHRINK_INTERNAL_TRANSACTIONS_BATCH_SIZE Batch size of the shrink internal transactions migration. Note: before release "v6.8.0", the default value was 1000. Implemented in #10567, changed default value in #10689. 100 v6.8.0+ v7.0.0
SHRINK_INTERNAL_TRANSACTIONS_CONCURRENCY Concurrency of the shrink internal transactions migration. Implemented in #10567. 10 v6.8.0+ v7.0.0
TOKEN_INSTANCE_OWNER_MIGRATION_CONCURRENCY Concurrency of new fields backfiller implemented in #8386 5 v5.3.0+ v7.0.0
TOKEN_INSTANCE_OWNER_MIGRATION_BATCH_SIZE Batch size of new fields backfiller implemented in #8386 50 v5.3.0+ v7.0.0
TOKEN_INSTANCE_OWNER_MIGRATION_ENABLED Enable of backfiller from #8386 implemented in #8752 false v5.3.2+ v7.0.0
DENORMALIZATION_MIGRATION_BATCH_SIZE Number of transactions to denormalize (add block timestamp and consensus) in the batch. 500 v6.0.0+ v7.0.0
DENORMALIZATION_MIGRATION_CONCURRENCY Number of parallel denormalization transaction batches processing. 10 v6.0.0+ v7.0.0
TOKEN_TRANSFER_TOKEN_TYPE_MIGRATION_BATCH_SIZE Number of token transfers to denormalize (add token_type) in the batch. 100 v6.3.0+ v7.0.0
TOKEN_TRANSFER_TOKEN_TYPE_MIGRATION_CONCURRENCY Number of parallel denormalization token transfer batches processing. 1 v6.3.0+ v7.0.0
SANITIZE_INCORRECT_NFT_BATCH_SIZE Number of token transfers to sanitize in the batch. 100 v6.3.0+ v7.0.0
SANITIZE_INCORRECT_NFT_CONCURRENCY Number of parallel sanitizing token transfer batches processing. 1 v6.3.0+ v7.0.0
SANITIZE_INCORRECT_NFT_TIMEOUT Timeout between sanitizing token transfer batches processing. Implemented in #11358 0 v6.10.0+ v7.0.0
SANITIZE_INCORRECT_WETH_BATCH_SIZE Number of token transfers to sanitize in the batch. Implemented in #10134 100 v6.8.0+ v7.0.0
SANITIZE_INCORRECT_WETH_CONCURRENCY Number of parallel sanitizing token transfer batches processing. Implemented in #10134 1 v6.8.0+ v7.0.0
SANITIZE_INCORRECT_WETH_TIMEOUT Timeout between sanitizing token transfer batches processing. Implemented in #11358 0 v6.10.0+ v7.0.0
REINDEX_INTERNAL_TRANSACTIONS_STATUS_BATCH_SIZE Number of internal transactions to reindex in the batch. Implemented in #11358 100 v6.10.0+ v7.0.0
REINDEX_INTERNAL_TRANSACTIONS_STATUS_CONCURRENCY Number of parallel reindexing internal transaction batches processing. Implemented in #11358 1 v6.10.0+ v7.0.0
REINDEX_INTERNAL_TRANSACTIONS_STATUS_TIMEOUT Timeout between reindexing internal transaction batches processing. Implemented in #11358 0 v6.10.0+ v7.0.0
FILECOIN_PENDING_ADDRESS_OPERATIONS_MIGRATION_BATCH_SIZE Specifies the number of address records processed per batch during the backfill of pending address fetch operations. Implemented in #10468. 100 v6.9.0+ v7.0.0
FILECOIN_PENDING_ADDRESS_OPERATIONS_MIGRATION_CONCURRENCY Specifies the number of concurrent processes used during the backfill of pending address fetch operations. Implemented in #10468. 1 v6.9.0+ v7.0.0
ARBITRUM_DA_RECORDS_NORMALIZATION_MIGRATION_BATCH_SIZE Specifies the number of address records processed per batch during normalization of batch-to-blob associations by moving them from arbitrum_da_multi_purpose to a dedicated arbitrum_batches_to_da_blobs table. Implemented in #11798. 500 v6.10.1+ v7.0.0
ARBITRUM_DA_RECORDS_NORMALIZATION_MIGRATION_CONCURRENCY Specifies the number of concurrent processes used during normalization of batch-to-blob associations by moving them from arbitrum_da_multi_purpose to a dedicated arbitrum_batches_to_da_blobs table. Implemented in #11798. 1 v6.10.1+ v7.0.0

🚀 Features

  • NFT collection trigger refetch Admin API endpoint (#10263)
  • Improve NFT sanitizers (#11543)
  • Add new endpoint /api/v2/proxy/account-abstraction/status (#11784)
  • Adds support for NeonVM linked Solana transactions (#11667) (#11736)
  • Enable /api/v2/internal-transactions endpoint (#11792)
  • Integrate metadata tags to search (#11719)
  • Add Arweave NFT image link parsing support (#11565)
  • Disable re-verification from partial to partial match by default (#11737)
  • DB Index heavy operations processing module (#11604)
  • Multiple strategies for filecoin address info fetching (#11412)
  • Preload NFT to token transfers (#11756)
  • Add show_scam_tokens cookie (#11747)
  • Add ENS and metadata preload to /api/v2/tokens/{hash}/instances (#11760)
  • Return 200 on addresses which are not present in DB (#11506)
  • Enhance txlistinternal API v1: make transaction hash and address hash not mandatory (#11717)
  • Backfill for Arbitrum-specific information in blocks and transactions (#11163)
  • Ignore events older than 24 hours in Explorer.Account.Notifier.… (#11654)
  • Add timeout env for proxy metadata requests (#11656)
  • Support filecoin addresses in search (#11499)
  • Return error on verification if address is not a smart contract (#11504)

🐛 Bug Fixes

  • Fix /verified-contracts in old UI (#11854)
  • Cleanup token instance metadata on nft collection metadata refetch (#11848)
  • Allow skip fiat_value in /api/v2/addresses/{hash}/tokens endpoint (#11837)
  • Handle invalid BLACKFORT_VALIDATOR_API_URL (#11812)
  • Fix scam addresses ban in quick search (#11810)
  • Handle case when epoch_distribution is nil (#11807)
  • Strict mode for timestamp to block number conversion (#11633)
  • Don't store ipfs gateway in metadata (#11673)
  • Use 0 as a default for v field in transactions (#11800)
  • Fix tests (#11805)
  • Use safe field access in CurrentTokenBalances.should_update?/2 (#11804)
  • Run Neon tests on neon chain type only (#11802)
  • Sanitize addresses of smart contracts having verified set to false (#11727)
  • Celestia info parsing (#11678)
  • EIP1559ConfigUpdate and Indexer.Block.Realtime.Fetcher fetchers were unstable for L2 reorgs, brotli lib was replaced (#11714)
  • Add traceable blocks filtering to contract code fetcher (#11700)
  • Improve token metadata update process (#11710)
  • Add typeless handler for call_tracer (#11766)
  • Add consensus filter to reindex internal transactions migration (#11732)
  • Add error handling to chunked json rpc decode json (#11734)
  • New methods submitting Arbitrum batches supported (#11731)
  • Don't fail on pending transactions in Explorer.Account.Notifier.Notify (#11724)
  • Add flat value to BoundInterval increase/decrease (#11708)
  • Add missing condition to reindex internal transactions migration (#11709)
  • Add 'yParity' alias (#11642)
  • Fix address coin balances transformer (#11627)
  • Improve session handling in account v2 (#11420)
  • Add /metrics handler for indexer mode (#11672)
  • Ease SQL query for EIP1559ConfigUpdate fetcher (#11659)
  • Fix enoent in Indexer.NFTMediaHandler.Queue (#11653)
  • Add function clause for wrong first trace result format (#11655)
  • Intercept error during DB drop (#11618)
  • Update EmptyBlocksSanitizer logic due to refetch_needed field (#11660)

🚜 Refactor

  • All env variables related to DB migration processes now have "MIGRATION_" prefix (#11798)

⚡ Performance

  • Smart contracts list query (#11733)

⚙️ Miscellaneous Tasks

  • Runtime variable to manage chain spec processing delay (#11874)
  • Replace composite id types usage (#11861)
  • Correct the docker compose command for running an external frontend in README.md (#11838)
  • Update link to the list of chains in README.md (#11829)
  • Create /api/v2/proxy/3dparty/ root path for 3dparty proxy API endpoints (#11808)
  • Mention WC Project ID in common-frontend.env (#11799)
  • Remove api v1 health endpoints (#11573)
  • Add env var for realtime fetcher polling period (#11783)
  • Refactor composite keys filtering (#11473)
  • Upsert token instances by batches (#11685)
  • Fix spelling in some modules (#11791)
  • Update Twitter URL to x.com format (#11761)
  • Reduce the number of queries for token type (#11674)
  • Increase verbosity of error logs in TokenInstanceMetadataRefetch (#11758)
  • Support snake case in ImportController (#11501)
  • Pass chain id to Transaction Interpretation service (#11745)
  • Deprecating of CHECKSUM_FUNCTION variable (#10480)
  • Arbitrum claiming enhancements (#11552)
  • Fix text in the template and update localization files (#11715)
  • Decrease catchup interval (#11626)

What's Changed

New Contributors

Full Changelog: v6.10.1...v7.0.0

Don't miss a new blockscout release

NewReleases is sending notifications on new releases.