Skip to main content

GCP Marketplace Nodes

Deploy blockchain nodes without the need to install dependencies or manage configuration files. The nodes come with a copy of the databases locally which drastically reduces bootstrap times. The machine images are available for Flare Mainnet, Flare Testnet Coston2, Songbird Canary-Network, Songbird Testnet Coston and several other networks.

Head to Google Cloud Marketplace to get started.

Supported blockchain nodes

NameConfig DirvCPUsRAMDisk SizeDisk Type
Flare Mainnet/etc/flare416 GB830 GBBalanced
Flare Mainnet Rosetta/etc/flare_rosetta416 GB830 GBBalanced
Flare Testnet Coston2/etc/coston2416 GB280 GBBalanced
Flare Testnet Coston2 Rosetta/etc/coston2_rosetta416 GB280 GBBalanced
Songbird Canary-Network/etc/songbird832 GB2,730 GBBalanced
Songbird Testnet Coston/etc/coston416 GB280 GBBalanced
Other supported networks
NameConfig DirvCPUsRAMDisk SizeDisk Type
Algorand/etc/algorand813 GB70 GBBalanced
Avalanche/etc/avalanche816 GB530 GBBalanced
Bitcoin/etc/bitcoin216 GB1,030 GBBalanced
Binance Smart Chain/etc/bsc832 GB2,030 GBSSD
Cosmos Hub/etc/cosmos416 GB1,030 GBBalanced
Dogecoin/etc/dogecoin211 GB380 GBBalanced
Ethereum/etc/ethereum832 GB2,230 GBBalanced
Ethereum Holesky/etc/ethereum832 GB430 GBBalanced
Ethereum Sepolia/etc/ethereum832 GB730 GBBalanced
Filecoin Lotus/etc/filecoin1632 GB1,030 GBSSD
Litecoin/etc/litecoin212 GB330 GBBalanced
Polygon/etc/polygon1664 GB6,030 GBSSD
Songbird/etc/songbird832 GB2,730 GBBalanced
XRPL/etc/xrpl832 GB375 GBLocal SSD

Prerequisites

Ensure you have:

  • A Google Cloud account

  • A service account with at least the following permissions (these can be created beforehand or during the launch process):

    • roles/config.agent
    • roles/compute.admin
    • roles/iam.serviceAccountUser
  • Verify that the Quotas and System Limits, located in IAM and admin > Quotas and system limits, meet the resource requirements for the intended blockchain node

Setup a node

  1. Locate and launch the blockchain machine image

    Head to the Google Cloud Marketplace.

    Click the Launch button to proceed.

  2. Configure basic settings

    Choose the service account, source image, and region for your instance. To use an existing service account, click the Existing account button.

    Next, select the network where the node will be deployed, and configure basic firewall rules. Once done, click Deploy. This will launch a node with the deployment name, for example flare-node, in the Compute Engine > VM instances.

  3. Troubleshooting

    If you encounter any issues during the deployment process, refer to the Troubleshooting Section for guidance.

Connect to the node

Node operations are managed using the nodectl CLI tool.

sudo nodectl help

Configuration files are located in the /etc/<node_name> directory. For instance, Flare nodes will have their configurations in /etc/flare.

To start the node, connect to the instance and apply the services using:

# Applies all services configured in `/etc/<node_name>/config.yaml`
sudo nodectl apply --target all

Verify node operation

The quickest way to verify that the node is running is by using the built-in health checks. Logs can also be accessed in the /var/log/<node_name> directory, for example, /var/log/flare.

# Run health checks
sudo nodectl health
# Display detailed node information
sudo nodectl status

For live log monitoring, use nodectl:

sudo nodectl logs -f

For more log options, refer to the journalctl manual:

man journalctl

Troubleshooting

  • Deployment failure due to missing iam.serviceAccountUser role

    • Symptom: The deployment fails when deploying the solution for the first time and creating the deployment service account through the UI. The logs display an error message similar to:
      Error: Error waiting for instance to create: The user does not have access to service account '[email protected]'.
      User: '[email protected]'.
      Ask a project owner to grant you the iam.serviceAccountUser role on the service account.
    • Solution:
      1. Go to IAM and Admin > Service Accounts.
      2. Find the <project_number>[email protected] (Default Compute Service Account).
      3. Click on the service account, then open the Permissions tab.
      4. Click Grant Access, and set the Principal as the email address of the deployment service account (your email differs from the example).
      5. Assign the Service Account User role, then save the changes.
      6. Once done, return to the Marketplace, delete the current deployment, and redeploy using the newly configured service account.
  • Deployment failure due to Terraform state lock

    • Symptom: The deployment fails, and clicking Retry leads to Terraform state lock errors.
    • Solution: Instead of retrying, delete the failed deployment and start a new one.
  • Deployment failure due to exceeded quotas

    • Symptom: The deployment fails, displaying an error message in the logs similar to:
      Error: Error waiting for instance to create: Quota 'SSD_TOTAL_GB' exceeded.  Limit: 500.0 in region us-west1.
      metric name = compute.googleapis.com/ssd_total_storage
      limit name = SSD-TOTAL-GB-per-project-region
      limit = 500
      dimensions = map[region:us-west1]
    • Solution: Resource quotas need to be increased manually. To do this, refer to the Quotas and System Limits documentation and navigate to IAM & Admin > Quotas. After adjusting the quotas, delete the failed deployment and deploy a new one.