Comb Downloader NG
Comb downloader NG is a tool to sync a haircomb wallet with a bitcoin full node.
Description
Setting up a bitcoin qt in RPC mode to serve blocks is not simple, it's done
differently across the versions, and if not done correctly, may expose your BTC wallet
to your network. That's why there's this tool, that can sync your haircomb wallet
by connecting to any bitcoin full node, locally or remotely.
Quick start
Run any recent version of bitcoin-qt, combfullui and this tool. No config needed.
0.1.7
Fix start with previous headers storage data
0.1.6
Headers storage, Natasha user agent (optional).
0.1.5
Minor fix (notifier can't be nil)
0.1.4
Pricecharter fixes, minor fixes.
0.1.3
Improved price charter support. Realtime loops. Multiple uploaders. Fix crash if lna or rna is nil.
0.1.2
Tor privacy fix. Support HTTP2 for the internal (:8332) socket.
0.1.1
Fixed pinger thread leak. Fixes download interrupt after 2 minutes bug when syncing from a local node.
0.1.0
Initial version, able to catch up with bitcoin nodes in mainnet and testnet mode, more testing needed
Command line options
my-btc-full-node=127.0.0.1:8333
This specifies the Bitcoin Full node under the user's control whose blockchain is assumed to be the valid chain.
By default, the localhost full node is used. Because the downloader follows this blockchain, the haircomb core will
also follow this chain. Make sure you control and trust the node specified, otherwise the remote BTC node operator may serve you
some incorrect blockchain. Can be IPv4, domain, IPv6 or Tor.
testnet
Sync with testnet. Changes genesis hash / default your btc node port / default RPC server port
regtest=genesishash
Sync with regtest. Sets the genesis hash / default your btc node port / default RPC server port
add-node=127.0.0.1:8333
Adds a block puller node. Can be IPv4, domain, IPv6 or Tor. These nodes are only used to download blocks from, not headers.
Option can be used multiple times.
addnode=127.0.0.1:8333
Same as add-node.
checkpoint=hash
Specify a bitcoin block hash to use as checkpoint. This block must be reached, otherwise no download is made.
Specify how many extra block puller nodes, for instance 5 nodes, are discovered and used. They are discovered
from the bitcoin P2P network. Don't use this option if you need extra privacy or want to sync over the LAN only.
comb-nodes=5
Specify how many extra comb (accelerator + bloom) nodes, for instance 5 nodes, are discovered and used. They are discovered
from the bitcoin P2P network. Don't use this option if you need extra privacy or want to sync over the LAN only.
uploader=ip:port
Starts a bitcoin server on ip:port. Enter 0.0.0.0:8333 to open port 8333 to the public. Used to seed headers, accelerators and blooms to help any nodes who need them.
This does serve (proxies) full blocks to bitcoin nodes, there a risk of large-scale traffic from your node.
To limit the maximum count of nodes that can connect, use ip:port/maximum.
accelerator=hash
Use this option to add a highest accelerator hash. That hash must be contained within the provided files, otherwise no accelerated download is made.
Watch out for Accelerator hash could not be activated errors when using this option.
add-file-ro=filename.hax
Add accelerator file READ ONLY. Multiple accelerator files can be provided, they will all be used. If the files could be untrusted, please use the accelerator option to defend yourself.
add-file-rw=filename.hax
Add accelerator file READ WRITEABLE. Multiple accelerator files can be provided, they will all be used. If the files could be untrusted, please use the accelerator option to defend yourself.
usecase-accelerator
Enables extra data for the accelerator file generator application (transactions IDs in blocks). Not needed for accelerated download.
usecase-pricecharts
Enables extra data for the price charts appliaction.
force-tor
Force tor for all connections.
tor
Specifies tor ip:port. Port is usually 9150 or 9151.
timeout
Pings each node every this many seconds.
miner-difficulty=number
Specifies miner-difficulty. Enter 0 to deactivate miner. The minimal difficulty (very cpu light) is 1.
miner-functions=number
Specifies miner-functions. Enter 0 to deactivate miner. The recommended value is 7.
gossip=ip:port
Adds ip:port to address book. Tells other nodes about ip:port, both when they want to know about nodes, or just when they connect. Gossip can be specified multiple times.
nodes-cap=number
Capacity of the map containing all known IPs.
Comb btc transactions for comb transfers using this combfullui
Push transactions which have comb transfers to this pricecharter for broadcast
v
Print version and exit.
h
Print help and exit.
Unused options (could be removed in future version, don't do anything in this version)
recycle-headers, reorg, bottom, acc-cap, bannednodes-cap, nested, force-bloom