User Tools

Site Tools


poolinfo:join:communitynode

This is an old revision of the document!


Farming using the Spacefarmer Community Node

Farming can be quite a struggle when running a full node with low specs. Chia allows many architectures, which makes it possible to (trustlessly) connect your farmer to a remote node. In this guide we will tell you why and how you would set this up.

Network Topology

The network structure looks like this:

                                                                     _____ Harvester 1 (certificate A)
                                                                    /
other network peers --- Spacefarmers Community Node --- Farmer (CA) ------ Harvester 2 (certificate B)
       |                                                            \_____  
       |                                                                   Harvester 3 (certificate C) 
       |
       |________________________________________________ Wallet 

The communication between the Community Node and your local Farmer is bi-directional; The Community Node feeds the farmer with it's mempool logic (we use the default mempool logic), and the Farmer asks the Community Node to propagate blocks to the rest of the network. As we allow only Spacefarmers to connect to the community node currently, incentives are aligned to also actually propagate the blocks to the network: it is in the interest of the community node to propagate blocks to maintain pool profitability.

Decentralization

The Spacefarmers Community Node does NOT sign your blocks, YOU do. As can be read in this criticism by Chia's Gene Hoffmann, any other way would not be to your advantage.

An advantage to decentralisation of running the Community Node is thus that netspace is more decentralized, as opposed to a farmer with low specs not joining the project at all. A downside is that this will not reflect in node-count.

Node Uptime

To ensure the highest possible uptime for the Community Node, we use a multi-node set-up behind a load balancer. This way, when we upgrade one of the nodes, you can rest assured that you will maintain a connection with a full node without disruption.

By default, the Chia farmer process reconnects immediately after losing connection to the full node; so even if you are currently load-balanced to a node that restarts or goes down for maintenance, your farmer will reconnect to the load balancer immediately and then be assigned another full node.

We currently operate with at least N-2 redundancy: that means that even if two backend nodes go down at the same time, there is enough capacity left on the other nodes to server all connected farmers.

How to connect

  • Chia 1.3.0 and up is required! Find the latest version of Chia here.
  • Make sure you stop all Chia processes by closing the GUI or chia stop all in the CLI.
  • In the config.yaml, which is located in C:\Users\<yourusername\.chia\mainnet\config (or $HOME/.chia/mainnet/config/), you will have to change
    farmer:
      full_node_peer:
        host: localhost
        port: 8444

    to

    farmer:
      full_node_peer:
        host: community-node.spacefarmers.io
        port: 8444
  • Make sure you have connect_to_unknown_peers: false.
  • If you use this node as a fail-safe node to your main node, make sure to copy + paste the pool info: from the config.yaml, as well as add your keys and plots.
  • In CLI chia start farmer-only
  • chia start harvester

Are my keys safe?

Yes! We don't ever see your secret keys. All necessary signing is still done by your farmer process.

Let us repeat this, because it's important: your keys are used to sign the blocks locally on your farmer. The Community Node is just used to send signage points to your farmer and eventually propagate your blocks to the network. Also note that all of this is using a completely unmodified node from Chia Network's codebase.

Regarding your wallet: as per Chia 1.3+, you can run your wallet without a full node. This way, your wallet doesn't rely on your own full node to sync, but instead uses the whole network. Your wallet won't use and won't trust our community node. Instead, wallets will switch to 'trustless mode' and do a P2P sync from the network for the wallet data.

If you have any suggestions or critiques, please reach out to us in our discord, so that we can continue to improve this.

poolinfo/join/communitynode.1655222657.txt.gz · Last modified: 2022/06/14 16:04 by earl

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki