Overview
StackPath is one of several infrastructure companies taking part in the Solana Server Program. For more information on this program, please visit the Official Solana Server Program page.
This article will serve as a guide to help walk you through the deployment of a node on SP//.
After signing up for the Solana Server Program and choosing StackPath, you will receive an email containing a Server Program User Guide. We highly-recommend reviewing this PDF guide prior to deploying a Solana Validator or RPC with StackPath, as it contains crucial information.
If you did not receive this PDF user guide, please reach out to hi@stackpath.com.
Creating a Workload
If you can’t perform the initial login into your account, it may have timed out. Perform a password reset to proceed.
Follow the steps below in order to create and deploy a Solana Validator or RPC.
Step 1: Create a Workload
- In the StackPath Control Portal, in the left-side navigation, click Edge Compute.
- Click Create Workload.
-
In Name, enter a descriptive name for the Workload.
- We used hello-medium for this example.
- In Workload Type, select VM.
-
In OS Image, select Ubuntu 20.04, which is listed as
stackpath-edge/ubuntu-2004-focal:v202102241556
in the drop-down.- Solana recommends using version 20.04 of Ubuntu for validator deployments, which is the version we are using in our example.
- Please note, that the string
v202102241556
at the end of the OS Image name may differ from the one you see on your screen. This string indicates the image's upload date, therefore, we will replace it with the latest version when applicable.
- Click Continue to Settings.
Step 2: Workload Settings
-
In Public Ports, specify the ports to allow traffic through TCP or UDP.
- By default, all traffic to the Workload is denied.
-
We recommend allowing traffic to the following ports:
- Port 22 - Allows us to connect to our Workload via SSH
-
Ports 8000-10000 (Solana Validator) - Allows connections to the Solana Validator
-
In
- Click Continue to Spec.
Step 3: Spec, Storage, and Deployment
-
Under Spec, select SV-1 (32 vCPU, 256GB RAM, 25GB Root Disk).
- The Solana Validator requires a large amount of compute resources to run optimally. StackPath has created the SV-1 Spec to meet these requirements.
-
Under Persistent Storage, enter the mount path and storage size.
- You may select the mount path of your choice, which will be used to store your ledger and logs. We used /var/lib/data in our example below.
- Please make sure the storage size is set to 1788GB.
-
Under Deployment Target, under Name, enter a descriptive name for the deployment target.
- We chose the name mia01 in our example below to indicate that this is the first deployment target in Miami.
-
Under PoPs, select the locations to deploy the Workload.
- Select the PoPs that you were assigned by the Server Program Concierge team.
-
Under Instances Per PoP, enter the number of instances to deploy per PoP.
- For example, if you selected Miami and London, and you enter 2, then a total of 4 instances will be deployed, 2 in Miami and 2 in London.
- We recommend leaving the Enable Auto Scaling setting disabled.
- Click Create Workload.
Only create workloads in PoPs supported by Solana and do not create more instances than they will support.
Viewing Workload Details
- In the StackPath Control Portal, in the left-side navigation, click Edge Compute.
- In the left-side navigation, click Workloads.
-
Click a specific Workload.
- For a newly created Workload, under Instances, the Workload will display a Starting status. After a few minutes, the Workload will be fully deployed, and the full instance list will display a Running status.
- Every Workload is monitored for basic metrics, such as CPU and memory usage.
Deployment times vary on a few factors, however if your Instance hasn’t deployed in 20 minutes, please reach out to Support.
Running the Solana Validator
Once your instance has successfully deployed, you can then start running the Solana Validator.
Please make sure you've installed the Solana CLI and reviewed Solana's Starting a Validator guide for further information.
Key Items
Ledger and Log Locations
Please note that is is necessary to set the ledger and log locations to make use of the persistent storage mount path configured in the Workload (we used /var/lib/data in this example). If you do not set the ledger location using your mount path, then the ledger will attempt to install on the 25GB boot partition instead and you will run out of space.
We suggest using the following options when starting the validator:
-
--log /var/lib/data/solana-validator.log
--ledger /var/lib/data/ledger
Permissions
If you do not provide the Solana Validator with permissions to access the mount path (/var/lib/data), then you will receive a permission denied error when trying to run the Solana Validator.
Common Errors
[0m Received no response at tcp/8000, check your port configuration: timed out waiting on receive operation
This error indicates that the required ports are not open. To resolve this, you should review the network policies for your Workload and ensure that ports 8000-10000 TCP/UDP are allowed to 0.0.0.0/0.
ESC[0m obtained shred-version 8573 from 34.83.231.102:8001 Unable to access account path: “/var/lib/data/accounts”, err: Os { code: 13, kind: PermissionDenied, message: “Permission denied"
This error indicates that the user running the Solana Validator does not have permissions to access the mount path. To resolve this you should review the mount path permissions.