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 9fe1ebd59a Use same language as elixir-lang/elixir for environment 7 years ago
.circleci Alter elixir version at 'check_formatted' step on circleci 7 years ago
apps Increase receive timeout for BufferedTask crash retry 7 years ago
bin [deployment] need to run build step as root, in order to set permissions correctly to run as ec2-user later 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 Migrate from CircleCI 1.0 to 2.0 7 years ago
ISSUE_TEMPLATE.md Use same language as elixir-lang/elixir for environment 7 years ago
LICENSE Add GPL3 license 7 years ago
README.md Add note at readme noticing the Solidity dependency 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 on_conflict for insert_internal_transactions 7 years ago
mix.exs Add ex_unit as PLT app for ExUnit.Callbacks.start_supervised! 7 years ago
mix.lock Upgrade gettext dependency 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

  1. Fork it ( https://github.com/poanetwork/poa-explorer/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Write tests that cover your work
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request