Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
In this section we explore different miners you can run at home:
Setup your own Bitcoin node on a raspberry pi the easy way by leveraging Umbrel, a home server OS. This tutorial will also cover the installation of an Electrum server to easily connect your wallets.
This page recaps the necessary hardware to setup your node with Umbrel.
Assemble the node's hardware
Set up the Bitcoin node with Bitcoin Core
Setup an Electrum server with Electrs.
This page recaps the necessary hardware to run your node from sources.

Assemble the node's hardware.
Login into the Raspberry Pi via SSH.
ssh -i your_private_key [email protected]ssh -i your_private_key username@IPConnect wallets to your node
sudo cat /var/lib/tor/electrs_hidden_service/hostnameManage the process of updating all programs to their latest stable version
Update the operating system
sudo apt update && sudo apt upgrade -yUpdate Bitcoin Core to newer version
bitcoind --versioncd ~/bitcoinUpdate Rust to newer versions
. "$HOME/.cargo/env"rustup updaterustup self updaterustc --versionUpdate Electrs to newer versions
cd ~/electrsgit fetch --allUpdate Node.js to newer versions
sudo apt update && sudo apt upgrade -y nodejssudo npm install -g npm@latestsudo npm update -gUpdate BTC RPC Explorer to newer versions.
cd ~/btc-rpc-explorergit fetch --allSetup your own lightning node (bitcoin layer 2) for instant and low cost transactions.
Add bitcoin liquidity to the Lightning node
Enable sending payments on the Lightning network.
Enable receiving payments on the Lightning network.

Get your own bitcoin lightning wallet on your IPhone or Android.
Create your own Bitcoin wallet to store, send and receive bitcoins.
Setup a bitcoin hardware wallet with Blockstream's Jade.

Restore your Jade wallet from your seed phrase
cd ~git clone https://github.com/janoside/btc-rpc-explorer.gitcd btc-rpc-explorer/git describe --tags `git rev-list --tags --max-count=20`git checkout -f <version-tag>npm updatenpm installnpm install zeromq@latestnpm install nan@latestnpm installtouch .envBTCEXP_HOST=192.168.1.52
BTCEXP_PORT=3002
BTCEXP_BITCOIND_HOST=127.0.0.1
BTCEXP_BITCOIND_PORT=8332
BTCEXP_BITCOIND_COOKIE=/home/your_user/.bitcoin/.cookie
BTCEXP_BITCOIND_RPC_TIMEOUT=5000
BTCEXP_PRIVACY_MODE=true
BTCEXP_BASIC_AUTH_PASSWORD=your_secure_password
BTCEXP_ADDRESS_API=electrum
BTCEXP_ELECTRUM_SERVERS=tcp://127.0.0.1:50001sudo cat /etc/systemd/system/btc-rpc-explorer.service[Unit]
Description=BTC-RPC-Explorer
Requires=electrs.service
After=electrs.service
[Service]
WorkingDirectory=/home/your_user/btc-rpc-explorer
ExecStart=npm run start
User=your_user
Group=your_user
Type=simple
Restart=on-failure
TimeoutSec=120
RestartSec=30
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reloadsudo systemctl enable btc-rpc-explorer.servicesudo systemctl start btc-rpc-explorer.servicevim views/node-details.pugif (getblockchaininfo.warnings && getblockchaininfo.warnings.trim().length > 0)
+contentSection("Active Warnings")
if (getblockchaininfo.warnings && getblockchaininfo.warnings.trim().length > 0)
span.text-danger #{getblockchaininfo.warnings}
else
span.text-success Noneif (getblockchaininfo.warnings)
+contentSection("Active Warnings")
if (getblockchaininfo.warnings)
span.text-danger #{getblockchaininfo.warnings}
else
span.text-success Nonesudo systemctl restart btc-rpc-explorer.servicegit fetch --allgit describe --tags `git rev-list --tags --max-count=20`git checkout -f <version-tag>make clean./autogen.sh./configure --without-gui # OPTION 1: Wallet functionalty enabled
./configure --without-gui --disable-wallet # OPTION 2: Wallet functionality disabledmake -j $(nproc)sudo systemctl stop electrs.servicesudo systemctl stop bitcoind.servicesudo make installsudo systemctl start bitcoind.servicesudo systemctl start electrs.servicebitcoind --versioncargo --versionrustup --versioncargo install-update -acargo install cargo-updategit describe --tags `git rev-list --tags --max-count=20`git checkout -f <version-tag>sudo systemctl stop electrs.service. "$HOME/.cargo/env"cargo build --locked --releasesudo systemctl start electrs.service~/electrs/target/release/electrs --versiongit describe --tags `git rev-list --tags --max-count=20`git checkout -f <version-tag>sudo systemctl stop btc-rpc-explorer.servicenpm updatenpm installsudo systemctl start btc-rpc-explorer.serviceMine Bitcoin remotely with no hardware setup or maintenance, using managed solutions.

