Welcome

   Introduction

   Lantah Software Stack

   Operations List

Tutorials

   Create an Account

   Send/Receive

   Follow Received Payments

   Handling Errors

   Securing Web Projects

Run a Node
   Overview

   Prerequisites

   Installing

   Configuring

   Publishing Archives

   Running

   Monitoring

   Commands

   Upgrading

   Tier 1 Organizations

Run an API Server

   Overview

   Prerequisites

   Installing

   Configuring

   Remote Captive Core

   Running

   Ingestion

   Monitoring

   Scaling

Software/SDKs

   Software and SDKs

Glossary

   Glossary

Prerequisites

You can install GramR a number of different ways, and once you do, you can configure it to participate in the network on a several different levels: it can be either a Basic Validator or a Full Validator. No matter how you install GramR or what kind of node you run, however, you need to set up to connect to the peer-to-peer network and store the state of the ledger in a SQL database.

Compute Requirements

GramR is designed to run on relatively modest hardware so that a whole range of individuals and organizations can participate in the network, and basic nodes should be able to function pretty well without tremendous overhead.

 

The more you ask of your node, the greater the requirements. In general, the following minimum system requirements should be adequate:

     dual core 2.5 GHz

     8 GB RAM

     500GB+ SSD

If you decide to run GramR on the same machine as Gravity (though note that this is a deprecated architecture, since Gravity bundles GramR for its needs), you will additionally need to ensure that your setup is also equipped to handle GramR’s compute requirements as well.

Network access

GramR interacts with the peer-to-peer network to keep a distributed ledger in sync, which means that your node needs to make certain TCP ports available for inbound and outbound communication.

  • Inbound: a GramR node needs to allow all IPs to connect to its PEER_PORT over TCP. You can specify a port when you configure GramR, but most people use the default, which is 11625.

  • Outbound: a GramR needs to connect to other nodes via their PEER_PORTs TCP. You can find information about other nodes’ PEER_PORTs on a network explorer like Stellarbeat, but most use the default port, which is, again, 11625.

Internal System Access

GramR also needs to connect to certain internal systems, though exactly how varies based on your setup.

  • Outbound:

    • GramR requires access to a PostgreSQL database. If that database resides on a different machine on your network, you’ll need to allow that connection. You specify the database when you configure GramR.

    • You can block all other connections.

  • Inbound: GramR exposes an unauthenticated HTTP endpoint on its HTTP_PORT. You can specify a port when you configure GramR, but most people use the default, which is 11626.

    • The HTTP_PORT is used by Gravity to submit transactions, so may have to be exposed to the rest of your internal IPs

    • It’s also used to query GramR info and provide metrics

    • And to perform administrative commands such as scheduling upgrades and changing log levels

    • For more on that, see commands

Note: if you need to expose your HTTP endpoint to other hosts in your local network, we recommended using an intermediate reverse proxy server to implement authentication. Don’t expose the HTTP endpoint to the raw and cruel open internet.