Prerequisites & Install Parameters

Prerequisites and installation parameters

Installation Prerequisites:

Required:

  1. Valid email address: You will receive a temporary password used to access your instance.

  2. Amazon EC2 Public Key (InstanceKey). You must create or upload a key pair to your AWS account. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html

  3. ARNCertificate: You must create or import an ssl certificate to the AWS Certificate Manager service. This requires a registered domain name you can access.

  4. Access to a full archive node running a blockchain with an EVM client. The node will be connected during installation using the EthereumJsonRPC parameters. BlockScout currently supports Geth, Parity, RSK and Ganache.

Optional: Route traffic following deployment:

If you leave the CognitoCallbackDomain parameter blank during installation and want to use your own domain later, you will need to route traffic to the LoadBalancer and change the Cognito App client settings.

A) Re-route your DNS

B) Configure Cognito settings

AWS Installation:

See Install from AWS Marketplace for an installation walkthrough.

Installation Parameters:

Most parameters can be left as default during installation. For a full list of variables see the ENV variables list.

During configuration, the first item to input is Stack Name. This is an identifier that helps you find a particular stack from a list of stacks. It must start with an alphabetic character and can't be longer than 128 characters.

The following parameters require a user-input value.

ParameterValue

ARNCertificate

SSL certificate from point 3 above. More information on certificates is available here: https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html Example: arn:aws:acm:us-east-1:123456789012:certificate/1156aa0c-daa3-4cb1-af6d-6f16202ebf2c

CognitoCallbackDomain

Add the domain(s) where you will access BlockScout and append “/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

Enter any valid email. You will receive a temporary password here after deployment. Example: youremail@email.com

DBPassword

Add a secure password here for database access. Must contain only letters and numbers, and be 8 characters or more. Record this password for later access.

EthereumJsonRPCHttpURL

This is the node url used to fetch blocks, transactions, receipts & tokens. See the instructions on setting up a node on AWS for more information. If setup through AWS, you can find the address in EC2 Dashboard -> Instances -> click to corresponding archive node instance. You will retrieve the ip address and add the port number afterwards. The port for Nethermind is 8545. Example: http://node.ip.address:8545

EthereumJsonRPCTraceURL

Input the same value as above. This is used to fetch internal transactions and block traces. Example: http://node.ip.address:8545

EthereumJsonRPCWsURL

The Network RPC endpoint in websocket mode. The default Nethermind port is 8545. Example: ws://localhost:8545

GraphiQLTransaction

Any transaction from the chain can be used. This hash provides a sample query in the GraphIQL Playground and always begins with “0x…” Example: 0x9415741aa80cacb3e2a9f48506010a3f31fddc7e7a00421381b4e4679d5eba20

IngressIPRangeLB

IP address range for access to your LoadBalancer instance. Recommend using 0.0.0.0/0 for access from all IPs, or specify your local IP with your.ip/32. You can find your ip here: https://support.google.com/websearch/answer/1696588

InstanceKey

From step 2 above. The instance key name is located at EC2 Dashboard -> Network & Security -> Key Pairs. It should be available as a dropdown in the template.

SecretKeybase

Secret key for production assets protection in base64. You can generate this on the command line of your local machine using the following command: "openssl rand -base64 16" Example: d29vbmcyY2hhaUNvaG5nCg==

Last updated