All Projects → BitcoinCacheMachine → BitcoinCacheMachine

BitcoinCacheMachine / BitcoinCacheMachine

Licence: other
Run privacy-preserving Bitcoin payment infrastructure at your home or office. Deploy on commodity x64_86.

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to BitcoinCacheMachine

trustedcoin
A lightningd plugin that replaces your own Bitcoin Core node with trusted public explorers.
Stars: ✭ 24 (+33.33%)
Mutual labels:  lightning, lightning-network
lightning-qt
bitcoin-qt for lightningd
Stars: ✭ 36 (+100%)
Mutual labels:  lightning, lightning-network
lightning-jet
Lightning Jet is a fully automated rebalancer for Lightning nodes. Jet optimizes channel liquidity allocation based on routing volume, missed routing opportunities (htlcs), and other variables.
Stars: ✭ 33 (+83.33%)
Mutual labels:  lightning, lightning-network
umbrel-middleware
RESTful Bitcoin and Lightning API for Umbrel
Stars: ✭ 21 (+16.67%)
Mutual labels:  lightning, lightning-network
LightningBuddy
Twitter Client for Lightning JSON-RPC interface
Stars: ✭ 38 (+111.11%)
Mutual labels:  lightning, lightning-network
lightningj
Core implementation of the lightningj API implementations.
Stars: ✭ 41 (+127.78%)
Mutual labels:  lightning, lightning-network
shango-lightning-wallet
Shango Lightning Wallet
Stars: ✭ 65 (+261.11%)
Mutual labels:  lightning, lightning-network
Lndhub
Wrapper for Lightning Network Daemon. It provides separate accounts and trust minimization for end users
Stars: ✭ 203 (+1027.78%)
Mutual labels:  lightning, lightning-network
lnd-routing
Lightning network liquidity service
Stars: ✭ 16 (-11.11%)
Mutual labels:  lightning, lightning-network
lnregtest
Regtest Lightning Networks for (python) integration testing
Stars: ✭ 17 (-5.56%)
Mutual labels:  lightning, lightning-network
lntop
⚡ LN terminal dashboard 📊
Stars: ✭ 170 (+844.44%)
Mutual labels:  lightning, lightning-network
rawtxapp
⚡️A lightning network wallet (https://rawtx.com).
Stars: ✭ 56 (+211.11%)
Mutual labels:  lightning, lightning-network
Eclair Mobile
An Android wallet for the Lightning Network
Stars: ✭ 231 (+1183.33%)
Mutual labels:  lightning, lightning-network
lightningtip
Get tips via the Lightning Network
Stars: ✭ 91 (+405.56%)
Mutual labels:  lightning, lightning-network
Spark Wallet
⚡️ A minimalistic wallet GUI for c-lightning, accessible over the web or through mobile and desktop apps.
Stars: ✭ 215 (+1094.44%)
Mutual labels:  lightning, lightning-network
zapread.com
Website for zapread.com
Stars: ✭ 19 (+5.56%)
Mutual labels:  lightning, lightning-network
Lncli Web
Light-weight web client for the lnd daemon written in NodeJS / Angular.
Stars: ✭ 181 (+905.56%)
Mutual labels:  lightning, lightning-network
Ln Service
Node.js interface to LND
Stars: ✭ 191 (+961.11%)
Mutual labels:  lightning, lightning-network
pi-factory
Bootstrap a bitcoin lightning box for Raspberry Pi 3 based on Alpine Linux
Stars: ✭ 17 (-5.56%)
Mutual labels:  lightning, lightning-network
lightning-browser-extension
The Bitcoin Lightning Browser extension that connects to different wallet interfaces and brings deep lightning integration to the web
Stars: ✭ 194 (+977.78%)
Mutual labels:  lightning, lightning-network

Bitcoin Cache Machine

Bitcoin Cache Machine is open-source software that allows you to create and manage one or more Bitcoin-focused privacy-preserving personal payment systems (perfect for long-term HODLers). BCM scripts allow you to quickly deploy a purely software-defined bitcoin payment stack to your local Ubuntu machine, or any Ubuntu-based SSH endpoint (e.g., SSH over LAN, SSH over Tor onion). BCM is built entirely with free and open-source software and is meant primarily for long-term Bitcoin HODLrs that want to run their own Bitcoin node infrastructure along with privacy-preserving technologies such as JoinMarket for on-chain UTXO management, and c-Lightning for access to Bitcoin's high-speed and low-free payment network, Lightning.

Project Status

IMPORTANT! BCM is brand new and unstable, only use testnet coins! Builds will be formally tagged using the public key PGP.pub once a stable proof-of-concept has been created. The master branch represents the most up-to-date stable, and tested, version of BCM. Main development occurs on this fork farscapian/BitcoinCacheMachine.

BCM HAS NOT undergone formal security evaluation and should be considered for TESTING PURPOSES ONLY.

YOU ASSUME ALL RISK IN USING THIS SOFTWARE!!!

Why Bitcoin Cache Machine Exists

If you're involved with Bitcoin or care about your privacy, you will undoubtedly understand the importance of running your own node. Running a fully-validating node is easy enough--just download the software and run it on your home machine, but is that really enough to preserve your overall privacy? Did you configure it correctly? Are you also running a properly configured block explorer? Is your software up-to-date? Are you ensuring that all your UTXOs are unlinked from your identity and all your services using Tor?

There are many areas where your privacy can be compromised if you're not careful. BCM is meant to handle many of these concerns by creating a software-defined data center at your home or office that's pre-configured to protect your overall privacy. If you can provide the necessary hardware (CPU, memory, disk), a LAN segment, and an internet gateway, BCM can do much of the rest.

For more information about the motivations behind Bitcoin Cache Machine, visit the public website.

Development Goals

Here are some of the development goals for Bitcoin Cache Machine:

  • Provide a self-contained, distributed, event-driven, software-defined data center that focuses on operational Bitcoin and Lightning-related IT infrastructure.
  • Enable small-to-medium-sized scalability by adding commodity x86_x64 hardware for home and small office settings.
  • Allow for multi-tenancy; support multiple users on the same hardware.
  • Integrate free and open source software (FOSS)!
  • Create a composable framework for deploying Bitcoin and Lightning-related components, databases, visualizations, web-interfaces, etc., allowing app developers to start with a fully-operational baseline data center.
  • Automate the deployment and operation (e.g., backups, updates, vulnerability assessments, key and password management, etc.) of BCM deployments.
  • Require hardware wallets for cryptographic operations (PGP, SSH, and Bitcoin transactions).
  • Configure all software to protect user's privacy (e.g., TOR for external communication, disk encryption, minimal attack surface, etc.).

What is needed to Run Bitcoin Cache Machine

You need an x86 machine capable of running a Debian-based Linux. At least 2 Network Iterfaces are required (wireless works, not recommended). At a minimum, you need AT LEAST ONE SSD. Better to have two configured in a BTRFS pool. For better disaster recovery, you should have AT LEAST ONE SD card attached as well. Again, if you have TWO configured in a BTRFS pool, even better. Finally, you can add ONE OR MORE spinning HDDs all configured in a BTRFS pool for capacity. See the public website for instructions on configuring the various tiers of storage used by BCM.

Getting Started

Run the following commands to run the BCM git_bcm.sh script. If you want to collaborate on BCM, first fork it to your github account then run the commands below, updating the BITHUB_REPO environment variable with your repo.

# download the BCM init script; VERIFY CONTENTS!
GITHUB_REPO="BitcoinCacheMachine/BitcoinCacheMachine"
wget "https://raw.githubusercontent.com/$GITHUB_REPO/master/get.sh"

# WARNING: YOU SHOULD ALWAYS DO YOUR DUE DILLEGENCE BEFORE RUNNING
# A SCRIPT ON YOUR COMPUTER. YOU SHOULD NOT TRUST THIS SOFTWARE UNLESS
# YOU HAVE VIEWED AND AUDITED ITS CODE PERSONALLY!

# make the script executable then run it
chmod 0744 ./get.sh
./get.sh --repo="$GITHUB_REPO"

The script above installs the latest tor proxy, then pulls the specified BCM git repo to your machine at ~/bcm. Next, run the installer script. This installs necessary software as well as makes the bcm command available to the user's shell environment.

./install.sh

You may want to log out for your group membership to update.

Next, run bcm deploy at the command line to deploy your first BCM instance. If your machine supports Type-1 VMs, bcm is deployed using fully-fledged virtual machines. If not, BCM uses LXD projects to provide tenant separation. Once fully deployed, BCM exposes services on your local network.

Documentation

The best documentation can be found using the CLI --help menus. You can also consult the README.md files in the major directories of this repo. Consult CLI README for notes on how to use the BCM CLI.

How to contribute

See How to Contribute for additional details on contributing to the overall project. We need testers software testers, documentation, and of course BASH Developers capable of programming LXD and Docker, among many other mostly back-end software.

Issues

Currently BCM tracks "issues" with the software using # TODO stanzas in the code itself. Once BCM becomes stable enough, public accounting of issues will be allowed. In the meantime, collaborate with developers using the Keybase group.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].