Edit

Getting Started

welcome

Welcome to Coda Genesis Program applicants!

Thank you for helping us reach the milestone of over 150 active participants! We're working hard to improve the testnet's ability to handle a large magnitude of new node operators.

Documentation on how to run a node is still accurate and up to date, and we’d love for you to continue to familiarize yourself with how to run a Coda node.

As always we will continue to post updates in the #announcements channel in Discord. If you're interested in knowing when the Testnet is ready to connect to, feel free to set an alarm for Februrary 14th for an official update.

This section will walk you through the requirements needed to run a Coda protocol node on your local machine and connect to the network.

note

This documentation is for the beta release. The commands and APIs may change before the initial release. Last updated for version 0.0.13-beta.

Requirements

Software: macOS or Linux (currently supports Debian 9 and Ubuntu 18.04 LTS)

Note: Windows is not officially supported at this time. However, community members succeeded in setting up nodes using Windows Subsystem for Linux. Click here for instructions on using Windows, which are created by the community.

Hardware: Sending and receiving coda does not require any special hardware, but running a block producer on the Coda network currently requires:

  • at least a 4-core processor
  • at least 8GB of RAM

Note that if you plan on running a snark worker node, you may need more RAM -- 16GB is recommended. GPUs aren't currently required, but may be required for node operators when the protoctol is upgraded.

Network: At least 1 Mbps connection

VM Instances: O(1) Labs has tested running nodes on several cloud providers, and recommends the following instances for basic node operator needs. Keep in mind that custom requirements as well as different cost constraints may require a different instance type.

Installation

The newest binary releases can be found below. Instructions are provided for macOS and Linux below:

This is a large download, around 1GB, so the install might take some time.

warning

If you installed coda from a previous release, you'll need to upgrade it so that you won't get banned by the network for using an older client. See instructions below for upgrading both macOS and Linux builds.

macOS

Install using Homebrew.

brew install codaprotocol/coda/coda

If you already have coda installed from a previous release, run:

brew upgrade coda

You can run coda -help to check if the installation succeeded.

Ubuntu 18.04 / Debian 9

Add the Coda Debian repo and install:

sudo apt-get remove coda-testnet-postake-medium-curves
sudo apt-get remove coda-kademlia
echo "deb [trusted=yes] http://packages.o1test.net release main" | sudo tee /etc/apt/sources.list.d/coda.list
sudo apt-get update
sudo apt-get install -t release coda-testnet-postake-medium-curves

If you already have coda installed from a previous release, running the above commands should automatically uninstall and reinstall the newest version. If you're installing Coda from scratch, you may see this error when you run the first command: E: Unable to locate package coda-testnet-postake-medium-curves. You can ignore this - it just means there wasn't a prior release installed.

You can run coda -help to check if the installation succeeded.

Windows

Windows is not yet supported. If you are interested in receiving a grant to develop Coda for Windows, please email grants@o1labs.org or reach out in the Discord server.

Build from source

If you're running another Linux distro or a different version of macOS, you can try building Coda from source code. Please note that other operating systems haven't been tested thoroughly, and may have issues. Feel free to share any logs and get troubleshooting help in the Discord server.

Set up port forwarding and any firewalls

If you are running a firewall, you should allow traffic on TCP port 8303. Additionally, unless the -external-ip YOUR_IP flag is provided, the daemon will use HTTPS (443) and HTTP (80) to try and determine its own IP address.

You may need to configure your router's port forwarding to allow inbound traffic to the following ports through your external IP address.

  • TCP port 8302 and 8303

For walk-through instructions see this guide.

Next

Now that you've installed Coda and configured your network, let's move on to the fun part - sending a transaction!