1 TH/s = 1 trillion hashes per secondEfficiency (J/TH or W/TH) = Power (W) / Hashrate (TH/s)3510 / 234 = 15Bitaxe miners are quiet, cool, low-power, and fully open-source Bitcoin miners that you can run at home.
esp-miner-factory-401-v2.5.0.binsudo dmesg | grep tty[66383.261520] cdc_acm 3-3.2:1.0: ttyACM0: USB ACM devicemkdir flashing_bitaxe && mv ./esp-miner-factory-401-v2.5.0.bin flashing_bitaxe/ && cd flashing_bitaxepython3 -m venv venvsource venv/bin/activatepip install --upgrade bitaxetoolkey,type,encoding,value
main,namespace,,
hostname,data,string,my-super-bitaxe
wifissid,data,string,wifi-name
wifipass,data,string,wifi-password
stratumurl,data,string,public-pool.io
stratumport,data,u16,21496
stratumuser,data,string,replace-this-with-your-btc-address.my_super_bitaxe.my-super-bitaxe
stratumpass,data,string,password1234
fbstratumurl,data,string,solo.ckpool.org
fbstratumport,data,u16,3333
fbstratumuser,data,string,replace-this-with-your-btc-address.my_super_bitaxe.my-super-bitaxe
fbstratumpass,data,string,password1234
asicfrequency,data,u16,490
asicvoltage,data,u16,1166
asicmodel,data,string,BM1368
devicemodel,data,string,supra
boardversion,data,string,401
rotation,data,u16,0
autofanspeed,data,u16,1
fanspeed,data,u16,100
selftest,data,u16,1
overheat_mode,data,u16,0sudo venv/bin/bitaxetool --port /dev/ttyACM0 --firmware ./esp-miner-factory-401-v2.5.0.bin --config ./config.csvUpdate the system and install dependencies before compiling Bitcoin Core.
sudo apt update && sudo apt upgrade -ysudo cat /etc/ssh/sshd_config | grep PasswordAuthenticationsudo apt install ufwsudo ufw allow 22/tcpsudo ufw enablesudo ufw statussudo ufw status verbosesudo apt install torsudo usermod -a -G debian-tor your-usersudo systemctl enable torsudo systemctl start torsudo apt install git automake autoconf autotools-dev build-essential cmake make pkg-config protobuf-compiler libminiupnpc-dev libprotobuf-dev libdb++-dev libzmq3-dev libsqlite3-dev libboost-thread-dev libboost-test-dev libboost-all-dev libevent-dev libtool libssl-dev libboost-system-dev libboost-filesystem-dev capnproto libcapnp-devsudo apt install curlcurl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.shsudo -E bash nodesource_setup.shsudo apt install nodejsnode -vsudo npm install -g npm@latestsudo apt install -y clang cmakecurl https://sh.rustup.rs -sSf | shCompile and install Bitcoin Core from sources to spawn your node.
cd ~git clone https://github.com/bitcoin/bitcoin.gitcd bitcoin/git describe --tags `git rev-list --tags --max-count=20`v28.1
v28.1rc2-6-g36314b8da2
v28.1rc2-5-g58910279dc
v28.1rc2-4-g6a68ef9bfb
v28.1rc2-3-g5b368f88a9
v28.1rc2-2-g05cd448e33
v28.1rc2-1-g621c634b7f
v28.1rc2
v28.1rc1-10-g5576618152
v28.1rc1-9-g01fe07a2ce
v28.1rc1-8-g7ddfcf32da
v28.1rc1-7-ge0b27b234c
v28.1rc1-6-gbdc6b3e531
v28.1rc1-5-ga0585b6087
v28.1rc1-4-gbbde830b97
v28.1rc1-3-g227642d5af
v28.1rc1-2-gb8112cf422
v28.1rc1-1-g2835158be0
v28.1rc1
v28.0-15-g8fef83a0a0git checkout <version-tag> # Example: git checkout v28.1cmake -B build -DBUILD_GUI=OFF # OPTION 1: Wallet functionalty enabled
cmake -B build -DBUILD_GUI=OFF -DENABLE_WALLET=OFF # OPTION 2: Wallet functionality disabledcmake --build build -j $(nproc)sudo cmake --install build./autogen.sh./configure --without-gui # OPTION 1: Wallet functionalty enabled
./configure --without-gui --disable-wallet # OPTION 2: Wallet functionality disabledmake -j $(nproc)sudo make installbitcoin --versionbitcoind --versionConfigure Bitcoin Core before starting your node.
cd ~mkdir ~/.bitcointouch ~/.bitcoin/bitcoin.conf# Enable JSON-RPC API on port 8332
server=1
# Restrict JSON-RPC API to localhost only
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
# Run Bitcoin Core as a background daemon
daemon=1
# Accept incoming P2P traffic (port 8333) to be a full participant in the network
# If set to 0, other nodes can't sync from us, but we can still sync from them
listen=1
# Keep full index of all transactions, not just those of the node's wallet.
# Uses more space but allows querying any transaction by its txid
# We need it if we want to run an Electrum Server or a blockchain explorer
txindex=1
# Cache size in MBs. Lower it to 500 after the first blockchain sync is complete.
dbcache=3000
# Run the node **only** on the Tor network
onlynet=onion
proxy=127.0.0.1:9050
bind=127.0.0.1
# Use native segwit addresses by default
addresstype=bech32
changetype=bech32
python3 ~/bitcoin/share/rpcauth/rpcauth.py <username-of-your-choice>sudo vim /etc/tor/torrcSocksPort 9050
ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1sudo systemctl restart tor@defaulttor --hash-password "YourStrongPasswordHere"16:DCC57869A5B8899B60F099CCF421641762DDD9DEFBB385F28A2031CE3CSocksPort 9060
ControlPort 9061
HashedControlPassword
16:DCC57869A5B8899B60F099CCF421641762DDD9DEFBB385F28A2031CE3Csudo systemctl enable --now tor@tor4bitcoinproxy=127.0.0.1:9060torcontrol=127.0.0.1:9061
torpassword=YourStrongPasswordHeresudo vim /etc/systemd/system/bitcoind.service[Unit]
Description=Bitcoin Daemon
After=network.target
[Service]
User=your_user
PIDFile=/home/your_user/.bitcoin/bitcoind.pid
ExecStart=/usr/local/bin/bitcoind
Restart=always
TimeoutSec=120
RestartSec=30
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reloadStart your Bitcoin node and download the blockchain.
sudo systemctl enable bitcoind.servicesudo systemctl start bitcoind.servicetail -f ~/.bitcoin/debug.logbitcoin-cli -getinfobitcoin-cli getnetworkinfo[...]
"localaddresses": [
{
"address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.onion",
"port": 8333,
"score": 4
}
[...]bitcoin-cli getblockcountbitcoin-cli getblockchaininfosudo systemctl restart bitcoind.serviceConnect your Jade to the Green Wallet mobile application via Bluetooth.
Unlock your Jade to send and receive bitcoins.
Receive bitcoin on your Jade wallet.
Send bitcoin from your Jade wallet.
Lock your Jade when you're done using it


















Get started with mining Bitcoin




In this section we learn how to setup our own bitcoin node with different methods.
List of the necessary hardware.
Setup your own Lightnin node on a raspberry pi the easy way by leveraging Umbrel, a home server OS. This tutorial will also cover the setup of a mobile
ssh-keygen -t ed25519 -C "[email protected]"Create a new Bitcoin wallet with the Jade




















. "$HOME/.cargo/env"cd electrscargo build --locked --release~/electrs/target/release/electrs --versionmkdir ~/.electrs && mkdir ~/.electrs/db && touch ~/.electrs/config.tomlcookie_file = "/home/alex/.bitcoin/.cookie"
daemon_rpc_addr = "127.0.0.1:8332"
daemon_p2p_addr = "127.0.0.1:8333"
db_dir = "/home/alex/.electrs/db"
network = "bitcoin"
electrum_rpc_addr = "127.0.0.1:50001"
log_filters = "INFO"sudo vim /etc/tor/torrcHiddenServiceDir /var/lib/tor/electrs_hidden_service/
HiddenServicePort 50001 127.0.0.1:50001sudo systemctl restart torsudo vim /etc/systemd/system/electrs.service[Unit]
Description=electrs
Requires=bitcoind.service
After=bitcoind.service
[Service]
WorkingDirectory=/home/your_user/electrs
ExecStart=/home/your_user/electrs/target/release/electrs
User=your_user
Group=your_user
Type=simple
Restart=on-failure
TimeoutSec=120
RestartSec=30
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reloadsudo systemctl enable electrs.servicesudo systemctl start electrs.servicejournalctl -u electrs.service -f