您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Linux中怎么安裝BTCPayServer,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
要運行BTCPayServer,你需要安裝.NET Core SDK
,NBXplorer
和PostgreSQL
。
轉到下載文件夾或用于存儲臨時文件的任何其他文件夾:
cd ~/Downloads
并下載.NET Core SDK
所需的Microsoft軟件包:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -sr)/prod.list sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
更新包緩存并安裝.NET Core:
sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install dotnet-sdk-2.1
我們需要安裝NBXplorer才能跟蹤傳入的鏈上交易。
如果你還沒有創建源文件夾并打開它:
mkdir ~/source cd ~/source
克隆存儲庫并構建代碼:
git clone https://github.com/dgarage/NBXplorer cd NBXplorer ./build.sh
創建數據文件夾:
mkdir -p ~/.nbxplorer/Main cd ~/.nbxplorer/Main
新的配置文件:
touch settings.config
使用你選擇的編輯器打開文件并添加以下行:
btc.rpc.auth=<bitcoind rpc user>:<bitcoind rpc password> port=24445 mainnet=1
確保使用你的bitcoind的rpc登錄憑據。你可以使用以下命令找到它們:
cat ~/.bitcoin/bitcoin.conf | grep rpc
測試是否所有設置都正確:
/usr/bin/dotnet ~/source/NBXplorer/NBXplorer/bin/Release/netcoreapp2.1/NBXplorer.dll -c ~/.nbxplorer/Main/settings.config
如果是這樣,輸入ctrl + c
終止進程并下載Systemd服務:
cd /usr/lib/systemd/system sudo wget https://gist.githubusercontent.com/mariodian/de873b969e70eca4d0a7673efd697d0a/raw/acfc70c5694cd53d8a3df7ff54a35ff2caba7532/nbxplorer.service
根據你的環境編輯文件。
啟用服務,啟動它并檢查狀態:
sudo systemctl enable nbxplorer.service sudo service nbxplorer start sudo service nbxplorer status
如果你沒有看到錯誤,請轉到下一步。
我無法使用MySQL/MariaDB設置BTCPayServer,所以我被迫使用PostgreSQL
。
首先安裝它并以新創建的系統用戶身份打開shell提示符:
sudo apt install postgresql postgresql-contrib sudo -i -u postgres
創建一個新的數據庫用戶:
createuser --pwprompt --interactive
輸入以下內容(你可以將satoshi更改為你喜歡的任何用戶名):
創建一個新數據庫:
createdb -O satoshi btcpayserver
如果你看到沒有錯誤退出shell:
exit
克隆存儲庫并構建代碼:
cd ~/source git clone https://github.com/btcpayserver/btcpayserver.git cd btcpayserver ./build.sh
創建一個數據文件夾:
mkdir -p ~/.btcpayserver/Main cd ~/.btcpayserver/Main
一個新的配置文件:
touch settings.config
獲取LND的證書指紋并將其粘貼到下面的配置文件中。
openssl x509 -noout -fingerprint -sha256 -inform pem -in ~/.lnd/tls.cert
打開settings.config
并添加以下行:
network=mainnet port=23001 bind=0.0.0.0 chains=btc BTC.explorer.url=http://127.0.0.1:24445 BTC.lightning=type=lnd-rest;server=https://127.0.0.1:8080/;macaroonfilepath=~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon;certthumbprint=<finger print> postgres=User ID=<your db user>;Password=<your db password>;Host=localhost;Port=5432;Database=btcpayserver;
根據你的設置更改突出顯示的變量variables
。
檢查一切是否正常。
/usr/bin/dotnet run -p ~i/source/btcpayserver/BTCPayServer/BTCPayServer.csproj -c ~/.btcpayserver/Main/settings.config --network=mainnet
如果是這樣,輸入ctrl + c
終止進程并下載Systemd服務:
cd /usr/lib/systemd/system sudo wget https://gist.githubusercontent.com/mariodian/07bb13da314e2a321784b380f543651a/raw/6cef554d9e8311e683a017d5e63a07822dee7642/btcpayserver.service
根據你的環境編輯文件。
啟用該服務,啟動它并檢查它是否正常運行:
sudo systemctl enable btcpayserver.service sudo service btcpayserver start sudo service btcpayserver status
恭喜,你剛剛度過了最難的部分!
如果要遠程運行服務器,則必須打開端口23001
。
首先,轉到路由器設置并找到虛擬服務器Virtual Server
或端口轉發Port Forwarding
的部分,并在上述端口上設置端口轉發。
然后回到你的linux機器并用iptables打開端口:
sudo iptables -A INPUT -p tcp --dport 23001 -j ACCEPT
如果你使用iptables-save也運行以下命令:
sudo iptables-save > /etc/iptables/rules.v4
你現在應該可以從另一臺計算機連接到你的服務器。
轉到你的BTCPayServer管理,注冊一個新的管理員帳戶并登錄。
現在,轉到Stores
并單擊Create a new store
。完成后,轉到商店設置并向下滾動到Derivation Scheme
。
在BTC
下單擊修改Edit
,然后在計算機或手機上打開支持BIP32的錢包。
出于本教程的目的,我將使用Electrum。
建議你創建一個新的錢包,而不是使用舊錢包,這樣你就不必費心地重新掃描地址上的余額了。
完成后,單擊Wallet -> Information
,復制主公鑰,將其粘貼回BTCPayServer管理,選中已啟用,然后保存。
接下來,向下滾動到Lightning nodes (Experimental)
,然后單擊修改modify
。
應該設置你的連接字符串,但如果沒有,請粘貼以下內容:
type=lnd-rest;server=https://127.0.0.1:8080/;macaroonfilepath=/home/satoshi/.lnd/data/chain/bitcoin/mainnet/admin.macaroon;certthumbprint=<your cert fingerprint>
請記住添加你之前獲得的LND證書指紋,并將主目錄更改為你自己的目錄。
單擊測試連接Test connection
,如果一切正常,請選中已啟用Enable
并單擊提交submit
。
在這種情況下,服務器在你要通過域名訪問的單獨計算機上運行,轉到Server Settings -> Maintenance
,并在Change domain name
添加你的名稱(當然,你必須購買它)。
你還必須根據你的設置向你的域名提供商添加CNAME或A DNS記錄。對不起,我無法幫助你,提供者太多了。
現在,你應該可以使用新域名訪問BTCPayServer管理,如下所示: http://domain.ltd:23001
。
要創建POS終端,請轉到 Apps -> Create a new app
并填寫簡短表單。然后,你將進入應用程序設置,你可以通過模板更改項目列表。
你還可以在網站中添加一個簡單的付款按鈕,你可以在 Stores -> Settings -> Pay Button
中配置,也可以在Stores -> Invoices -> Create a new invoice
中手動創建發票。然后,你可以發送給客戶。
當然,支付網關的前端設計是完全可定制的,因此你可以設置自己的徽標和顏色。
首先讓我們安裝將用作反向代理的Apache 2。
sudo apt-get install apache2
啟用所需模塊:
sudo a2enmod rewrite sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_ajp sudo a2enmod deflate sudo a2enmod headers sudo a2enmod proxy_balancer sudo a2enmod proxy_connect sudo a2enmod proxy_html
重啟服務器:
sudo systemctl restart apache2
為你的域名安裝Let's加密證書。但你可以使用任何其他證書頒發機構。
用以下內容替換/etc/apache2/sites-enabled/000-default.conf
的內容:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName btcpay.freedomnode.com RewriteEngine on RewriteCond %{SERVER_NAME} =btcpay.freedomnode.com RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
根據你的需要更改ServerName
。
然后,使用以下內容替換/etc/apache2/sites-enabled/000-default-le-ssl.conf
的內容:
<IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost ServerName btcpay.freedomnode.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPass "/" "http://127.0.0.1:23001/" ProxyPassReverse / "http://127.0.0.1:23001/" ProxyPreserveHost On SSLCertificateFile /etc/letsencrypt/live/btcpay.freedomnode.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/btcpay.freedomnode.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost> </IfModule>
再次,編輯ServerName
并確保SSLCertificateFile
和SSLCertificateKeyFile
指向正確的文件。
重新加載服務器:
sudo systemctl reload apache2
現在回到~/.btcpayserver/Main/settings.config
并添加:
externalurl=HTTPS://btcpay.freedomnode.com
再次將服務器名稱更改為你自己的名稱。
你還可以從配置中刪除bind=0.0.0.0
,因為遠程連接將從現在開始通過Apache進行代理。
重啟BTCPayServer:
sudo service btcpayserver restart
打開瀏覽器并檢查新安裝的SSL證書是否正常工作。
======================================================================
分享一些比特幣、以太坊、EOS、Fabric等區塊鏈相關的交互式在線編程實戰教程:
java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
c#比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在C#代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是C#工程師不可多得的比特幣開發學習課程。
java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
php以太坊,主要是介紹使用php進行智能合約開發交互,進行賬號創建、交易、轉賬、代幣開發以及過濾器和交易等內容。
以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
ERC721以太坊通證實戰,課程以一個數字藝術品創作與分享DApp的實戰開發為主線,深入講解以太坊非同質化通證的概念、標準與開發方案。內容包含ERC-721標準的自主實現,講解OpenZeppelin合約代碼庫二次開發,實戰項目采用Truffle,IPFS,實現了通證以及去中心化的通證交易所。
C#以太坊,主要講解如何使用C#開發基于.Net的以太坊應用,包括賬戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最后綜合運用各知識點完成一個便簽DApp的開發。
深入淺出玩轉EOS錢包開發,本課程以手機EOS錢包的完整開發過程為主線,深入學習EOS區塊鏈應用開發,課程內容即涵蓋賬戶、計算資源、智能合約、動作與交易等EOS區塊鏈的核心概念,同時也講解如何使用eosjs和eosjs-ecc開發包訪問EOS區塊鏈,以及如何在React前端應用中集成對EOS區塊鏈的支持。課程內容深入淺出,非常適合前端工程師深入學習EOS區塊鏈應用開發。
Hyperledger Fabric 區塊鏈開發詳解,本課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、通道配置與啟動、鏈碼通信接口等核心概念,也包含Fabric網絡設計、nodejs鏈碼與應用開發的操作實踐,是Nodejs工程師學習Fabric區塊鏈開發的最佳選擇。
Hyperledger Fabric java 區塊鏈開發詳解,課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、通道配置與啟動、鏈碼通信接口等核心概念,也包含Fabric網絡設計、java鏈碼與應用開發的操作實踐,是java工程師學習Fabric區塊鏈開發的最佳選擇。
tendermint區塊鏈開發詳解,本課程適合希望使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。
看完上述內容,你們對Linux中怎么安裝BTCPayServer有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。