POA Forum

BlockScout Ethereum Block Explorer on AWS. Prerequisites

BlockScout Ethereum Block Explorer on AWS. Prerequisites.

To get started with setup and deployment, you will need:

  • An active AWS account. RDS root user and password: Note the username and password for your database instance. Key to access EC2 Instance (InstanceKey): Located at: EC2 Dashboard -> Network & Security -> Key Pairs. An SSH key may be imported or created.Database storage needs vary by chain. For reference, the table below shows the estimated amount of storage required to index individual chains.
Chain Storage(GiB)
POA Core 200
POA Sokol Testnet 400
Kovan Testnet 800
Ethereum Classic 1000
Ropsten Testnet 1500
Ethereum Mainnet 4000
  • Access to an archive node running a blockchain with an EVM client. The node will be connected during installation using the ETHEREUMJSONRPCHTTPURL parameter. BlockScout currently supports Geth, Parity, RSK and Ganache.
  • ARNCertificate: created/imported ssl certificate in AWS Certificate Manager service, copy “ARN path certificate”
  • CognitoCollbackDomain: Comma-separated list your blockscout domain(s) name with “oauth2/idpresponse” part. Example: https://your.domain/oauth2/idpresponse or https://LoadBalancerDNS/oauth2/idpresponse, https://your.domain/oauth2/idpresponse If you have your own domain, you will add it here and add “/oauth2/idpresponse to the end.If you do not have a domain, leave this field blank. It will be populated with the LoadBalancerDNS created at the end of the process.
    Example: https://your.domain/oauth2/idpresponse
  • CognitoUserEmail: valid email for receiving temporary password. Example: your@mail.domain

Chain Parameters

Typically the default settings do not need to change except settings in bold or unless your chain has unique requirements.

Parameter Default Description
ADDRESSWITHBALANCESUPDATEINTERVAL 1800 Interval in seconds to restart the task which calculates addresses with balances.
ALLOWEDEVMVERSIONS homestead, tangerineWhistle, spuriousDragon, byzantium, constantinople, petersburg A comma-separated list of allowed EVM versions for contracts verification. More info available here.
ARNCertificate ARN your ARN path certificate, example: arn:aws:acm:us-east-1:123456789012:certificate/1156aa0c-daa3-4cb1-af6d-6f16202ebf2c
BLOCKCOUNTCACHEPERIOD 600 Cache TTL in seconds
BLOCKTRANSFORMER base Transformer for blocks: base or clique. Typically will stay as base unless you are using POA Clique consensus on the Rinkby testnet (or another chain)
COIN POA The coin symbol name entered here is checked via the Coinmarketcap API to obtain USD prices on graphs and other areas of the UI
COINMARKETCAPPAGES 10 The number of pages on coinmarketcap to check in order to find the token price. Pages are in groups of 100.
CognitoCallbackDomain https://your.domain/oauth2/idpresponse Comma-separated list your blockscout domain(s) name with https://“oauth2/idpresponse” part. Example: https://your.domain/oauth2/idpresponse
CognitoUserEmail your@mail.domain Valid email for receiving temporary password.
CognitoUserName user enter username for login in BS
DBInstanceClass db.t3.medium Size of DB instance. A default value is specified, and may be scaled up if required.
DBPassword RDS password RDS root password.
DBStorage 200 Size of DB in GiB. Recommended DB sizes per chain.
DBSubnetCIDR1 10.0.1.0/24 CIDR for AZ1 of RDS instance
DBSubnetCIDR2 10.0.2.0/24 CIDR for AZ2 of RDS instance
DBUser dbadmin RDS root user
DBVersion 10.6 Postgres engine version
ETHEREUMJSONRPCHTTPURL rpc endpoint Network RPC endpoint. Example: http://localhost:8545]
ETHEREUMJSONRPCTRACEURL rpc endpoint Network RPC endpoint in trace mode. Can be the same as the previous variable
ETHEREUMJSONRPCVARIANT parity Variable is used to tell the application which RPC Client the archive node is using. See dropdown for choices
ETHEREUMJSONRPCWSURL ws endpoint Network RPC endpoint in websocket mode. Example: ws://localhost:8546
GRAPHIQLTRANSACTION 0x transaction example Default transaction in query to GraphiQL. Can be a random transaction (0x…) on the destination chain.
HEARTBEATTIMEOUT 30 Timeout period to restart the application if it crashes.
HEARTCOMMAND sudo systemctl restart explorer.service Command to restart the application when it crashes.
InstanceClass t3.medium Size of BlockScout instance - A default value is specified, and may be scaled up if required.
InstanceKey EC2 key Key to access EC2 Instance
NETWORK POA Name of the network/ organization responsible for the individual network. For example: POA, Ethereum
NETWORKICON _network_icon.html Select _network_icon.html for production networks, _test_network_icon.html for test networks
NETWORKPATH / Relative URL path, for example: blockscout.com/$NETWORKPATH. Used when you are planning to launch a number of BlockScout instances
POOLSIZE 20 Defines the number of database connections allowed.
PublicSubnetCIDR 10.0.0.0/24 CIDR for subnet with EC2 instances
SECRETKEYBASE assets key Secret key for production assets protection in base64 which is generated by the user. To create, run openssl rand -base64 64 | tr -d '\n'
SUBNETWORK Sokol Individual network name. For example: Core, Sokol, Mainnet, Kovan.
TXSCOUNTCACHEPERIOD 7200 Interval in seconds to restart the total transactions count task.
VPCCIDR 10.0.0.0/16 Amazon Virtual Private cloud - range of specified addresses Primary CIDR block for your VPC.