Yes! This can be done by connecting a Bitcoin Core client to a running Bitcoin Satellite node receiving data from Blockstream Satellite. The Bitcoin Satellite client will relay data received from Blockstream Satellite to any Bitcoin Core nodes connected to it. This can be set up in multiple ways.
First, by allowing the Bitcoin Satellite node to accept incoming connections via a local area network or external network. You simply add the Bitcoin Satellite client as a peer for the Bitcoin Core client and it will begin relaying data to the Core client.
Second, by running both Bitcoin Satellite and Bitcoin Core on the same device.
Note: This method requires more resources on a single device since you're doubling the storage space, CPU, and RAM requirements. You will also need to download and run Bitcoin Core from its own directory rather than installing it to your system. This will prevent one client's binary from overwriting the other's due to both being named bitcoind
.
Method A: Allowing incoming connections to the Bitcoin Satellite client
1.
Add this parameter to the Bitcoin Satellite bitcoin.conf
file. Make sure to restart your client afterwards for the changes to be made.
listen=1
2.
Open port 8333
in your firewall to allow connections from external Bitcoin clients. This example uses the ufw
firewall.
sudo ufw allow 8333
sudo ufw enable
3.
Connect any Bitcoin Core clients to the Bitcoin Satellite client. To do so, add the IP address of the Bitcoin Satellite client to the bitcoin.conf
files of the Core clients.
Method B: Run both Bitcoin Satellite and Bitcoin Core on the same computer
1.
Since we'll be running two clients on the same computer, we need to specify different data directories for them to store their Bitcoin blockchain data, and different ports to communicate on. This can be accomplished by adding the appropriate parameters to each client's bitcoin.conf
.
Create separate data directories for each Bitcoin client.
mkdir ~/bitcoincore
mkdir ~/bitcoinsatellite
2.
Add the Bitcoin Satellite client's IP address to the Core client's bitcoin.conf
file so it can automatically connect.
addnode="address of the Bitcoin Satellite client here"
3.
Run each node with these command line arguments to point them to their respective data directories and to set each client's port to communicate on.
bitcoind -datadir=/home/username/bitcoinsatellite -rpcport=9332 -port=9333
/path/to/bitcoincore/bitcoind -datadir=/home/username/bitcoincore -rpcport=8332 -port=8333
After both clients have been started, the Bitcoin Satellite client should begin to relay data to the Core client.