The app instance could be customized by passing following variables to NodeJS environment at run-time. See their list below.
IMPORTANT NOTE! For production build purposes all json-like values should be single-quoted. If it contains a hash (#
) or a dollar-sign ($
) the whole value should be wrapped in single quotes as well (see dotenv
readme for the reference)
- App configuration
- Blockchain parameters
- API configuration
- UI configuration
- App features
- My account
- Address verification in "My account"
- Blockchain interaction (writing to contract, etc.)
- Banner ads
- Text ads
- Beacon chain
- Rollup (L2) chain
- Export data to CSV file
- Google analytics
- Mixpanel analytics
- GraphQL API documentation
- REST API documentation
- Marketplace
- Solidity to UML diagrams
- Blockchain statistics
- Web3 wallet integration (add token or network to the wallet)
- Verified tokens info
- Sentry error monitoring
- 3rd party services configuration
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_APP_PROTOCOL | http | https |
App url schema | - | https |
http |
NEXT_PUBLIC_APP_HOST | string |
App host | Required | - | blockscout.com |
NEXT_PUBLIC_APP_PORT | number |
Port where app is running | - | 3000 |
3001 |
NEXT_PUBLIC_USE_NEXT_JS_PROXY | boolean |
Tells the app to proxy all APIs request through the NextJS app. We strongly advise not to use it in the production environment, since it can lead to performance issues of the NodeJS server | - | false |
true |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_NETWORK_NAME | string |
Displayed name of the network | Required | - | Gnosis Chain |
NEXT_PUBLIC_NETWORK_SHORT_NAME | string |
Used for SEO attributes (e.g, page description) | - | - | OoG |
NEXT_PUBLIC_NETWORK_ID | number |
Chain id, see https://chainlist.org for the reference | Required | - | 99 |
NEXT_PUBLIC_NETWORK_RPC_URL | string |
Chain public RPC server url, see https://chainlist.org for the reference | - | - | https://core.poa.network |
NEXT_PUBLIC_NETWORK_CURRENCY_NAME | string |
Network currency name | - | - | Ether |
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL | string |
Network currency symbol | - | - | ETH |
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS | string |
Network currency decimals | - | 18 |
6 |
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE | validation or mining |
Verification type in the network | - | mining |
validation |
NEXT_PUBLIC_IS_TESTNET | boolean |
Set to true if network is testnet | - | false |
true |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_API_PROTOCOL | http | https |
Main API protocol | - | https |
http |
NEXT_PUBLIC_API_HOST | string |
Main API host | Required | - | blockscout.com |
NEXT_PUBLIC_API_PORT | number |
Port where API is running on the host | - | - | 3001 |
NEXT_PUBLIC_API_BASE_PATH | string |
Base path for Main API endpoint url | - | - | /poa/core |
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL | ws | wss |
Main API websocket protocol | - | wss |
ws |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_HOMEPAGE_CHARTS | Array<'daily_txs' | 'coin_price' | 'market_cap'> |
List of charts displayed on the home page | - | - | ['daily_txs','coin_price','market_cap'] |
NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR | string |
Text color of the hero plate on the homepage (escape "#" symbol if you use HEX color codes or use rgba-value instead) | - | white |
\#DCFE76 |
NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND | string |
Background css value for hero plate on the homepage (escape "#" symbol if you use HEX color codes or use rgba-value instead) | - | radial-gradient(103.03% 103.03% at 0% 0%, rgba(183, 148, 244, 0.8) 0%, rgba(0, 163, 196, 0.8) 100%), var(--chakra-colors-blue-400) |
radial-gradient(at 15% 86%, hsla(350,65%,70%,1) 0px, transparent 50%) | no-repeat bottom 20% right 0px/100% url(https://placekitten/1400/200) |
NEXT_PUBLIC_HOMEPAGE_SHOW_GAS_TRACKER | boolean |
Set to false if network doesn't have gas tracker | - | true |
false |
NEXT_PUBLIC_HOMEPAGE_SHOW_AVG_BLOCK_TIME | boolean |
Set to false if average block time is useless for the network | - | true |
false |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_NETWORK_LOGO | string |
Network logo; if not provided, placeholder will be shown; Note the logo height should be 20px and width less than 120px | - | - | https://placekitten.com/240/40 |
NEXT_PUBLIC_NETWORK_LOGO_DARK | string |
Network logo for dark color mode; if not provided, inverted regular logo will be used instead | - | - | https://placekitten.com/240/40 |
NEXT_PUBLIC_NETWORK_ICON | string |
Network icon; used as a replacement for regular network logo when nav bar is collapsed; if not provided, placeholder will be shown; Note the icon size should be at least 60px by 60px | - | - | https://placekitten.com/60/60 |
NEXT_PUBLIC_NETWORK_ICON_DARK | string |
Network icon for dark color mode; if not provided, inverted regular icon will be used instead | - | - | https://placekitten.com/60/60 |
NEXT_PUBLIC_FEATURED_NETWORKS | string |
URL of configuration file (.json format only) which contains list of featured networks that will be shown in the network menu. See below list of available properties for particular network |
- | - | https://example.com/featured_networks_config.json |
NEXT_PUBLIC_OTHER_LINKS | Array<{url: string; text: string}> |
List of links for the "Other" navigation menu | - | - | [{'url':'https://blockscout.com','text':'Blockscout'}] |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
title | string |
Displayed name of the network | Required | - | Gnosis Chain |
url | string |
Network explorer main page url | Required | - | https://blockscout.com/xdai/mainnet |
group | Mainnets | Testnets | Other |
Indicates in which tab network appears in the menu | Required | - | Mainnets |
icon | string |
Network icon; if not provided, the common placeholder will be shown; Note that icon size should be at least 60px by 60px | - | - | https://placekitten.com/60/60 |
isActive | boolean |
Pass true if item should be shonw as active in the menu |
- | - | true |
invertIconInDarkMode | boolean |
Pass true if icon colors should be inverted in dark mode |
- | - | true |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_FOOTER_LINKS | string |
URL of configuration file (.json format only) which contains list of link groups to be displayed in the footer. See below list of available properties for particular group |
- | - | https://example.com/footer_links_config.json |
The app version shown in the footer is derived from build-time ENV variables NEXT_PUBLIC_GIT_TAG
and NEXT_PUBLIC_GIT_COMMIT_SHA
and cannot be overwritten at run-time.
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
title | string |
Title of link group | Required | - | Company |
links | Array<{'text':string;'url':string;}> |
list of links | Required | - | [{'text':'Homepage','url':'https://www.blockscout.com'}] |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_NETWORK_EXPLORERS | Array<NetworkExplorer> where NetworkExplorer can have following properties |
Used to build up links to transactions, blocks, addresses in other chain explorers. | - | - | [{'title':'Anyblock','baseUrl':'https://explorer.anyblock.tools','paths':{'tx':'/ethereum/poa/core/tx'}}] |
NEXT_PUBLIC_HIDE_INDEXING_ALERT | boolean |
Set to true to hide indexing alert, if the chain indexing isn't completed |
- | false |
true |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
title | string |
Displayed name of the explorer | Required | - | Anyblock |
baseUrl | string |
Base url of the explorer | Required | - | https://explorer.anyblock.tools |
paths | Record<'tx' | 'block' | 'address' | 'token', string> |
Map of explorer entities and their paths | Required | - | {'tx':'/ethereum/poa/core/tx'} |
Note The url of an entity will be constructed as <baseUrl><paths[<entity-type>]><entity-id>
, e.g https://explorer.anyblock.tools/ethereum/poa/core/tx/<tx-id>
Note The variables which are marked as required should be passed as described in order to enable the particular feature, but there are not required in the whole app context.
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED | boolean |
Set to true if network has account feature | Required | - | true |
NEXT_PUBLIC_AUTH0_CLIENT_ID | string |
Client id for Auth0 provider | Required | - | <your-secret> |
NEXT_PUBLIC_AUTH_URL | string |
Account auth base url; it is used for building login URL (${ NEXT_PUBLIC_AUTH_URL }/auth/auth0 ) and logout return URL (${ NEXT_PUBLIC_AUTH_URL }/auth/logout ); if not provided the base app URL will be used instead |
Required | - | https://blockscout.com |
NEXT_PUBLIC_LOGOUT_URL | string |
Account logout url. Required if account is supported for the app instance. | Required | - | https://blockscoutcom.us.auth0.com/v2/logout |
Note all ENV variables required for My account feature should be passed along side with the following ones:
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_CONTRACT_INFO_API_HOST | string |
Contract Info API endpoint url | Required | - | https://contracts-info.services.blockscout.com |
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST | string |
Admin Service API endpoint url | Required | - | https://admin-rs.services.blockscout.com |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID | string |
Project id for WalletConnect integration | Required | - | <your-secret> |
NEXT_PUBLIC_NETWORK_RPC_URL | string |
See in Blockchain parameters section | Required | - | https://core.poa.network |
NEXT_PUBLIC_NETWORK_NAME | string |
See in Blockchain parameters section | Required | - | Gnosis Chain |
NEXT_PUBLIC_NETWORK_ID | number |
See in Blockchain parameters section | Required | - | 99 |
NEXT_PUBLIC_NETWORK_CURRENCY_NAME | string |
See in Blockchain parameters section | Required | - | Ether |
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL | string |
See in Blockchain parameters section | Required | - | ETH |
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS | string |
See in Blockchain parameters section | - | 18 |
6 |
This feature is enabled by default with the slise
ads provider. To switch it off pass NEXT_PUBLIC_AD_BANNER_PROVIDER=none
.
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_AD_BANNER_PROVIDER | slise | adbutler | coinzilla | none |
Ads provider | - | slise |
coinzilla |
NEXT_PUBLIC_AD_ADBUTLER_CONFIG_DESKTOP | { id: string; width: string; height: string } |
Placement config for desktop Adbutler banner | - | - | {'id':'123456','width':'728','height':'90'} |
NEXT_PUBLIC_AD_ADBUTLER_CONFIG_MOBILE | { id: string; width: number; height: number } |
Placement config for mobile Adbutler banner | - | - | {'id':'654321','width':'300','height':'100'} |
This feature is enabled by default with the coinzilla
ads provider. To switch it off pass NEXT_PUBLIC_AD_TEXT_PROVIDER=none
.
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_AD_TEXT_PROVIDER | coinzilla | none |
Ads provider | - | coinzilla |
none |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_HAS_BEACON_CHAIN | boolean |
Set to true for networks with the beacon chain | Required | - | true |
NEXT_PUBLIC_BEACON_CHAIN_CURRENCY_SYMBOL | string |
Beacon network currency symbol | - | NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL |
ETH |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_IS_L2_NETWORK | boolean |
Set to true for L2 solutions | Required | - | true |
NEXT_PUBLIC_L1_BASE_URL | string |
Blockscout base URL for L1 network | Required | - | 'http://eth-goerli.blockscout.com' |
NEXT_PUBLIC_L2_WITHDRAWAL_URL | string |
URL for L2 -> L1 withdrawals | Required | - | https://app.optimism.io/bridge/withdraw |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_RE_CAPTCHA_APP_SITE_KEY | string |
See below | true | - | <your-secret> |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_GOOGLE_ANALYTICS_PROPERTY_ID | string |
Property ID for Google Analytics service | true | - | UA-XXXXXX-X |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_MIXPANEL_PROJECT_TOKEN | string |
Project token for Mixpanel analytics service | true | - | <your-secret> |
This feature is always enabled, but you can configure its behavior by passing the following variables.
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_GRAPHIQL_TRANSACTION | string |
Txn hash for default query at GraphQl playground page | - | - | 0x4a0ed8ddf751a7cb5297f827699117b0f6d21a0b2907594d300dc9fed75c7e62 |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_API_SPEC_URL | string |
Spec to be displayed on /api-docs page |
Required | - | https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_MARKETPLACE_CONFIG_URL | string |
URL of configuration file (.json format only) which contains list of apps that will be shown on the marketplace page. See below list of available properties for an app |
Required | - | https://example.com/marketplace_config.json |
NEXT_PUBLIC_MARKETPLACE_SUBMIT_FORM | string |
Link to form where authors can submit their dapps to the marketplace | Required | - | https://airtable.com/shrqUAcjgGJ4jU88C |
NEXT_PUBLIC_NETWORK_RPC_URL | string |
See in Blockchain parameters section | Required | - | https://core.poa.network |
Property | Type | Description | Compulsoriness | Example value |
---|---|---|---|---|
id | string |
Used as slug for the app. Must be unique in the app list. | Required | 'app' |
external | boolean |
true means that the application opens in a new window, but not in an iframe. |
- | true |
title | string |
Displayed title of the app. | Required | 'The App' |
logo | string |
URL to logo file. Should be at least 288x288. | Required | 'https://foo.app/icon.png' |
shortDescription | string |
Displayed only in the app list. | Required | 'Awesome app' |
categories | Array<MarketplaceCategoryId> |
Displayed category. Select one of the following bellow. | Required | ['security', 'tools'] |
author | string |
Displayed author of the app | Required | 'Bob' |
url | string |
URL of the app which will be launched in the iframe. | Required | 'https://foo.app/launch' |
description | string |
Displayed only in the modal dialog with additional info about the app. | Required | 'The best app' |
site | string |
Displayed site link | - | 'https://blockscout.com' |
string |
Displayed twitter link | - | 'https://twitter.com/blockscoutcom' |
|
telegram | string |
Displayed telegram link | - | 'https://t.me/poa_network' |
github | string |
Displayed github link | - | 'https://github.com/blockscout' |
For each application, you need to specify the MarketplaceCategoryId
to which it belongs. Select one of the following:
defi
exchanges
finance
games
marketplaces
nft
security
social
tools
yieldFarming
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_VISUALIZE_API_HOST | string |
Visualize API endpoint url | Required | - | https://visualizer.services.blockscout.com |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_STATS_API_HOST | string |
API endpoint url | Required | - | https://stats.services.blockscout.com |
This feature is enabled by default with the metamask
wallet type. To switch it off pass NEXT_PUBLIC_WEB3_DEFAULT_WALLET=none
.
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_WEB3_DEFAULT_WALLET | metamask | coinbase | none |
Type of Web3 wallet which will be used by default to add tokens or chains to | - | metamask |
coinbase |
NEXT_PUBLIC_WEB3_DISABLE_ADD_TOKEN_TO_WALLET | boolean |
Set to true to hide icon "Add to your wallet" next to token addresses |
- | - | true |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_CONTRACT_INFO_API_HOST | string |
Contract Info API endpoint url | Required | - | https://contracts-info.services.blockscout.com |
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_SENTRY_DSN | string |
Client key for your Sentry.io app | Required | - | <your-secret> |
SENTRY_CSP_REPORT_URI | string |
URL for sending CSP-reports to your Sentry.io app | - | - | <your-secret> |
NEXT_PUBLIC_APP_ENV | string |
Current app env (e.g development, review or production). Passed as environment property to Sentry config |
- | process.env.NODE_ENV |
production |
NEXT_PUBLIC_APP_INSTANCE | string |
Name of app instance. Used as custom tag app_instance value in the main Sentry scope |
- | - | wonderful_kepler |
For obtaining the variables values please refer to reCAPTCHA documentation.
Variable | Type | Description | Compulsoriness | Default value | Example value |
---|---|---|---|---|---|
NEXT_PUBLIC_RE_CAPTCHA_APP_SITE_KEY | string |
Site key | - | - | <your-secret> |