BitClouds.sh Watchtower™

Watchtower is CLI Bitcoin wallet with LN support

wallet

Download

$ cd ~

$ wget https://raw.githubusercontent.com/bitcoin-software/bitbsd-clouds/master/client-util/watchtower.py

$ chmod +x watchtower.py

optionally make global

$ ln -s watchtower.py /usr/local/bin/watchtower

$ watchtower

How to install

You need python3.7 to run this app, so on Debian-like:

apt install python3.7

or on RedHat-like:

dnf install python3.7

or on FreeBSD:

pkg install python37

Also, you need dev-tools:

apt install python3.7-dev

You need pip for easier setup:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python3.7 get-pip.py

Then you need install set of dependencies from requirements.txt:

setuptools
python-gnupg
qrcode
paramiko
scp
console-menu
Pillow
pycryptodomex

So install them at once

python3.7 -m pip install setuptools python-gnupg qrcode paramiko scp console-menu Pillow pycryptodomex

or one by one like

python3.7 -m pip install setuptools

How to use

watchtower.py getinfo - when using in cli it is actaully a remote command line interface to your c-lightning, so refer to c-lightning RPC

{
    "address": [
        {
            "address": "188.165.223.61",
            "port": 51158,
            "type": "ipv4"
        },
        {
            "address": "snyrdjyzxgnsigcynah3lxlj5qwk6mg4s6od6ceqs5fa4zwxezsy5yad.onion",
            "port": 9735,
            "type": "torv3"
        }
    ],
    "alias": "anser [bitclouds.sh]",
    "binding": [
        {
            "address": "0.0.0.0",
            "port": 51158,
            "type": "ipv4"
        }
    ],
    "blockheight": 602341,
    "color": "ff0000",
    "fees_collected_msat": "0msat",
    "id": "0338ae2b71913af91800562bd7ef46d9e05ab424e50664b567e81b4564eb043e15",
    "msatoshi_fees_collected": 0,
    "network": "bitcoin",
    "num_active_channels": 2,
    "num_inactive_channels": 0,
    "num_peers": 4,
    "num_pending_channels": 0,
    "version": "v0.7.3"
}

To use as a interactive CLI-wallet, just run without arguments

./watchtower.py

wallet

Features

Bitcoin and Lightning Network CLI wallet both interactive and shell

3-minute setup nodes are built up from pre-configured and pre-synced c-lightning instances, so you dont have to wait for anything at all..

Non-custodial wallet you own your dedicated LN node in secure enviroment

REST API and SSH access to your LN node start your app development instantly!

wallet

e2e encrypted backups on decentralized content network - IPFS.io

Are you sure want perform backup? This action will turn off your LN node for a while! Proceed? (y/n)y
loading encryption keys
stopping cln
stopping c-lightning
stopped!
making archive
starting cln
started.. node was offline for 5 seconds
downloading backup archive to local storage
/tmp/bck.tar progress: 0%   
/tmp/bck.tar progress: 43%   
/tmp/bck.tar progress: 100%   
encrypting archive locally with GPG
upload encrypted archive to server
uploading archive to node
clightning.tar.gpg progress: 0%   
clightning.tar.gpg progress: 56%   
clightning.tar.gpg progress: 89%   
clightning.tar.gpg progress: 100%   
uploading to ipfs server
uploading to web servers
 ###### HERE IS YOUR BACKUP ######
 # Clearnet URL: https://bitbsd.org/backups/cln-109-20191104210055.tar.gpg
 # IPFS: https://bitclouds.link/ipfs/QmUkpdP5RAHa2LMEBp3FSSH7BbhnbrkjpVXjwPBh6MaYwy
 # Onion: http://carnikavazp6djqx.onion/cln-109-20191104210055.tar.gpg
 ######     END OF LINKS    ######
clean up locally, on node & ipfs
should I remove local unencrypted copy of backup? (y/n)n
moved to /tmp/cln-backup-191104-21:03:14.tar

seems like we finished! press any key...

Workdir

GPG encryption keys and SSH access keys are stored on your local pc where you execute Watchtower

[user@localhost ~]$ ls ~/.bitclouds/keys/gpg/
openpgp-revocs.d  private-keys-v1.d  pubring.kbx  pubring.kbx~  random_seed  trustdb.gpg
[user@localhost ~]$ ls ~/.bitclouds/keys/ssh/
ssh.key  ssh.key.pub