Skip to content

CityOfZion/neo-scan

Repository files navigation

Neoscan

Gitlab Coveralls

Elixir + Phoenix Blockchain explorer for NEO

Contents

How to Contribute

To run, first install Elixir and Phoenix at:

Development

Run Docker

You can skip this section if you do not wish to run docker.

Using docker you can start the project with:

  • docker-compose up -d
  • docker exec -it phoenixdev sh
  • cd /data

Run Tests

To run the tests:

  • Install dependencies with mix deps.get --only test
  • Create and migrate your database with MIX_ENV=test mix ecto.create && mix ecto.migrate
  • Run mix test

Raise Main Net Phoenix

To start the Application/Phoenix server:

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.create && mix ecto.migrate
  • Install Node.js dependencies with cd apps, cd neoscan_web, then cd assets && npm install
  • Start Phoenix endpoint with mix phx.server

Raise Test Net Phoenix

To start the Application/Phoenix server:

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.create && mix ecto.migrate
  • Install Node.js dependencies with cd apps, cd neoscan_web, then cd assets && npm install
  • Start Phoenix endpoint with NEO_SEEDS="https://seed1.neo.org:20331;http://seed2.neo.org:20332" mix phx.server

Now you can visit localhost:4000 from your browser.

Make sure the username and password for your PostgreSQL match the contents of "apps/neoscan/config/dev.exs"

PostgreSQL Fu

Dump your database with pg_dump, i.e.,

To tarball:

pg_dump -U postgres -h localhost -W -F t neoscan_dev > neoscan_dev_testnet.tar

To file:

pg_dump -U postgres -h localhost -W neoscan_dev > neoscan_dev_testnet

Restore:

pg_restore --dbname=neoscan_dev --verbose neoscan_dev_testnet.tar

Notes

  • Docker runs as root so if you go back and forth between source repository and docker style execution you will need to be mindful to chown any files that were created. These can easily be found when you see a permission denied error on some build step.

Learn more