Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
blockscout/apps/explorer
Luke Imhoff c1ecb966a7 Cover Explorer.Chain.Import 6 years ago
..
benchmarks/explorer/chain Denormalize blocks.number into transasctions.block_number 7 years ago
config Use Path.absname so that log paths are stable during reload 6 years ago
lib Merge branch 'master' into iff-change-balance-to-chain-balances 6 years ago
priv Change Address fetched_balance's columns to fetched_coin_balace 6 years ago
test Cover Explorer.Chain.Import 6 years ago
.sobelow-conf Add code_compiler to sobelow ignored files 7 years ago
README.md Support for Moxing WebSocket 6 years ago
coveralls.json Use configuration to conditionally start processes (#178) 7 years ago
mix.exs Use curl to signal parallel build is done to coveralls.io 6 years ago
package-lock.json Replace poanetwork/poa-explorer urls with poanetwork/blockscout 6 years ago
package.json Replace poanetwork/poa-explorer urls with poanetwork/blockscout 6 years ago

README.md

BlockScout

This is a tool for inspecting and analyzing the POA Network blockchain.

Machine Requirements

  • Erlang/OTP 20.2+
  • Elixir 1.5+
  • Postgres 10.0

Required Accounts

  • Github for code storage

Setup Instructions

Development

To get BlockScout up and running locally:

  • Set up some default configuration with: $ cp config/dev.secret.exs.example config/dev.secret.exs
  • Install dependencies with $ mix do deps.get, local.rebar, deps.compile, compile
  • 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

Testing

  • Format the Elixir code: $ mix format
  • Run the test suite with coverage: $ mix coveralls.html
  • Lint the Elixir code: $ mix credo --strict
  • Run the dialyzer: mix dialyzer --halt-exit-status
  • Check the Elixir code for vulnerabilities: $ mix sobelow --config

Benchmarking

Explorer.Chain.recent_collated_transactions/0

  • Reset the test database: MIX_ENV=test mix do ecto.drop, ecto.create, ecto.migrate
  • Change tag in benchmarks/explorer/chain/recent_collated_transactions.exs to a new value, so that it will compare against the old values saved in benchmarks/explorer/chain/recent_collated_transactions.benchee
  • Run the benchmark: MIX_ENV=test mix run benchmarks/explorer/chain/recent_collated_transactions.exs