Installing your own Bitcoin node

From Bisq Wiki
Revision as of 10:50, 31 October 2023 by SuddenWhipVapor (talk | contribs)
Jump to navigation Jump to search

It is best practice that any Bitcoin user installs his own node, to send and verify his own transactions; moreover, if you use Bisq consistently, you are strongly encouraged to do so, to make the bitcoin network operations much more stable, and especially reduce the risk of needing SPV resync on a wallet that contains many transactions. Even when a SPV resync is needed, it will be much painless if done while connected to your own node.

Hardware requirements

The most demanding part of a Bitcoin node is disk space: 1TB is considered the bare minimum, and a SSD is recommended, as the constant write operations would risk damaging the average mechanical disk.

The following are viable hardware options to host the node:

  • dedicated Raspberry Pi 3
    • pros: very small, low power, completely silent
    • cons: no builtin display, keyboard nor storage, needs more initial maintenance
  • refurbished laptop with at least 8GB of RAM
    • pros: comes with display, keyboard, and basic storage (existing storage will need to be replaced or expanded), can run other services and act as a full fledged home server, has builtin UPS, could be cheaper than a raspberry
    • cons: drains more power and is slightly more expensive than a Raspberry Pi 3, takes up more space on your shelf
  • your daily driver machine
    • pros: no need to source additional hardware (except the storage if it's not enough), will likely not suffer from the limited additional overhead of a Bitcoin node
    • cons: you either have to leave it always turned on, to keep updated with blocks as soon as they are mined, or will have to wait a variable amount of time for it to catch up to the current block height after you turn it on, and before you can use Bisq with it


You should consider running a dedicated low-power system, which could be hosted on a Raspberry Pi 3 as long as the Bitcoin node is the most demanding service it will run, but your daily driver machine will run Bitcoin Core without issues, provided you

server=1
pruned=0
peerbloomfilters=1

which in turn:

  • enable the block server mode
  • disable the pruning of old blocks
  • allow Bisq to run its SPV wallet

Multiple reports have been received, where any declination of the Ronin node just won't work, or will work once, only to stop working after the next reboot, requiring a restore to network provided nodes. We are not able to suggest a workaround, except involving Ronin support.

Connecting to a local Bitcoin node

If you're running a Bitcoin full node on the same machine as Bisq, Bisq should connect to your node on startup—it will look for Bitcoin Core or bitcoind running on localhost on port 8333.

Just make sure to not be running any other Bitcoin-based altcoin nodes (like LTC) while starting Bisq.

Connecting to another Bitcoin node

By default, Bisq maximizes your privacy by connecting to nodes run by trusted Bisq contributors.

If you'd like to connect to another node, you can specify its address in Settings > Network Info. Bisq will validate the address and connect to the specified node the next time it starts.

Bisq supports connecting to Bitcoin nodes with Tor v3 addresses: this is the easiest path to take, since you only have to fill in your node's onion address in settings.
If your node is on your local network, connecting directly to it rather than using Tor would reduce latency by a sensible degree. In order to do this:

  • make sure the node's firewall allows incoming connections on port 8333 from the local network
  • have Bitcoin daemon listen to 0.0.0.0 rather than 127.0.0.1 (add a line that says bind 0.0.0.0)
  • uncheck "Use Tor for Bitcoin network" under Settings>Network in Bisq application
  • fill in your node's local network ipaddress:8333 in "Use custom bitcoin Core nodes" field

Explaining in detail each step of the above goes past the scope of this guide, yet you can usually find more information either by searching for specific guides, or asking on discussion boards/groups.

Troubleshooting

Most of the issues experienced by users come from trying to associate to a Ronin Dojo node, which often won't let Bisq connect a second time, if at all even the first; we are not aware of any reproducible solution to this, and suggest to use a different node distribution for Bisq.

If you get into a state where Bisq is unable to connect, you can revert to a provided node as follows.

For MacOS:

Bisq -btcNodes=emzybtc3ewh7zihpkdvuwlgxrhzcxy2p5fvjggp7ngjbxcytxvt4rjid.onion:8333 -useTorForBtc=true 

For Linux:

/opt/bisq/bin/Bisq -btcNodes=emzybtc3ewh7zihpkdvuwlgxrhzcxy2p5fvjggp7ngjbxcytxvt4rjid.onion:8333 -useTorForBtc=true 

For Windows:

C:\Users\your-username-here\AppData\Local\Bisq\Bisq.exe -btcNodes=emzybtc3ewh7zihpkdvuwlgxrhzcxy2p5fvjggp7ngjbxcytxvt4rjid.onion:8333 -useTorForBtc=true 

Contributor nodes can be seen here in the Bisq code.

More info on running from the command line.

More info on command line options.