Example usage: Changing the default Postgres port from localhost:15432 if [Boxen](https://github.com/boxen/boxen) is installed.
Example usage: Changing the default Postgres port from localhost:15432 if [Boxen](https://github.com/boxen/boxen) is installed.
3. Install dependencies.
3. Install dependencies.
`mix do deps.get, local.rebar, deps.compile, compile`
`mix do deps.get, local.rebar --force, deps.compile, compile`
4. Create and migrate database.
4. Create and migrate database.
`mix ecto.create && mix ecto.migrate`
`mix ecto.create && mix ecto.migrate`
<br/>_Note:_ If you have run previously, drop the previous database
`mix do ecto.drop, ecto.create, ecto.migrate`
5. Install Node.js dependencies.
5. Install Node.js dependencies.
`cd apps/explorer_web/assets && npm install; cd -`
`cd apps/explorer_web/assets && npm install; cd -`
`cd apps/explorer && npm install; cd -`
`cd apps/explorer && npm install; cd -`
6. Start Phoenix Server.
6. Start Phoenix Server.
`mix phx.server`
`mix phx.server`
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.
_Additional runtime options:_
_Additional runtime options:_
* Run Phoenix Server with IEx (Interactive Elixer)
* Run Phoenix Server with IEx (Interactive Elixer)
`iex -S mix phx.server`
`iex -S mix phx.server`
* Run Phoenix Server with real time indexer
* Run Phoenix Server with real time indexer
`DEBUG_INDEXER=1 iex -S mix phx.server`
`DEBUG_INDEXER=1 iex -S mix phx.server`
### POA Explorer Visual Interface
![POA Explorer Example](explorer_example.gif)
### Umbrella Project Organization
### Umbrella Project Organization
@ -98,7 +103,6 @@ Each OTP application has a restricted domain.
| `apps/indexer` | `:indexer` | `Indexer` | Uses `:ethereum_jsonrpc` to index chain and batch import data into `:explorer`. Any process, `Task`, or `GenServer` that automatically reads from the chain and writes to `:explorer` should be in `:indexer`. This restricts automatic writes to `:indexer` and read-only mode can be achieved by not running `:indexer`. |
| `apps/indexer` | `:indexer` | `Indexer` | Uses `:ethereum_jsonrpc` to index chain and batch import data into `:explorer`. Any process, `Task`, or `GenServer` that automatically reads from the chain and writes to `:explorer` should be in `:indexer`. This restricts automatic writes to `:indexer` and read-only mode can be achieved by not running `:indexer`. |
### CircleCI Updates
### CircleCI Updates
To monitor build status, configure your local [CCMenu](http://ccmenu.org/) with the following url: [`https://circleci.com/gh/poanetwork/poa-explorer.cc.xml?circle-token=f8823a3d0090407c11f87028c73015a331dbf604`](https://circleci.com/gh/poanetwork/poa-explorer.cc.xml?circle-token=f8823a3d0090407c11f87028c73015a331dbf604)
To monitor build status, configure your local [CCMenu](http://ccmenu.org/) with the following url: [`https://circleci.com/gh/poanetwork/poa-explorer.cc.xml?circle-token=f8823a3d0090407c11f87028c73015a331dbf604`](https://circleci.com/gh/poanetwork/poa-explorer.cc.xml?circle-token=f8823a3d0090407c11f87028c73015a331dbf604)
@ -169,4 +173,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution and pull request protoco