Mỗi bên xử lý thanh toán đứng giữa đều mang theo điều khoản riêng, KYC riêng và nút đóng băng số dư riêng. BTCPay Server bỏ đi khâu trung gian. Hóa đơn được tạo trên máy chủ của bạn, khách trả tiền vào một địa chỉ sinh ra từ ví của bạn, và chính node Bitcoin của bạn xác nhận thanh toán. Không ai ngoài bạn có thể tắt nó.
Nó dành cho cửa hàng, freelancer và dịch vụ đã nhận bitcoin — hoặc muốn nhận — và không muốn giao việc đó cho một công ty.
Chọn gói nào
BTCPay chạy thành khoảng bảy container: ứng dụng BTCPay, NBXplorer (theo dõi chuỗi), Bitcoin Core, Postgres và nginx phía trước với Let's Encrypt tự động. Trên máy chủ thử nghiệm của chúng tôi, lúc khởi động chúng dùng khoảng 0,7 GB RAM, còn Bitcoin Core lấy nhiều hơn khi đồng bộ; 4 GB là dư dả. Giới hạn thật sự là ổ đĩa, không phải bộ nhớ.
| Cấu hình | Gói |
|---|---|
| BTC on-chain, node pruned giữ ~5 GB block | Small-IP: 4 vCPU, 4 GB, 35 GB ($16/tháng) |
| Như trên, dư thêm chỗ cho log và cập nhật | Medium-IP: 6 vCPU, 6 GB, 45 GB ($20/tháng) |
| Lightning, cửa sổ block lớn hơn hoặc thêm một coin | Pro-32: 8 vCPU, 32 GB, 400 GB ($40/tháng), theo yêu cầu |
Bạn cần gói có IPv4 riêng: khách truy cập BTCPay qua HTTPS, và Let's Encrypt phải tới được cổng 80. Chọn Đức hoặc Phần Lan, nơi nào còn chỗ khi đặt hàng — với trang thanh toán, độ trễ gần như không đáng kể. Và vì mục đích là nhận crypto, thật hợp lý khi bản thân máy chủ cũng được trả bằng crypto, không cần KYC.
Cài đặt
Trỏ pay.example.com về máy chủ, rồi với quyền root trên Ubuntu 24.04 hoặc Debian 12 mới cài:
mkdir BTCPayServer && cd BTCPayServer
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
export BTCPAY_HOST="pay.example.com"
export LETSENCRYPT_EMAIL="you@yourdomain.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-xxs"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_LIGHTNING="none"
. ./btcpay-setup.sh -i
Chính opt-save-storage-xxs giúp mọi thứ vừa: Bitcoin Core cắt bớt block xuống còn 5 GB. Script tải image, tạo dịch vụ systemd btcpayserver và khởi động tất cả. Trong lúc đó nó còn khởi động lại daemon Docker — thêm một lý do để cho BTCPay một máy chủ riêng thay vì nhét nó cạnh các container khác.
Kiểm tra node:
bitcoin-cli.sh getblockchaininfo
So blocks với headers, và xem "pruned": true. Sau hai mươi phút thử nghiệm, chúng tôi có khoảng 218.000 trên chừng 972.000 block — các block đầu rất nhỏ, nên đừng suy ra tốc độ từ đó. Phần việc thật sự đến sau.
Đăng nhập lần đầu: làm ngay
Mở https://pay.example.com ngay khi nó phản hồi. BTCPay đưa bạn tới trang đăng ký, và tài khoản đầu tiên trở thành quản trị viên máy chủ. Nếu người khác tìm thấy trang trước bạn, máy chủ thanh toán của bạn thuộc về người đó. Hãy đăng ký, rồi vào Server Settings → Policies và đặt chế độ đăng ký mới như bạn muốn.
Sau đó tạo cửa hàng và kết nối ví bằng khóa công khai mở rộng (xpub) — từ ví cứng hoặc từ bản xuất của ví máy tính. BTCPay sinh một địa chỉ mới cho mỗi hóa đơn và không bao giờ thấy khóa riêng. Hãy dùng ví mới hoặc tài khoản mới cho việc này thay vì ví đã có nhiều năm lịch sử: node pruned thoải mái nhất khi theo dõi những gì xảy ra từ bây giờ.
Cho tới khi node bắt kịp mạng, BTCPay hiển thị rằng nó vẫn đang đồng bộ và không theo dõi thanh toán. Hãy lên kế hoạch ra mắt sau khi đồng bộ xong, không phải ngay tối cài đặt.
Những điều cần biết trước khi chạy thật
- Lần đồng bộ đầu rất lâu. Node pruned vẫn phải tải và xác minh toàn bộ chuỗi — hơn 700 GB — trước khi bỏ được block cũ. Lưu lượng trên các gói của chúng tôi không giới hạn ở 1 Gbit/s nên không tốn thêm, nhưng với máy chủ 4 vCPU hãy tính bằng ngày. Trong repository có script đồng bộ nhanh; nó bỏ qua phần việc đó bằng cách tin vào bản sao tập UTXO của người khác, điều làm mất một phần lý do bạn tự chạy node.
- Cập nhật.
btcpay-update.shkéo phiên bản BTCPay mới nhất cùng các phụ thuộc. Hãy chạy vào giờ vắng, không phải giữa đợt khuyến mãi. - Sao lưu gì. Với ví chỉ kết nối qua xpub, coin của bạn không nằm trên máy chủ. Thứ có thể mất là cấu hình cửa hàng và lịch sử hóa đơn trong Postgres — hãy sao lưu volume đó, và cất seed của ví ở nơi chẳng liên quan gì tới máy chủ này.
- Lightning để sau. Bắt đầu với on-chain. Lightning nghĩa là cửa sổ block lớn hơn, quản lý kênh và thanh khoản chiều vào — một dự án riêng, và một gói Pro mà chúng tôi thiết lập theo yêu cầu.
Ý kiến của tôi: với một cửa hàng nhỏ nhận bitcoin mỗi ngày một lần, BTCPay trên Small-IP là cấu hình gọn gàng nhất có thể. Nếu bạn cần thanh toán bằng thẻ hoặc rút tiền ra tiền pháp định, đây không phải công cụ đó.
Liên quan
- Tự chạy node Bitcoin trên VPS: chỉ riêng node, nếu bạn chỉ muốn xác minh ví
- Tự chạy node Monero trên VPS
- Crypto VPS: trả tiền máy chủ bằng crypto
- VPS cho website trên IP riêng: cửa hàng chuyển khách sang BTCPay
- Cách cấu hình tường lửa ufw
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.