github blockscout/blockscout v5.3.0-beta
BlockScout v5.3.0-beta

latest releases: v10.2.6, v10.2.5, v10.2.4...
2 years ago

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 value
  • polygon_edge - chains based on Polygon Edge nodes
  • rsk - 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.

The full list of the changes

Features πŸŽ‰

  • #8512 - Add caching and improve /tabs-counters performance
  • #8472 - Integrate /api/v2/bytecodes/sources:search-all of eth_bytecode_db
  • #8589 - DefiLlama TVL source
  • #8583 - Add stats widget for rootstock
  • #8542 - Add tracing for rootstock
  • #8561, #8564 - Get historical market cap data from CoinGecko
  • #8543 - Fix polygon tracer
  • #8386 - Add owner_address_hash to the token_instances
  • #8530 - Add block_type to search results
  • #8180 - Deposits and Withdrawals for Polygon Edge
  • #7996 - Add CoinBalance fetcher init query limit
  • #8658 - Remove block consensus on import fail
  • #8575 - Filter token transfers on coin balances updates

Fixes πŸ› οΈ

  • #8661 - arm64-compatible docker image
  • #8649 - Set max 30sec JSON RPC poll frequency for realtime fetcher when WS is disabled
  • #8614 - Disable market history cataloger fetcher when exchange rates are disabled
  • #8613 - Refactor parsing of FIRST_BLOCK, LAST_BLOCK, TRACE_FIRST_BLOCK, TRACE_LAST_BLOCK env variables
  • #8572 - Refactor docker-compose config
  • #8552 - Add CHAIN_TYPE build arg to Dockerfile
  • #8550 - Sanitize paging params
  • #8515 - Fix :error.types/0 is undefined warning
  • #7959 - Fix empty batch transfers handling
  • #8513 - Don't override transaction status
  • #8620 - Fix the display of icons
  • #8594 - Fix TokenBalance fetcher retry logic
  • #8544 - Fix nil "structLogs"

Chore 🧹

  • #8584 - Store chain together with cookie hash in Redis
  • #8579, #8590 - IPFS gateway URL runtime env variable
  • #8573 - Update Nginx to proxy all frontend paths
  • #8290 - Update Chromedriver version
  • #8536, #8537, #8540, #8557 - New issue template
  • #8529 - Move PolygonEdge-related migration to the corresponding ecto repository
  • #8504 - Deploy new UI through Makefile
  • #8501 - Conceal secondary ports in docker compose setup
Dependencies version bumps - [#8508](https://github.com//pull/8508) - https://github.com//pull/8508 - [#8509](https://github.com//pull/8509) - https://github.com//pull/8509 - [#8511](https://github.com//pull/8511) - https://github.com//pull/8511 - [#8532](https://github.com//pull/8532) - https://github.com//pull/8532 - [#8533](https://github.com//pull/8533) - https://github.com//pull/8533 - [#8531](https://github.com//pull/8531) - https://github.com//pull/8531 - [#8534](https://github.com//pull/8534) - https://github.com//pull/8534 - [#8546](https://github.com//pull/8546) - https://github.com//pull/8546 - [#8553](https://github.com//pull/8553) - https://github.com//pull/8553 - [#8554](https://github.com//pull/8554) - https://github.com//pull/8554 - [#8547](https://github.com//pull/8547) - https://github.com//pull/8547 - [#8567](https://github.com//pull/8567) - https://github.com//pull/8567 - [#8566](https://github.com//pull/8566) - https://github.com//pull/8566 - [#7575](https://github.com//pull/7575) - https://github.com//pull/7575 - [#8569](https://github.com//pull/8569) - https://github.com//pull/8569 - [#8570](https://github.com//pull/8570) - https://github.com//pull/8570 - [#8581](https://github.com//pull/8581) - https://github.com//pull/8581 - [#8607](https://github.com//pull/8607) - https://github.com//pull/8607 - [#8606](https://github.com//pull/8606) - https://github.com//pull/8606 - [#8605](https://github.com//pull/8605) - https://github.com//pull/8605 - [#8608](https://github.com//pull/8608) - https://github.com//pull/8608 - [#8510](https://github.com//pull/8510) - https://github.com//pull/8510 - [#8637](https://github.com//pull/8637) - https://github.com//pull/8637 - [#8639](https://github.com//pull/8639) - https://github.com//pull/8639 - [#8643](https://github.com//pull/8643) - https://github.com//pull/8643 - [#8641](https://github.com//pull/8641) - https://github.com//pull/8641 - [#8646](https://github.com//pull/8646) - https://github.com//pull/8646 - [#8636](https://github.com//pull/8636) - https://github.com//pull/8636 - [#8645](https://github.com//pull/8645) - https://github.com//pull/8645 - [#8638](https://github.com//pull/8638) - https://github.com//pull/8638 - [#8640](https://github.com//pull/8640) - https://github.com//pull/8640

The full list of new env variables

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+

What's Changed

New Contributors

Full Changelog: v5.2.3-beta...v5.3.0-beta

Don't miss a new blockscout release

NewReleases is sending notifications on new releases.