bisq/seednode
HenrikJannsen 14c188afbe
Use ThreadPoolExecutor with custom set queueCapacity instead of CachedThreadPool
The previously used newCachedThreadPool carries higher risk for execution exceptions if exceeded.

Originally we had only one executor with a corePoolSize of 15 and a maximumPoolSize of 30 and queueCapacity was set to maximumPoolSize.
This was risky when the 15 corePool threads have been busy and new messages or connection creation threads are
queued up with potentially significant delay until getting served leading to timeouts.
Now we use (if maxConnections is 12) corePoolSize of 24, maximumPoolSize 36 and queueCapacity 10. This gives
considerable headroom. We also have split up the executors in 2 distinct ones.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2022-12-16 17:38:23 -05:00
..
docker Remove myAddress from docs and scripts as it is not used/needed anymore 2019-03-08 10:58:53 -05:00
src Use ThreadPoolExecutor with custom set queueCapacity instead of CachedThreadPool 2022-12-16 17:38:23 -05:00
.dockerignore Merge seednode repository at eedf81c 2018-09-14 11:51:34 +02:00
bisq.env Install tor from tor repository and add external tor as default 2022-06-23 00:49:16 +02:00
bisq.service Install tor from tor repository and add external tor as default 2022-06-23 00:49:16 +02:00
bitcoin.conf Tweak seednode bitcoin.conf, remove timeout, separate testnet block 2020-08-29 08:54:05 +09:00
bitcoin.service Add one command installation script for tor + btcnode + seednode 2019-12-20 21:35:12 +09:00
blocknotify.sh Add missing blocknotify.sh script and README instructions 2019-11-17 04:29:49 -10:00
create_jar.sh Merge seednode repository at eedf81c 2018-09-14 11:51:34 +02:00
create_jaronly_archive.sh Add script to create seednode jar archive without jar deps 2019-12-06 22:40:54 +09:00
docker-compose.yml Merge seednode repository at eedf81c 2018-09-14 11:51:34 +02:00
install_seednode_debian.sh Not use git lfs anymore 2022-09-15 09:21:37 +02:00
README.md Combine separate gradlew clean and build commands into a single command 2020-06-17 22:35:02 -07:00
torrc Install tor from tor repository and add external tor as default 2022-06-23 00:49:16 +02:00
uninstall_seednode_debian.sh Additional tweaks to seednode installation script for new use cases (#3944) 2020-02-07 14:41:35 +01:00

Bisq Seed Node

Hardware

Highly recommended to use SSD! Minimum specs:

  • CPU: 4 cores
  • RAM: 8 GB
  • SSD: 512 GB (HDD is too slow)

Software

The following OS's are known to work well:

  • Ubuntu 18.04
  • Ubuntu 20.04
  • FreeBSD 12

Installation

Start with a clean Ubuntu server installation, and run the script

curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/seednode/install_seednode_debian.sh | sudo bash

This will install and configure Tor, Bitcoin, and Bisq-Seednode services to start on boot.

Firewall

Next, configure your OS firewall to only allow SSH and Bitcoin P2P

ufw allow 22/tcp
ufw allow 8333/tcp
ufw enable

Syncing

After installation, watch the Bitcoin blockchain sync progress

sudo tail -f /bitcoin/debug.log

After Bitcoin is fully synced, start the bisq service

sudo systemctl start bisq
sudo journalctl --unit bisq --follow

After Bisq is fully synced, check your Bitcoin and Bisq onion hostnames:

sudo -H -u bitcoin bitcoin-cli getnetworkinfo|grep address
sudo cat /bisq/bisq-seednode/btc_mainnet/tor/hiddenservice/hostname

Testing

After your Bisq seednode is ready, test it by connecting to your new btcnode and bisq!

macOS:

/Applications/Bisq.app/Contents/MacOS/Bisq --seedNodes=foo.onion:8000 --btcNodes=foo.onion:8333

Monitoring

If you run a main seednode, you also are obliged to activate the monitoring feed by running

bash <(curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/monitor/install_collectd_debian.sh)

Follow the instruction given by the script and report your certificate to the seednode group!

Upgrading

To upgrade your seednode to a new tag, for example v1.2.5

sudo -u bisq -s
cd bisq
git fetch origin
git checkout v1.2.5 # new tag
./gradlew clean build -x test
exit
sudo service bisq restart
sudo journalctl --unit bisq --follow

Uninstall

If you need to start over, you can run the uninstall script in this repo

sudo ./delete_seednode_debian.sh

WARNING: this script will delete all data!