Skip to content

Quick Start Guide

Edward Teach edited this page Feb 28, 2022 · 1 revision

Read the Beginners Guide First

This is a more intermediate guide. If you have not read the Beginners Guide, do that first.

Install

To install chinilla-blockchain, follow these install instructions according to your operating system. This software only supports 64 bit operating systems.

All configuration data is stored in a directory structure at the $CHINILLA_ROOT environment variable or at ~/.chinilla/vanillanet/. You can find databases, and logs there. Optionally, you can set $CHINILLA_ROOT to the .chinilla directory in your home directory with export CHINILLA_ROOT=~/.chinilla and if you add it to your .bashrc or .zshrc to it will remain set across logouts and reboots. If you set $CHINILLA_ROOT you will have to migrate configuration items by hand or unset the variable for chinilla init to work with unset CHINILLA_ROOT.

If you are using the MacOS or Windows builds, your keys are created during the first run. We recommend saving the mnemonic. You can start plotting a plot file using the Plot tab or the command line. This can take a long time depending on the size of the plots (the k variable). To be competitive on vanillanet you will probably have to have a few k=32 or larger plots but a k=32 plot currently takes about 10 hours to plot on an M.2 PCIe NVMe SSD and requires 232 GiB of temporary working space to create a final plot file of 101.3 GiB. Your likelihood of winning a given plot is only driven by the final size of files.

The minimum plot size is k=32. Plots created with Beta 8 and newer version of the chinilla software will work on vanillanet.

If you want more peers and better network connectivity, you should also try opening port 8444 on your router so other peers can connect to you. Follow this guide but using port 8444 instead of 8333. This helps the network be more decentralized. For further details about sync issues and port 8444, visit the Resolving Sync Issues page.

Using the Command-line Interface (CLI)

Using the CLI with Chinilla gives you greater and more precise control. For a more details on the commands, read the CLI Commands Reference.

Windows

You can learn how to use the Graphical User Interface (GUI) in Beginners Guide.

You can start with the Command Line Interface (CLI) by checking the commands available in ~\AppData\Local\Chinilla-Blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\. Try .\chinilla -h or .\chinilla plots -h for example:

  1. Open PowerShell

    On start menu type "powershell" and press the enter key.

  2. Change Directory cd

    On PowerShell type cd $env:localAPPDATA\Chinilla-Blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\ and press the enter key.

  3. Read Chinilla help

    On PowerShell type .\chinilla -h and press the enter key.

For more information you can check these Windows Tips & Tricks and read more about commands in general in CLI Commands Reference.

You can view your logs by opening ".chinilla\vanillanet\log\debug.log" with a text editor like notepad or see it as it runs in PowerShell by using Get-Content, Get-Content ~\.chinilla\vanillanet\log\debug.log -wait.

MacOS

There are commands available in /Applications/Chinilla.app/Contents/Resources/app.asar.unpacked/daemon Try ./chinilla -h or ./chinilla plots -h for example. You can view your debug.log as it runs in from Terminal, tail -f ~/.chinilla/vanillanet/log/debug.log.

A handy trick is to add that directory to your path - export PATH=/Applications/Chinilla.app/Contents/Resources/app.asar.unpacked/daemon:$PATH. To make it persistent add the same line to your .bashrc or .zshrc

Linux

If you installed Chinilla with the Linux installer files, your chinilla executable should be in one of the following locations:

/usr/lib/chinilla-blockchain/resources/app.asar.unpacked/daemon/chinilla

/lib/chinilla-blockchain/resources/app.asar.unpacked/daemon/chinilla

If you installed from source (using git), just activate and run chinilla directly.

Development/source builds

If you've installed via the installers you can skip these steps.

Remember that once you complete your install you must be in the Python virtual environment which you access from the chinilla-blockchain directory, or the Windows "Chinilla Blockchain" directory, or your home directory if you opted for a binary install. Enter the virtual environment with the command . ./activate. Both dots are critical and once executed correctly your cli prompt will look something like (venv) username@machine:~$ with (venv) prepended.

Use deactivate should you want to exit the venv. If you're not a fan of dots, an equivalent alternative on most platforms is source venv/bin/activate and you'll see that method in places in this documentation.

Migrate or set up configuration files

chinilla init

Generate keys

Create some keys by running the following script if you don't already have keys:

chinilla keys generate

Run a full node + farmer + harvester + wallet

To run a full node on port 8444, and connect to the vanillanet, run the following command. Logs are usually at ~/.chinilla/vanillanet/logs/debug.log or ~.chinilla\vanillanet\logs\debug.log on Windows

sh install-gui.sh
cd chinilla-blockchain-gui
npm run electron &

Farmers are entities in the network who use their drive space to try to create blocks (like Bitcoin's miners), and earn block rewards.

You can use the command line tools and change the working directories and output directory for plotting, with the "-t" (temp), "-2" (second temp), and "-d" (destination) arguments to the chinilla plots create command. -n 2 will create two plots of type k=32 and take about 12 hours on NVMe drives in the example below.

chinilla plots create -k 32 -n 2
chinilla plots check -n 30

Note that in the dev build the commands are chinilla plots create and chinilla plots check.

Run a timelord

Note If you want to run a Timelord on Linux, see BUILD_TIMELORD.md. Information on blue boxes coming soon.

Timelords execute sequential verifiable delay functions (proofs of time or VDFs), that get added to blocks to make them valid. This requires fast CPUs and a few cores per VDF as well as completing the install steps above and running the following from the chinilla-blockchain directory:

. ./activate
sh install-timelord.sh
chinilla start timelord &

Alternatively run the local simulation

You can instead run the simulation, which runs all servers and multiple full nodes, locally. Note the the simulation is local only and requires installation of timelords and VDFs. The introducer will only know the local ips of the full nodes, so it cannot broadcast the correct ips to external peers. This should work on MacOS and Linux.

chinilla start simulator

Tips

Ubuntu 20.04 LTS or newer, Amazon Linux 2, and CentOS 7.7 or newer are the easiest linux install environments.

UPnP is enabled by default to open port 8444 for incoming connections. If this causes issues, you can disable it in config.yaml. Or you can run this command: chinilla configure -upnp false Some routers may require port forwarding, or enabling UPnP in the router's configuration.

RPC Interface

The Node has an RPC Interface with documentation.

Clone this wiki locally