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.
 
 
 
 
 
Luke Imhoff 45529f7346 Dedupe and log duplicate transaction hashes before fetching internal 7 years ago
.circleci Cache deps with _build 7 years ago
apps Dedupe and log duplicate transaction hashes before fetching internal 7 years ago
bin Move to root folder 7 years ago
config Merge branch 'master' into optimized-indexer 7 years ago
.credo.exs Disable credo rules handled by mix format 7 years ago
.dialyzer-ignore Use nowarn_function instead of .dialyzer-ignore 7 years ago
.formatter.exs Benchmark 7 years ago
.gitignore Migrate to webpack 7 years ago
.pairs Add Desmond to pairs 7 years ago
.tool-versions Update CircleCI to Elixir 1.6.5 7 years ago
CODE_OF_CONDUCT.md Move to root folder 7 years ago
CONTRIBUTING.md CONTRIBUTING.md and PULL_REQUEST_TEMPLATE.md 7 years ago
ISSUE_TEMPLATE.md Add that reproduction repos are appreciated. 7 years ago
LICENSE Add GPL3 license 7 years ago
PULL_REQUEST_TEMPLATE.md CONTRIBUTING.md and PULL_REQUEST_TEMPLATE.md 7 years ago
README.md CONTRIBUTING.md and PULL_REQUEST_TEMPLATE.md 7 years ago
appspec.yml [deployment] need to run build step as root, in order to set permissions correctly to run as ec2-user later 7 years ago
coveralls.json Dedupe and log duplicate transaction hashes before fetching internal 7 years ago
mix.exs Add ex_unit as PLT app for ExUnit.Callbacks.start_supervised! 7 years ago
mix.lock Add user accounts (#176) 7 years ago

README.md

POA Explorer CircleCI Coverage Status

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

Machine Requirements

  • Erlang/OTP 20.2+
  • Elixir 1.6+
  • Postgres 10.0
  • Node.js 9.10+

Required Accounts

  • GitHub for code storage

Setup Instructions

Development

To get POA Explorer up and running locally:

  • Set up some default configuration with: cp apps/explorer/config/dev.secret.exs.example apps/explorer/config/dev.secret.exs
  • Set up some default configuration with: cp apps/explorer_web/config/dev.secret.exs.example apps/explorer_web/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
  • Install Node.js dependencies with cd apps/explorer_web/assets && npm install; cd -
  • Start Phoenix with mix phx.server

Now you can visit localhost:4000 from your browser.

You can also run IEx (Interactive Elixir): iex -S mix phx.server

CircleCI Updates

Configure your local CCMenu with the following url: https://circleci.com/gh/poanetwork/poa-explorer.cc.xml?circle-token=f8823a3d0090407c11f87028c73015a331dbf604

Documentation

  • mix docs
  • open doc/index.html

Testing

Prerequisites

Running the tests

  • Build the assets: cd apps/explorer_web/assets && npm run build; cd -
  • Format the Elixir code: mix format
  • Run the test suite with coverage for whole umbrella project: mix coveralls.html --umbrella
  • Lint the Elixir code: mix credo --strict
  • Run the dialyzer: mix dialyzer --halt-exit-status
  • Check the Elixir code for vulnerabilities:
    • cd apps/explorer && mix sobelow --config; cd -
    • cd apps/explorer_web && mix sobelow --config; cd -
  • Lint the JavaScript code: cd apps/explorer_web/assets && npm run eslint; cd -

Internationalization

The app is currently internationalized. It is only localized to U.S. English.

To translate new strings, run cd apps/explorer_web; mix gettext.extract --merge and edit the new strings in apps/explorer_web/priv/gettext/en/LC_MESSAGES/default.po.

Contributing

See CONTRIBUTING.md