veil-explorer
Veil Blockchain explorer developed with asp.net core and nuxt3
Example: https://explorer.veil-project.com
Features
- light/dark theme
- multilingual UI (see /docs/localization.md)
- real-time updates of blockchain info, algo stats, recent blocks and first page of blocks browser
- blocks list
- block and transactions information
- search by transaction, address, block hash or height
API
Documentation
See /docs/api.md
Compatibility
See /docs/api-compatibility.md
Compiling from sources
Backend
See /docs/compiling/backend.md
Frontend
See /docs/compiling/frontend.md
Getting started
Tested OSes
Both of frontend and backend tested on Windows 11 and Ubuntu 20.04
On production environment it is recommended to use the latest version of the LTS Ubuntu
Required software
- Veil Node - required for backend to pull blockchain information
- PostgreSQL 13+ - required to run backend
- Dotnet 6+ (runtime) - required to run backend in case when using non self-contained build
- NodeJS 16+ - required to run frontend
Installation
There are basic setup guide that suitable for all supported environments and full setup tutorial wrote for Ubuntu 20.04
Basic setup guide
Node installation
- Unpack latest veil node release
- Generate rpcauth value with:
python3 rpcauth.py [username] [noderpc_password]
rpcauth.py: https://github.com/Veil-Project/veil/blob/master/share/rpcauth/rpcauth.py
- Create config default.conf Add this content to opened file, change variables if required:
listen=1
server=1
rpcbind=127.0.0.1
rpcauth=[generated rpcauth string]
rpcport=5050
txindex=1
- Run bin/veild -txindex
Database
- Create new postgresql database
- Restore SQL files from /explorer-backend/schemas
Backend
- Unpack explorer-backend.[os]-[arch].self-contained.release-[version].tar.gz
- Copy /explorer-backend/appsettings.json.tpl to [server directory]/appsettings.json
- Change postgresql connection string inside appsettings.json, change other parameters.
- Create data dir inside backend folder
See: /docs/backend-configuration.md
- Run server executable (explorer-backend)
- It will take some time to synchronize backend database with node.
Frontend
- Unpack explorer-frontend.universal-[version].tar.gz
- Create start script which should export environment variables used as explorer-frontend config:
# listen address
HOST=127.0.0.1
# listen port
PORT=3000
# url on which frontend available, used for SEO, meta tags etc.
BASE_URL=http://<ip>:3000
CHAIN_DEFAULT=main
# JSON formatted configuration to connect frontend with backend
# for now you should only change value of "path", so just replace <ip> and <backend_port>
CHAIN_APIS="[{\"name\": \"main\", \"path\": \"http://<ip>:5000/api\"}]"
RECENT_BLOCKS_COUNT=5
BLOCKS_PER_PAGE=15
TXS_PER_PAGE=15
MAX_BLOCK_WEIGHT=4000000
SYNC_NOTICE_CASE=15
COOKIE_SAVE_DAYS=90
See: /docs/frontend-configuration.md
- Run start script