You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-10Lines changed: 41 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,12 @@
1
-
# Bitcoin Full Node on macOS with Lima VM
1
+
# Bitcoin Development Toolkit for macOS with Lima VMs (Core Nodes, Layer 2, BTCFi)
2
2
3
-
This repository provides Lima VM templates to run a Bitcoin full node on macOS (Apple Silicon) using either Bitcoin Core (v29.0), Bitcoin Knots (v28.1.knots20250305), or Bitcoin Core Testnet4. Using Lima VM allows running Bitcoin Core mainnet and testnet4 conflict-free simultaneously, ideal for development environments. All templates automate installation, verify binary signatures and checksums for security, generate a random RPC password, and configure the node as a systemd service with a dedicated storage path. Bitcoin Knots, a fork of Bitcoin Core, includes additional features like enhanced mempool policies. The Testnet4 template supports development and testing on the testnet4 network.
3
+
This repository provides Lima VM templates to run Bitcoin full nodes on macOS (Apple Silicon) using Bitcoin Core (v29.0) for mainnet, testnet3, and testnet4. Each template runs in its own isolated Lima VM, allowing you to operate multiple networks simultaneously without conflicts. All templates automate installation, verify binary signatures and checksums for security, generate a random RPC password, and configure the node as a systemd service with a dedicated storage path. The macOS host never runs any bitcoind instances directly; all nodes run inside their respective Lima VMs for maximum isolation and safety.
4
4
5
5
## Prerequisites
6
6
7
7
- Lima (`brew install lima`)
8
8
- Storage path with ~600GB+ free space (e.g., `/Volumes/MyDrive`)
9
+
-`bitcoin-cli` installed on macOS host (`brew install bitcoin`)
9
10
10
11
## Setup
11
12
@@ -18,9 +19,9 @@ This repository provides Lima VM templates to run a Bitcoin full node on macOS (
18
19
19
20
2. Choose a template:
20
21
21
-
- For Bitcoin Core: Use `bitcoin-core.yaml`.
22
-
- For Bitcoin Knots: Use `bitcoin-knots.yaml`.
23
-
- For Bitcoin Core Testnet4: Use `bitcoin-testnet4.yaml`.
22
+
- For Bitcoin Core mainnet: Use `bitcoin-core.yaml`.
23
+
- For Bitcoin Core testnet3: Use `bitcoin-testnet3.yaml`.
24
+
- For Bitcoin Core testnet4: Use `bitcoin-testnet4.yaml`.
24
25
25
26
3. Update the template:
26
27
@@ -29,7 +30,7 @@ This repository provides Lima VM templates to run a Bitcoin full node on macOS (
29
30
```bash
30
31
sed -i '''s|/Volumes/Storage|/Volumes/MyDrive|g'<template-file>
31
32
```
32
-
Replace `<template-file>` with `bitcoin-core.yaml`, `bitcoin-knots.yaml`, or `bitcoin-testnet4.yaml`.
33
+
Replace `<template-file>` with `bitcoin-core.yaml`, `bitcoin-testnet3.yaml`, or `bitcoin-testnet4.yaml`.
33
34
- Ensure your storage path exists and has sufficient space.
34
35
35
36
4. Create and start VM:
@@ -39,9 +40,7 @@ This repository provides Lima VM templates to run a Bitcoin full node on macOS (
39
40
limactl start <vm-name>
40
41
```
41
42
42
-
Replace `<vm-name>` with `bitcoin-core`, `bitcoin-knots`, or `bitcoin-testnet4`, and `<template-file>` with the chosen template.
43
-
44
-
- Note: Bitcoin Knots downloads may be slow; allow extra timefor`limactl start` to complete.
43
+
Replace `<vm-name>` with `bitcoin-core`, `bitcoin-testnet3`, or `bitcoin-testnet4`, and `<template-file>` with the chosen template.
45
44
46
45
5. Verify:
47
46
@@ -50,9 +49,41 @@ This repository provides Lima VM templates to run a Bitcoin full node on macOS (
50
49
bitcoin-cli getblockchaininfo
51
50
```
52
51
52
+
## Example bitcoin.conf for bitcoin-cli and development
53
+
54
+
The macOS host never runs bitcoind directly. Instead, you can use `bitcoin-cli` (installed via Homebrew) to interact with your nodes running inside the Lima VMs. For development or scripting, you may want a `~/.bitcoin/bitcoin.conf` file on your macOS host to define multiple networks and RPC credentials. Here is an example:
55
+
56
+
```ini
57
+
[main]
58
+
rpcuser=bitcoinuser
59
+
rpcpassword=your_mainnet_rpc_password
60
+
rpcconnect=127.0.0.1
61
+
rpcport=8332
62
+
63
+
[test]
64
+
testnet=1
65
+
rpcuser=bitcoinuser
66
+
rpcpassword=your_testnet3_rpc_password
67
+
rpcconnect=127.0.0.1
68
+
rpcport=18332
69
+
70
+
[testnet4]
71
+
testnet=4
72
+
rpcuser=bitcoinuser
73
+
rpcpassword=your_testnet4_rpc_password
74
+
rpcconnect=127.0.0.1
75
+
rpcport=28332
76
+
```
77
+
78
+
Adjust the `rpcpassword` and `rpcport` values to match those generated in your VM's `bitcoin.conf` files. This setup allows you to use `bitcoin-cli` on your macOS host to connect to any of your running nodes for mainnet, testnet3, or testnet4.
79
+
53
80
## Usage
54
81
55
-
- Run `bitcoin-cli getblockchaininfo` inside the VM to check node status.
82
+
- Run one of the following inside the VM to check node status:
0 commit comments