General Requirements

You have run the zcashd node with some additional additional features enabled that will allow it to support the explorer. A block-explorer-enabled zcashd can perform all the functions of a normal zcashd node but typically will not be used as a wallet (will contain no private keys).

additional flags to enable on your zcash.conf file

ztxindex=1
experimentalfeatures=1
insightexplorer=1
paymentdisclosure=1

Additionally make sure rpcuser , rpcpassword and rpcport are configured , the same should me made available in the explorer config.

rpcuser=<username>
rpcpassword=<password>
rpcport=83232

to know more about these features, please refer to https://zcash.readthedocs.io/en/latest/rtd_pages/insight_explorer.htmlhttps://github.com/zcash/zcash/blob/master/doc/payment-disclosure.md

If you are running the explorer as Docker container or on a different server you may have to configure rpcallowip

Do note that using rpcallowip will have severe security implications. Please refer to https://zcash.readthedocs.io/en/latest/rtd_pages/zcash_conf_guide.html Elixir dependencies:

mix.exs

{:phoenix, "~> 1.5.8"},
{:phoenix_ecto, "~> 4.1"},
{:ecto_sql, "~> 3.4"},
{:postgrex, ">= 0.0.0"},
{:ecto_psql_extras, "~> 0.2"},
{:phoenix_html, "~> 2.11"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:phoenix_live_dashboard, "~> 0.4"},
{:telemetry_metrics, "~> 0.4"},
{:telemetry_poller, "~> 0.4"},
{:gettext, "~> 0.11"},
{:jason, "~> 1.0"},
{:plug_cowboy, "~> 2.0"},
{:httpoison, "~> 1.8"},
{:poison, "~> 3.1"},
{:observer_cli, "~> 1.6"},
{:cachex, "~> 3.3"},
{:phoenix_live_view, "~> 0.15.4"},
{:floki, ">= 0.27.0", only: :test},
{:zcashex, github: "nighthawk-apps/zcashex"},
{:timex, "~> 3.0"},
{:sizeable, "~> 1.0"},
{:eqrcode, "~> 0.1.8"},
{:contex, "~> 0.3.0"},
{:muontrap, "~> 0.6.1"}

Frontend dependencies ( managed using npm )

check assets/package.json

"dependencies": {
    "@fontsource/inter": "^4.5.0",
    "alpinejs": "^2.8.2",
    "phoenix": "file:../deps/phoenix",
    "phoenix_html": "file:../deps/phoenix_html",
    "phoenix_live_view": "file:../deps/phoenix_live_view"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@tailwindcss/forms": "^0.3.3",
    "autoprefixer": "^10.2.5",
    "babel-loader": "^8.0.0",
    "copy-webpack-plugin": "^5.1.1",
    "css-loader": "^3.4.2",
    "file-loader": "^6.2.0",
    "hard-source-webpack-plugin": "^0.13.1",
    "mini-css-extract-plugin": "^0.9.0",
    "node-sass": "^4.13.1",
    "optimize-css-assets-webpack-plugin": "^5.0.1",
    "postcss": "^8.2.8",
    "postcss-loader": "^4.2.0",
    "sass-loader": "^8.0.2",
    "tailwindcss": "^2.2.7",
    "terser-webpack-plugin": "^2.3.2",
    "webpack": "^4.41.5",
    "webpack-cli": "^3.3.2"
  }

Additional requirement for Viewing Key Support.

Viewing Key feature is powered by adityapk00's zecwallet-light-cli.

we spin up a Docker container that runs zecwallet-light-cli, pull the logs from the container and broadcast the logs and Tx info ( after some processing ) to the explorer. The container will be deleted after the transactions are sent to the explorer.

this feature has rate limits and currently it's hardcoded to 10 Concurrent VK imports.

Last updated