Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
GPL-3.0 License
Published by vbaranov over 5 years ago
Published by vbaranov over 5 years ago
Published by vbaranov over 5 years ago
Reverting of synchronous block counter, implemented in #1848, that leads to slow down of the main page
Published by vbaranov over 5 years ago
Published by vbaranov over 5 years ago
0x0..0
from testsPublished by ayrat555 over 5 years ago
Published by vbaranov over 5 years ago
Published by vbaranov over 5 years ago
Published by vbaranov over 5 years ago
creates
param when fetching transactionsPublished by vbaranov over 5 years ago
text
Published by acravenho over 5 years ago
Published by acravenho over 5 years ago
block_rewards
table (#1423)CERTFILE
and KEYFILE
envvars. Not breaking. (#1426)nil
block numbers from uncataloged_token_transfer_block_numbers
. (#1412)Published by acravenho over 5 years ago
external
at index 2 (#1399)Published by acravenho over 5 years ago
add_gas_payments
(#1337)coalesce
, sum
, +
, and *
support (#1337)ReplacedTransaction.Fetcher
which finds dropped/replaced
transactions and sets corresponding fields (#1370)Wei.mult
required both parameters to be Wei.t
, but that meant it was actually yielding wei^2
units. Fix the units by requiring the first parameter to be wei and the second to be a unitless integer, which makes more sense for the gas_price * gas_used
usage as we expect that to be measured in wei and not wei^2. (#1337)trace_block
call returned. (#1337)Published by acravenho over 5 years ago
Repo.stream
use new Repo.stream_in_transaction
, so that none of them miss the :infinite
timeouts if they are copied for a new one later. (#1209)Explorer.Chain.Block.get_blocks_without_reward
to consensus (#1313)address_current_token_balances
and address_token_balances
to remove those referencing replaced block numbers during reorgs (#1323)Repo.all
before inserting into ETS tables, use Repo.stream_each
to stream rows into ETS tables. This will let data appear in the ETS table before all rows are returned from the database, so the readers will appear more responsive on restart.
Explorer.Counters.TokenTransferCounter
Explorer.Counters.BlockValidationCounter
Explorer.Counters.TokenHoldersCounter
(#1209)[]
was not being used for Indexer.TokenBalances.fetch_token_balances_from_blockchain
due to the use of /1
and /2
with a default. (#1217)Import.Runner
. Unlike Runner
s, which use 1 common Ecto.Multi
, a Stage
can produce 1 or more independent Ecto.Multi
that will run in separate transactions. (#1242)Published by acravenho almost 6 years ago
EthereumJSONRPC
function that did batch request now return a struct that contains both the successfully decoded params and any fetch errors, so that the caller can decide what to do instead of deferring to any errors as happened before.Indexer.CoinBalance.Fetcher
will retry only those balances that can't be fetched.Indexer.Block.Uncle.Fetcher
will retry only those hashes that can't be fetched.Indexer.Block.Catchup.Fetcher
will retry only those numbers that can't be fetched.Indexer.Block.Realtime.Fetcher
has no retry mechanism since it defers to Indexer.Block.Catchup.Fetcher
, so it will not change.validation count
address.js
to address/validations.js
Published by acravenho almost 6 years ago
TokenBalance.Fetcher
will ignore failing contract calls after n
triesfetch_beneficiaries
fix to be compatible with Parity v2.^to_address.smart_contract
Token.Fetcher
to retry when errors occur.Published by acravenho almost 6 years ago
:call
, show the:call_type
instead.0
balance for addresses that are not in the DB in the UIEthereumJSONRPC.fetch_beneficiaries/2
to help us fetch theblock reward contract beneficiaries of a given block range. This only works with Parity.:method_to_url
.block_reward_contract_beneficiaries
to Indexer.AddressExtraction
for it to know how to get addresses in this scenario.Indexer.Block.Fetcher.fetch_and_import_range/2
to get block reward contract beneficiaries, create their addresses if they don't yet exist, and update their coin balances.WebSocketClient.respond_to_registration:
All clauses set request_id_to_registration
in state to new_request_id_to_registration
, so it does not need to be passed. The catchall clause does the equivalent because new_request_id_to_registration
was request_id_to_registration
already as Map.pop popped nothing.Explorer.Admin
context for performing admin-related functionsusernamecolum
on users
table is now case insensitiveapps/explorer/priv/.recovery
to be used with admin configurationBlockScoutWeb.AdminRoutes
for any admin-related routesBlockScoutWeb.FormView
to contain helpers with generating form elements to be used with changesetstxType
without generating a FunctionClauseError
replace_all
and id
primary keys- see below for incompatible changesIndexer.Memory.Monitor
checks the total VM memory usage (:erlang.memory(:total)
) every (1) minute. If the memory usage exceeds the soft-limit, shrinkable processes are asked to shrink.%EthereumJSONRPC.WebSocket.WebSocketClient.Options{}
to hold web_socket_options
.%EthereumJSONRPC.WebSocket.Registration{}
t:EthereumJSONRPC.request/0
in %EthereumJSONRPC.WebSocket.Registration{}
, so that the request can be re-requested if the websocket disconnects and reconnects.created_contract_address_hash
should be treated like error and status, where only the first internal transaction matters.internal_transactions
loses id
and has (transaction_hash
, index
) promoted to be the composite primary key.logs
loses id
and has (transaction_hash
, index
) promoted to be the composite primary key.token_transfers
loses id
and has (transaction_hash
, log_index
) promoted to be the composite primary key.c:Indexer.BufferedTask.run/3
is now c:Indexer.BufferedTask.run/2
with the retries count being removed. No implementations used the retries count and removing it allowed for batching optimizations.Indexer.BufferedTask
:init_chunk_size
as it didn't really do much besides decided when to send GenServer.calls
from the init_task
.Published by acravenho about 6 years ago
We're excited to introduce BlockScout v1.0-beta.