An open source address, block and transaction explorer for TON Blockchain.
- Mainnet: https://tonscan.org
- Testnet: https://testnet.tonscan.org
git clone https://github.com/catchain/tonscan.git
cd tonscan
npm installBefore building you must fill the environment variables in .env (or .env.testnet) file.
Note that all variables must be present, even if you're not going to change them. If you'd like to use the default value, leave it empty (e.g. ADDRBOOK_LOCATION=).
cp .env.example .envFor testnet:
cp .env.example .env.testnet| Key | Value |
|---|---|
| ADDRBOOK_LOCATION | URL of important addresses metadata in json format. Example. |
| GETGEMS_GRAPHQL_ENDPOINT | Self-explanatory, default: https://api.getgems.io/graphql |
| DEV_EXPLORER_ADDRESS | Explorer with extended transaction info. Default: explorer.toncoin.org |
| TONCENTER_API_ENDPOINT | Self-explanatory, default: https://toncenter.com/api/v2 |
| TONCENTER_API_KEY | Required. See the official website for more details. |
| TONCENTER_INDEX_API_ENDPOINT | Toncenter indexer API endpoint. |
| TONCENTER_INDEX_API_KEY | Self-explanatory. |
| TONAPI_ENDPOINT | Self-explanatory. |
| TONAPI_KEY | Self-explanatory. |
| EXTENDER_CONTRACTS_API_ENDPOINT | Contract extender API, default: https://api.ton.cat/v2/contracts |
| TYPESENSE_API_ENDPOINT | Typesense real-time search engine endpoint. |
| TYPESENSE_API_KEY | Self-explanatory. |
| SENTRY_DSN | sentry.io DSN key, used for error monitoring |
| CLOUDFLARE_INSIGHTS_TOKEN | Cloudflare Analytics token |
npm run serveTo change host and port of the local server, change the APP_DEV_SERVER_HOST and APP_DEV_SERVER_PORT environment variables either in .env file or in command line. For example:
APP_DEV_SERVER_HOST=0.0.0.0 APP_DEV_SERVER_PORT=8080 npm run servenpm run prodFor testnet:
npm run prod_testnetThe result of the build is static files in dist folder. To start using tonscan, you may:
- Upload the
distfolder to your web server (see example config below) - Upload
build.zipto Cloudflare Pages - Use any static file hosting, e. g. Firebase
server {
server_name tonscan.test;
root /path/to/tonscan/dist;
index index.html;
location / {
try_files $uri $uri/ @rewrites;
}
location @rewrites {
rewrite ^(.+)$ /index.html last;
}
}