Format .md files

pull/5921/head
Viktor Baranov 2 years ago
parent e303d72f67
commit 191bfb1d3c
  1. 31
      CHANGELOG.md
  2. 4
      ISSUE_TEMPLATE.md
  3. 7
      README.md
  4. 23
      apps/block_scout_web/README.md
  5. 1
      apps/ethereum_jsonrpc/README.md
  6. 17
      apps/explorer/README.md
  7. 7
      apps/indexer/README.md
  8. 5
      docker-compose/README.md
  9. 1
      docker-compose/docker-compose.yml

@ -1,11 +1,13 @@
## Current ## Current
### Features ### Features
- [#5968](https://github.com/blockscout/blockscout/pull/5968) - Add call type in the response of txlistinternal API method - [#5968](https://github.com/blockscout/blockscout/pull/5968) - Add call type in the response of txlistinternal API method
- [#5860](https://github.com/blockscout/blockscout/pull/5860) - Integrate rust verifier micro-service ([blockscout-rs/verifier](https://github.com/blockscout/blockscout-rs/tree/main/verification)) - [#5860](https://github.com/blockscout/blockscout/pull/5860) - Integrate rust verifier micro-service ([blockscout-rs/verifier](https://github.com/blockscout/blockscout-rs/tree/main/verification))
- [#6001](https://github.com/blockscout/blockscout/pull/6001) - Add ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES env var that filters requests and query node only if the block quantity is "latest" - [#6001](https://github.com/blockscout/blockscout/pull/6001) - Add ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES env var that filters requests and query node only if the block quantity is "latest"
### Fixes ### Fixes
- [#6017](https://github.com/blockscout/blockscout/pull/6017) - Move "contract interaction" and "Add chain to MM" env vars to runtime - [#6017](https://github.com/blockscout/blockscout/pull/6017) - Move "contract interaction" and "Add chain to MM" env vars to runtime
- [#6012](https://github.com/blockscout/blockscout/pull/6012) - Fix display of estimated addresses counter on the main page - [#6012](https://github.com/blockscout/blockscout/pull/6012) - Fix display of estimated addresses counter on the main page
- [#5978](https://github.com/blockscout/blockscout/pull/5978) - Allow timestamp param in the log of eth_getTransactionReceipt method - [#5978](https://github.com/blockscout/blockscout/pull/5978) - Allow timestamp param in the log of eth_getTransactionReceipt method
@ -24,6 +26,32 @@
- [#5948](https://github.com/blockscout/blockscout/pull/5948) - Fix unexpected messages in `CoinBalanceOnDemand` - [#5948](https://github.com/blockscout/blockscout/pull/5948) - Fix unexpected messages in `CoinBalanceOnDemand`
### Chore ### Chore
- [#5939](https://github.com/blockscout/blockscout/pull/5939) - Bump sweetalert2 from 11.4.26 to 11.4.27 in /apps/block_scout_web/assets
- [#5938](https://github.com/blockscout/blockscout/pull/5938) - Bump xss from 1.0.13 to 1.0.14 in /apps/block_scout_web/assets
- [#5743](https://github.com/blockscout/blockscout/pull/5743) - Fixing tracer not found #5729
- [#5952](https://github.com/blockscout/blockscout/pull/5952) - Bump sweetalert2 from 11.4.27 to 11.4.28 in /apps/block_scout_web/assets
- [#5955](https://github.com/blockscout/blockscout/pull/5955) - Bump ex_doc from 0.28.4 to 0.28.5
- [#5956](https://github.com/blockscout/blockscout/pull/5956) - Bump bcrypt_elixir from 2.3.1 to 3.0.1
- [#5964](https://github.com/blockscout/blockscout/pull/5964) - Bump sweetalert2 from 11.4.28 to 11.4.29 in /apps/block_scout_web/assets
- [#5966](https://github.com/blockscout/blockscout/pull/5966) - Bump sass from 1.54.4 to 1.54.5 in /apps/block_scout_web/assets
- [#5967](https://github.com/blockscout/blockscout/pull/5967) - Bump @babel/core from 7.18.10 to 7.18.13 in /apps/block_scout_web/assets
- [#5973](https://github.com/blockscout/blockscout/pull/5973) - Bump prometheus from 4.9.0 to 4.9.1
- [#5974](https://github.com/blockscout/blockscout/pull/5974) - Bump cldr_utils from 2.19.0 to 2.19.1
- [#5884](https://github.com/blockscout/blockscout/pull/5884) - Bump nimble_csv from 1.1.0 to 1.2.0
- [#5984](https://github.com/blockscout/blockscout/pull/5984) - Bump jest from 28.1.3 to 29.0.0 in /apps/block_scout_web/assets
- [#5983](https://github.com/blockscout/blockscout/pull/5983) - Bump core-js from 3.24.1 to 3.25.0 in /apps/block_scout_web/assets
- [#5981](https://github.com/blockscout/blockscout/pull/5981) - Bump eslint-plugin-promise from 6.0.0 to 6.0.1 in /apps/block_scout_web/assets
- [#5982](https://github.com/blockscout/blockscout/pull/5982) - Bump jest-environment-jsdom from 28.1.3 to 29.0.0 in /apps/block_scout_web/assets
- [#5987](https://github.com/blockscout/blockscout/pull/5987) - Bump jest from 29.0.0 to 29.0.1 in /apps/block_scout_web/assets
- [#5988](https://github.com/blockscout/blockscout/pull/5988) - Bump jest-environment-jsdom from 29.0.0 to 29.0.1 in /apps/block_scout_web/assets
- [#5989](https://github.com/blockscout/blockscout/pull/5989) - Bump jquery from 3.6.0 to 3.6.1 in /apps/block_scout_web/assets
- [#5990](https://github.com/blockscout/blockscout/pull/5990) - Bump web3modal from 1.9.8 to 1.9.9 in /apps/block_scout_web/assets
- [#6004](https://github.com/blockscout/blockscout/pull/6004) - Bump luxon from 3.0.1 to 3.0.3 in /apps/block_scout_web/assets
- [#6005](https://github.com/blockscout/blockscout/pull/6005) - Bump ex_cldr from 2.33.1 to 2.33.2
- [#6006](https://github.com/blockscout/blockscout/pull/6006) - Bump eslint from 8.22.0 to 8.23.0 in /apps/block_scout_web/assets
- [#6015](https://github.com/blockscout/blockscout/pull/6015) - Bump @fortawesome/fontawesome-free from 6.1.2 to 6.2.0 in /apps/block_scout_web/assets
- [#6021](https://github.com/blockscout/blockscout/pull/6021) - Bump sass from 1.54.5 to 1.54.7 in /apps/block_scout_web/assets
- [#6018](https://github.com/blockscout/blockscout/pull/6018) - Update chromedriver version - [#6018](https://github.com/blockscout/blockscout/pull/6018) - Update chromedriver version
- [#5836](https://github.com/blockscout/blockscout/pull/5836) - Bump comeonin from 4.1.2 to 5.3.3 - [#5836](https://github.com/blockscout/blockscout/pull/5836) - Bump comeonin from 4.1.2 to 5.3.3
- [#5869](https://github.com/blockscout/blockscout/pull/5869) - Bump reduce-reducers from 0.4.3 to 1.0.4 in /apps/block_scout_web/assets - [#5869](https://github.com/blockscout/blockscout/pull/5869) - Bump reduce-reducers from 0.4.3 to 1.0.4 in /apps/block_scout_web/assets
@ -96,14 +124,17 @@
## 4.1.7-beta ## 4.1.7-beta
### Features ### Features
- [#5783](https://github.com/blockscout/blockscout/pull/5783) - Allow to setup multiple ranges of blocks to index - [#5783](https://github.com/blockscout/blockscout/pull/5783) - Allow to setup multiple ranges of blocks to index
### Fixes ### Fixes
- [#5799](https://github.com/blockscout/blockscout/pull/5799) - Fix address_tokens_usd_sum function - [#5799](https://github.com/blockscout/blockscout/pull/5799) - Fix address_tokens_usd_sum function
- [#5798](https://github.com/blockscout/blockscout/pull/5798) - Copy explorer node_modules to result image - [#5798](https://github.com/blockscout/blockscout/pull/5798) - Copy explorer node_modules to result image
- [#5797](https://github.com/blockscout/blockscout/pull/5797) - Fix flickering token tooltip - [#5797](https://github.com/blockscout/blockscout/pull/5797) - Fix flickering token tooltip
### Chore ### Chore
- [#5796](https://github.com/blockscout/blockscout/pull/5796) - Add job for e2e tests on every push to master + fix job "Merge 'master' to specific branch after release" - [#5796](https://github.com/blockscout/blockscout/pull/5796) - Add job for e2e tests on every push to master + fix job "Merge 'master' to specific branch after release"
## 4.1.6-beta ## 4.1.6-beta

@ -2,9 +2,11 @@
### Environment ### Environment
* Deployment type (Manual/Docker/Docker-compose):
* Elixir & Erlang/OTP versions (`elixir -version`): * Elixir & Erlang/OTP versions (`elixir -version`):
* Node JS version (`node -v`):
* Operating System: * Operating System:
* Blockscout Version/branch: * Blockscout Version/branch/commit:
### Steps to reproduce ### Steps to reproduce

@ -2,7 +2,7 @@
<p align="center">Blockchain Explorer for inspecting and analyzing EVM Chains.</p> <p align="center">Blockchain Explorer for inspecting and analyzing EVM Chains.</p>
<div align="center"> <div align="center">
[![Blockscout](https://github.com/blockscout/blockscout/workflows/Blockscout/badge.svg?branch=master)](https://github.com/blockscout/blockscout/actions) [![Blockscout](https://github.com/blockscout/blockscout/workflows/Blockscout/badge.svg?branch=master)](https://github.com/blockscout/blockscout/actions)
</div> </div>
@ -20,22 +20,21 @@ Currently available full-featured block explorers (Etherscan, Etherchain, Blockc
## Supported Projects ## Supported Projects
BlockScout supports a number of projects. Hosted instances include POA Network, Gnosis Chain, Ethereum Classic, Sokol & Kovan testnets, and other EVM chains. BlockScout supports a number of projects. Hosted instances include POA Network, Gnosis Chain, Ethereum Classic, Sokol & Kovan testnets, and other EVM chains.
- [List of hosted mainnets, testnets, and additional chains using BlockScout](https://docs.blockscout.com/for-projects/supported-projects) - [List of hosted mainnets, testnets, and additional chains using BlockScout](https://docs.blockscout.com/for-projects/supported-projects)
- [Hosted instance versions](https://docs.blockscout.com/about/use-cases/hosted-blockscout) - [Hosted instance versions](https://docs.blockscout.com/about/use-cases/hosted-blockscout)
## Getting Started ## Getting Started
See the [project documentation](https://docs.blockscout.com/) for instructions: See the [project documentation](https://docs.blockscout.com/) for instructions:
- [Requirements](https://docs.blockscout.com/for-developers/information-and-settings/requirements) - [Requirements](https://docs.blockscout.com/for-developers/information-and-settings/requirements)
- [Ansible deployment](https://docs.blockscout.com/for-developers/ansible-deployment) - [Ansible deployment](https://docs.blockscout.com/for-developers/ansible-deployment)
- [Manual deployment](https://docs.blockscout.com/for-developers/manual-deployment) - [Manual deployment](https://docs.blockscout.com/for-developers/manual-deployment)
- [ENV variables](https://docs.blockscout.com/for-developers/information-and-settings/env-variables) - [ENV variables](https://docs.blockscout.com/for-developers/information-and-settings/env-variables)
- [Configuration options](https://docs.blockscout.com/for-developers/configuration-options) - [Configuration options](https://docs.blockscout.com/for-developers/configuration-options)
## Acknowledgements ## Acknowledgements
We would like to thank the [EthPrize foundation](http://ethprize.io/) for their funding support. We would like to thank the [EthPrize foundation](http://ethprize.io/) for their funding support.

@ -8,21 +8,19 @@ This is a tool for inspecting and analyzing the POA Network blockchain from a we
* Elixir 1.9+ * Elixir 1.9+
* Postgres 10.3 * Postgres 10.3
## Required Accounts ## Required Accounts
* Github for code storage * Github for code storage
## Setup Instructions ## Setup Instructions
### Development ### Development
To get BlockScout Web interface up and running locally: To get BlockScout Web interface up and running locally:
* Setup `../explorer` * Setup `../explorer`
* Install Node.js dependencies with `$ cd assets && npm install && cd ..` * Install Node.js dependencies with `$ cd assets && npm install && cd ..`
* Start Phoenix with `$ mix phx.server` (This can be run from this directory or the project root: the project root is recommended.) * Start Phoenix with `$ mix phx.server` (This can be run from this directory or the project root: the project root is recommended.)
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser. Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.
@ -30,14 +28,13 @@ You can also run IEx (Interactive Elixir): `$ iex -S mix phx.server` (This can b
### Testing ### Testing
* Build the assets: `cd assets && npm run build` * Build the assets: `cd assets && npm run build`
* Format the Elixir code: `mix format` * Format the Elixir code: `mix format`
* Lint the Elixir code: `mix credo --strict` * Lint the Elixir code: `mix credo --strict`
* Run the dialyzer: `mix dialyzer --halt-exit-status` * Run the dialyzer: `mix dialyzer --halt-exit-status`
* Check the Elixir code for vulnerabilities: `mix sobelow --config` * Check the Elixir code for vulnerabilities: `mix sobelow --config`
* Update translations templates and translations and check there are no uncommitted changes: `mix gettext.extract --merge` * Update translations templates and translations and check there are no uncommitted changes: `mix gettext.extract --merge`
* Lint the JavaScript code: `cd assets && npm run eslint` * Lint the JavaScript code: `cd assets && npm run eslint`
## Internationalization ## Internationalization

@ -83,4 +83,3 @@ def deps do
] ]
end end
``` ```

@ -2,35 +2,32 @@
This is a tool for inspecting and analyzing the POA Network blockchain. This is a tool for inspecting and analyzing the POA Network blockchain.
## Machine Requirements ## Machine Requirements
* Erlang/OTP 21+ * Erlang/OTP 21+
* Elixir 1.9+ * Elixir 1.9+
* Postgres 10.3 * Postgres 10.3
## Required Accounts ## Required Accounts
* Github for code storage * Github for code storage
## Setup Instructions ## Setup Instructions
### Development ### Development
To get BlockScout up and running locally: To get BlockScout up and running locally:
* Install dependencies with `$ mix do deps.get, local.rebar, deps.compile, compile` * Install dependencies with `$ mix do deps.get, local.rebar, deps.compile, compile`
* Create and migrate your database with `$ mix ecto.create && mix ecto.migrate` * Create and migrate your database with `$ mix ecto.create && mix ecto.migrate`
* Run IEx (Interactive Elixir) to access the index and explore: `$ iex -S mix` * Run IEx (Interactive Elixir) to access the index and explore: `$ iex -S mix`
### Testing ### Testing
* Format the Elixir code: `$ mix format` * Format the Elixir code: `$ mix format`
* Lint the Elixir code: `$ mix credo --strict` * Lint the Elixir code: `$ mix credo --strict`
* Run the dialyzer: `mix dialyzer --halt-exit-status` * Run the dialyzer: `mix dialyzer --halt-exit-status`
* Check the Elixir code for vulnerabilities: `$ mix sobelow --config` * Check the Elixir code for vulnerabilities: `$ mix sobelow --config`
### Benchmarking ### Benchmarking

@ -24,7 +24,6 @@ Some data has to be extracted from already fetched data, and there're several tr
- `address_token_balances`: creates token balance entities for futher fetching, based on detected token transfers - `address_token_balances`: creates token balance entities for futher fetching, based on detected token transfers
- `blocks`: extracts block signer hash from additional data for Clique chains - `blocks`: extracts block signer hash from additional data for Clique chains
### Root fetchers ### Root fetchers
- `pending_transaction`: fetches pending transactions (i.e. not yet collated into a block) every second (`pending_transaction_interval`) - `pending_transaction`: fetches pending transactions (i.e. not yet collated into a block) every second (`pending_transaction_interval`)
@ -32,6 +31,7 @@ Some data has to be extracted from already fetched data, and there're several tr
- `block/catchup`: gets unfetched ranges of blocks, imports them in batches - `block/catchup`: gets unfetched ranges of blocks, imports them in batches
Both block fetchers retrieve/extract the blocks themselves and the following additional data: Both block fetchers retrieve/extract the blocks themselves and the following additional data:
- `block_second_degree_relations` - `block_second_degree_relations`
- `transactions` - `transactions`
- `logs` - `logs`
@ -39,16 +39,19 @@ Both block fetchers retrieve/extract the blocks themselves and the following add
- `addresses` - `addresses`
The following stubs for further async fetching are inserted as well: The following stubs for further async fetching are inserted as well:
- `block_rewards` - `block_rewards`
- `address_coin_balances` - `address_coin_balances`
- `address_token_balances` - `address_token_balances`
- `tokens` - `tokens`
Realtime fetcher also immediately fetches from the node: Realtime fetcher also immediately fetches from the node:
- current balances for `addresses` - current balances for `addresses`
- `address_coin_balances` - `address_coin_balances`
The following async fetchers are launched for importing missing data: The following async fetchers are launched for importing missing data:
- `replaced_transaction` - `replaced_transaction`
- `block_reward` - `block_reward`
- `uncle_block` - `uncle_block`
@ -62,6 +65,7 @@ The following async fetchers are launched for importing missing data:
These are responsible for fetching additional block data not retrieved in root fetchers. These are responsible for fetching additional block data not retrieved in root fetchers.
Most of them are based off `BufferedTask`, and the basic algorithm goes like this: Most of them are based off `BufferedTask`, and the basic algorithm goes like this:
1. Make an initial streaming request to database to fetch identifiers of all existing unfetched items. 1. Make an initial streaming request to database to fetch identifiers of all existing unfetched items.
2. Accept new identifiers for fetching via `async_fetch()` method. 2. Accept new identifiers for fetching via `async_fetch()` method.
3. Split identifier in batches and run tasks on `TaskSupervisor` according to `max_batch_size` and `max_concurrency` settings. 3. Split identifier in batches and run tasks on `TaskSupervisor` according to `max_batch_size` and `max_concurrency` settings.
@ -80,6 +84,7 @@ Most of them are based off `BufferedTask`, and the basic algorithm goes like thi
- `contract_code`: for `transactions` with non-null `created_contract_address_hash` and null `created_contract_code_indexed_at` - `contract_code`: for `transactions` with non-null `created_contract_address_hash` and null `created_contract_code_indexed_at`
Additionally: Additionally:
- `token_updater` is run every 2 days to update token metadata - `token_updater` is run every 2 days to update token metadata
- `coin_balance_on_demand` is triggered from web UI to ensure address balance is as up-to-date as possible - `coin_balance_on_demand` is triggered from web UI to ensure address balance is as up-to-date as possible

@ -3,21 +3,26 @@
Runs BlockScout locally in Docker container with usage [docker-compose](https://github.com/docker/compose). Runs BlockScout locally in Docker container with usage [docker-compose](https://github.com/docker/compose).
## Prerequisites ## Prerequisites
- Docker v20.10+ - Docker v20.10+
- Docker-compose 2.x.x+ - Docker-compose 2.x.x+
- Running Ethereum JSON RPC client - Running Ethereum JSON RPC client
## Building Docker containers from source ## Building Docker containers from source
``` ```
docker-compose up --build docker-compose up --build
``` ```
This command uses by-default `docker-compose.yml`, which build the explorer into Docker image and runs 2 Docker containers: This command uses by-default `docker-compose.yml`, which build the explorer into Docker image and runs 2 Docker containers:
- one for the database. Postgres 13.x, which will be available at port 7432 on localhost - one for the database. Postgres 13.x, which will be available at port 7432 on localhost
- and the BlockScout explorer at http://localhost:4000 - and the BlockScout explorer at http://localhost:4000
## Configs for different Ethereum clients ## Configs for different Ethereum clients
Also, the repo contains built-in configs for different clients without need to build the image Also, the repo contains built-in configs for different clients without need to build the image
- Ganache: `docker-compose -f docker-compose-no-build-ganache.yml up -d` - Ganache: `docker-compose -f docker-compose-no-build-ganache.yml up -d`
- HardHat network: `docker-compose -f docker-compose-no-build-hardhat-network.yml up -d` - HardHat network: `docker-compose -f docker-compose-no-build-hardhat-network.yml up -d`
- Geth: `docker-compose -f docker-compose-no-build-geth.yml up -d` - Geth: `docker-compose -f docker-compose-no-build-geth.yml up -d`

@ -15,6 +15,7 @@ services:
blockscout: blockscout:
depends_on: depends_on:
- db - db
image: blockscout/blockscout:${DOCKER_TAG:-latest}
build: build:
context: .. context: ..
dockerfile: ./docker/Dockerfile dockerfile: ./docker/Dockerfile

Loading…
Cancel
Save