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 2b60cba8a1 Remove unused import 6 years ago
..
benchmarks/explorer/chain Denormalize blocks.number into transasctions.block_number 7 years ago
config Include import_id and transaction_id in logger metadata 6 years ago
lib Use where clause for on_conflict to only write tuples that are different 6 years ago
priv Remove opcodes from CodeCompiler 6 years ago
test Remove unused import 6 years ago
.gitignore Add bare admin panel (#927) 6 years ago
.sobelow-conf Derive transaction forks for transacion in blocks that go non-consensus 6 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 Add :dev to plug_cowboy dependency in explorer 6 years ago
package-lock.json Update JS solidity compiler 6 years ago
package.json Update JS solidity compiler 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