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.
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 propogate blocks to the rest of the network. As we allow only Spacefarmers to connect to the community node currently, incentizes are aligned to also actually propogate the blocks to the network.
As opposed to a seamingly similar set-up by another pool, the Spacefarmers Community Node does NOT sign your blocks, YOU do. As can be read in this criticism, any other way would not be to your advantage. An advantage to decentrality 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.
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 of such processes.
chia stop allin the CLI
C:\Users\<yourusername\.chia\mainnet\config, you will have to change
farmer: full_node_peer: host: localhost port: 8444
farmer: full_node_peer: host: community-node.spacefarmers.io port: 8444
chia start farmer-only
chia start harvester
As per Chia 1.3+, you can run your wallet without a full node. This makes it so that your wallet doesn't rely on your 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.
Your keys are used to sign the blocks locally on your farmer. The Community Node is just used to propogate your blocks to the network. Also note that everything is implemented in
run and is using the infrastructure hooks laid out by the Chia Company.
If you have any suggestions or critiques, please reach out to us in our discord, so that we can continue to improve this.