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...
Get started with mining Bitcoin
In this section we learn how to setup our own bitcoin node with different methods.
Setup your own lightning node (bitcoin layer 2) for instant and low cost transactions.
This page recaps the necessary hardware to setup your node with Umbrel.
Set up the Bitcoin node with Bitcoin Core
In this section we explore different miners you can run at home:
Assemble the node's hardware
Update Rust to newer versions
. "$HOME/.cargo/env"rustup updaterustup self updaterustc --versionLogin into the Raspberry Pi via SSH.
ssh -i your_private_key [email protected]ssh -i your_private_key username@IPcargo --versionrustup --versioncargo install-update -acargo install cargo-updateUpdate BTC RPC Explorer to newer versions.
Update Node.js to newer versions
Enable receiving payments on the Lightning network.
List of the necessary hardware.
Connect wallets to your node
sudo systemctl enable bitcoind.servicesudo systemctl start bitcoind.service
Setup an Electrum server with Electrs.
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.
Create your own Bitcoin wallet to store, send and receive bitcoins.
Assemble the node's hardware.
Restore your Jade wallet from your seed phrase
cd ~/btc-rpc-explorergit fetch --allsudo apt update && sudo apt upgrade -y nodejssudo npm install -g npm@latestsudo npm update -gsudo cat /var/lib/tor/electrs_hidden_service/hostnameUpdate the operating system
sudo apt update && sudo apt upgrade -ytail -f ~/.bitcoin/debug.logbitcoin-cli -getinfobitcoin-cli getnetworkinfo[...]
"localaddresses": [
{
"address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.onion",
"port": 8333,
"score": 4
}
[...]bitcoin-cli getblockcountbitcoin-cli getblockchaininfosudo systemctl restart bitcoind.servicegit 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.serviceReceive bitcoin on your Jade wallet.
Lock your Jade when you're done using it
Update Bitcoin Core to newer version
bitcoind --versioncd ~/bitcoinSetup a bitcoin hardware wallet with Blockstream's Jade.
Connect your Jade to the Green Wallet mobile application via Bluetooth.
Unlock your Jade to send and receive bitcoins.
Send bitcoin from your Jade wallet.
Install an Electrum server with Electrs.
Manage the process of updating all programs to their latest stable version
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
Make your own Bitcoin node from source.
This page recaps the necessary hardware to run your node from sources.
sudo apt update && sudo apt upgrade -ygit fetch --allgit describe --tags `git rev-list --tags --max-count=20`git checkout -f <version-tag>





make clean./autogen.shsudo 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 | 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 --versioncd ~git clone https://github.com/romanz/electrs.git. "$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 -fssh-keygen -t ed25519 -C "[email protected]"




Enable sending payments on the Lightning network.
Update Electrs to newer versions
Get your own bitcoin lightning wallet on your IPhone or Android.
Add bitcoin liquidity to the Lightning node







cd ~/electrsgit fetch --allcd ~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 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 --versioncd ~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-reloadcd ~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 --versionlsblk -o NAME,FSTYPE,FSSIZE,FSAVAIL,MOUNTPOINTsudo umount /dev/sda1
sudo umount /dev/sda2
sudo umount /dev/sdasudo dd if=/home/alex/Downloads/umbrelos-pi4.img of=/dev/sda bs=1M status=progressCreate a new Bitcoin wallet with the Jade
Mine 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 = 15



















Bitaxe 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.csv