溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中怎么安裝BTCPayServer

發(fā)布時(shí)間:2021-07-27 14:02:59 來(lái)源:億速云 閱讀:239 作者:Leah 欄目:互聯(lián)網(wǎng)科技

今天就跟大家聊聊有關(guān)Linux中怎么安裝BTCPayServer,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

安裝依賴項(xiàng)

要運(yùn)行BTCPayServer,你需要安裝.NET Core SDK,NBXplorerPostgreSQL。

安裝.NET Core SDK

轉(zhuǎn)到下載文件夾或用于存儲(chǔ)臨時(shí)文件的任何其他文件夾:

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

我們需要安裝NBXplorer才能跟蹤傳入的鏈上交易。

如果你還沒(méi)有創(chuàng)建源文件夾并打開(kāi)它:

mkdir ~/source
cd ~/source

克隆存儲(chǔ)庫(kù)并構(gòu)建代碼:

git clone https://github.com/dgarage/NBXplorer
cd NBXplorer
./build.sh

創(chuàng)建數(shù)據(jù)文件夾:

mkdir -p ~/.nbxplorer/Main
cd ~/.nbxplorer/Main

新的配置文件:

touch settings.config

使用你選擇的編輯器打開(kāi)文件并添加以下行:

btc.rpc.auth=<bitcoind rpc user>:<bitcoind rpc password>
port=24445
mainnet=1

確保使用你的bitcoind的rpc登錄憑據(jù)。你可以使用以下命令找到它們:

cat ~/.bitcoin/bitcoin.conf | grep rpc

測(cè)試是否所有設(shè)置都正確:

/usr/bin/dotnet ~/source/NBXplorer/NBXplorer/bin/Release/netcoreapp2.1/NBXplorer.dll -c ~/.nbxplorer/Main/settings.config

如果是這樣,輸入ctrl + c終止進(jìn)程并下載Systemd服務(wù):

cd /usr/lib/systemd/system
sudo wget https://gist.githubusercontent.com/mariodian/de873b969e70eca4d0a7673efd697d0a/raw/acfc70c5694cd53d8a3df7ff54a35ff2caba7532/nbxplorer.service

根據(jù)你的環(huán)境編輯文件。

啟用服務(wù),啟動(dòng)它并檢查狀態(tài):

sudo systemctl enable nbxplorer.service
sudo service nbxplorer start
sudo service nbxplorer status

如果你沒(méi)有看到錯(cuò)誤,請(qǐng)轉(zhuǎn)到下一步。

安裝PostgreSQL

我無(wú)法使用MySQL/MariaDB設(shè)置BTCPayServer,所以我被迫使用PostgreSQL。

首先安裝它并以新創(chuàng)建的系統(tǒng)用戶身份打開(kāi)shell提示符:

sudo apt install postgresql postgresql-contrib
sudo -i -u postgres

創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)用戶:

createuser --pwprompt --interactive

輸入以下內(nèi)容(你可以將satoshi更改為你喜歡的任何用戶名):

Linux中怎么安裝BTCPayServer

創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù):

createdb -O satoshi btcpayserver

如果你看到?jīng)]有錯(cuò)誤退出shell:

exit

安裝BTCPayServer

克隆存儲(chǔ)庫(kù)并構(gòu)建代碼:

cd ~/source
git clone https://github.com/btcpayserver/btcpayserver.git
cd btcpayserver
./build.sh

創(chuàng)建一個(gè)數(shù)據(jù)文件夾:

mkdir -p ~/.btcpayserver/Main
cd ~/.btcpayserver/Main

一個(gè)新的配置文件:

touch settings.config

獲取LND的證書(shū)指紋并將其粘貼到下面的配置文件中。

openssl x509 -noout -fingerprint -sha256 -inform pem -in ~/.lnd/tls.cert

打開(kāi)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;

根據(jù)你的設(shè)置更改突出顯示的變量variables。

檢查一切是否正常。

/usr/bin/dotnet run -p ~i/source/btcpayserver/BTCPayServer/BTCPayServer.csproj -c ~/.btcpayserver/Main/settings.config --network=mainnet

如果是這樣,輸入ctrl + c終止進(jìn)程并下載Systemd服務(wù):

cd /usr/lib/systemd/system
sudo wget https://gist.githubusercontent.com/mariodian/07bb13da314e2a321784b380f543651a/raw/6cef554d9e8311e683a017d5e63a07822dee7642/btcpayserver.service

根據(jù)你的環(huán)境編輯文件。

啟用該服務(wù),啟動(dòng)它并檢查它是否正常運(yùn)行:

sudo systemctl enable btcpayserver.service
sudo service btcpayserver start
sudo service btcpayserver status

恭喜,你剛剛度過(guò)了最難的部分!

允許傳入連接(可選)

如果要遠(yuǎn)程運(yùn)行服務(wù)器,則必須打開(kāi)端口23001。

首先,轉(zhuǎn)到路由器設(shè)置并找到虛擬服務(wù)器Virtual Server或端口轉(zhuǎn)發(fā)Port Forwarding的部分,并在上述端口上設(shè)置端口轉(zhuǎn)發(fā)。

然后回到你的linux機(jī)器并用iptables打開(kāi)端口:

sudo iptables -A INPUT -p tcp --dport 23001 -j ACCEPT

如果你使用iptables-save也運(yùn)行以下命令:

sudo iptables-save > /etc/iptables/rules.v4

你現(xiàn)在應(yīng)該可以從另一臺(tái)計(jì)算機(jī)連接到你的服務(wù)器。

設(shè)置BTCPayServer

轉(zhuǎn)到你的BTCPayServer管理,注冊(cè)一個(gè)新的管理員帳戶并登錄。

現(xiàn)在,轉(zhuǎn)到Stores并單擊Create a new store。完成后,轉(zhuǎn)到商店設(shè)置并向下滾動(dòng)到Derivation Scheme

Linux中怎么安裝BTCPayServer

BTC下單擊修改Edit,然后在計(jì)算機(jī)或手機(jī)上打開(kāi)支持BIP32的錢包。

出于本教程的目的,我將使用Electrum。

建議你創(chuàng)建一個(gè)新的錢包,而不是使用舊錢包,這樣你就不必費(fèi)心地重新掃描地址上的余額了。

完成后,單擊Wallet -> Information,復(fù)制主公鑰,將其粘貼回BTCPayServer管理,選中已啟用,然后保存。

Linux中怎么安裝BTCPayServer

接下來(lái),向下滾動(dòng)到Lightning nodes (Experimental),然后單擊修改modify。

Linux中怎么安裝BTCPayServer

應(yīng)該設(shè)置你的連接字符串,但如果沒(méi)有,請(qǐng)粘貼以下內(nèi)容:

type=lnd-rest;server=https://127.0.0.1:8080/;macaroonfilepath=/home/satoshi/.lnd/data/chain/bitcoin/mainnet/admin.macaroon;certthumbprint=<your cert fingerprint>

請(qǐng)記住添加你之前獲得的LND證書(shū)指紋,并將主目錄更改為你自己的目錄。

Linux中怎么安裝BTCPayServer

單擊測(cè)試連接Test connection,如果一切正常,請(qǐng)選中已啟用Enable并單擊提交submit。

在這種情況下,服務(wù)器在你要通過(guò)域名訪問(wèn)的單獨(dú)計(jì)算機(jī)上運(yùn)行,轉(zhuǎn)到Server Settings -> Maintenance,并在Change domain name添加你的名稱(當(dāng)然,你必須購(gòu)買它)。

Linux中怎么安裝BTCPayServer

你還必須根據(jù)你的設(shè)置向你的域名提供商添加CNAME或A DNS記錄。對(duì)不起,我無(wú)法幫助你,提供者太多了。

現(xiàn)在,你應(yīng)該可以使用新域名訪問(wèn)BTCPayServer管理,如下所示: http://domain.ltd:23001。

要?jiǎng)?chuàng)建POS終端,請(qǐng)轉(zhuǎn)到 Apps -> Create a new app并填寫(xiě)簡(jiǎn)短表單。然后,你將進(jìn)入應(yīng)用程序設(shè)置,你可以通過(guò)模板更改項(xiàng)目列表。

Linux中怎么安裝BTCPayServer

你還可以在網(wǎng)站中添加一個(gè)簡(jiǎn)單的付款按鈕,你可以在 Stores -> Settings -> Pay Button中配置,也可以在Stores -> Invoices -> Create a new invoice中手動(dòng)創(chuàng)建發(fā)票。然后,你可以發(fā)送給客戶。

Linux中怎么安裝BTCPayServer

當(dāng)然,支付網(wǎng)關(guān)的前端設(shè)計(jì)是完全可定制的,因此你可以設(shè)置自己的徽標(biāo)和顏色。

設(shè)置SSL加密證書(shū)(可選)

首先讓我們安裝將用作反向代理的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

重啟服務(wù)器:

sudo systemctl restart apache2

為你的域名安裝Let's加密證書(shū)。但你可以使用任何其他證書(shū)頒發(fā)機(jī)構(gòu)。

用以下內(nèi)容替換/etc/apache2/sites-enabled/000-default.conf的內(nèi)容:

<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>

根據(jù)你的需要更改ServerName

然后,使用以下內(nèi)容替換/etc/apache2/sites-enabled/000-default-le-ssl.conf的內(nèi)容:

<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并確保SSLCertificateFileSSLCertificateKeyFile指向正確的文件。

重新加載服務(wù)器:

sudo systemctl reload apache2

現(xiàn)在回到~/.btcpayserver/Main/settings.config并添加:

externalurl=HTTPS://btcpay.freedomnode.com

再次將服務(wù)器名稱更改為你自己的名稱。

你還可以從配置中刪除bind=0.0.0.0,因?yàn)檫h(yuǎn)程連接將從現(xiàn)在開(kāi)始通過(guò)Apache進(jìn)行代理。

重啟BTCPayServer:

sudo service btcpayserver restart

打開(kāi)瀏覽器并檢查新安裝的SSL證書(shū)是否正常工作。

======================================================================

分享一些比特幣、以太坊、EOS、Fabric等區(qū)塊鏈相關(guān)的交互式在線編程實(shí)戰(zhàn)教程:

  • java比特幣開(kāi)發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)、去中心化共識(shí)機(jī)制、密鑰與腳本、交易與UTXO等,同時(shí)也詳細(xì)講解如何在Java代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是Java工程師不可多得的比特幣開(kāi)發(fā)學(xué)習(xí)課程。

  • php比特幣開(kāi)發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)、去中心化共識(shí)機(jī)制、密鑰與腳本、交易與UTXO等,同時(shí)也詳細(xì)講解如何在Php代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是Php工程師不可多得的比特幣開(kāi)發(fā)學(xué)習(xí)課程。

  • c#比特幣開(kāi)發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)、去中心化共識(shí)機(jī)制、密鑰與腳本、交易與UTXO等,同時(shí)也詳細(xì)講解如何在C#代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是C#工程師不可多得的比特幣開(kāi)發(fā)學(xué)習(xí)課程。

  • java以太坊開(kāi)發(fā)教程,主要是針對(duì)java和android程序員進(jìn)行區(qū)塊鏈以太坊開(kāi)發(fā)的web3j詳解。

  • python以太坊,主要是針對(duì)python工程師使用web3.py進(jìn)行區(qū)塊鏈以太坊開(kāi)發(fā)的詳解。

  • php以太坊,主要是介紹使用php進(jìn)行智能合約開(kāi)發(fā)交互,進(jìn)行賬號(hào)創(chuàng)建、交易、轉(zhuǎn)賬、代幣開(kāi)發(fā)以及過(guò)濾器和交易等內(nèi)容。

  • 以太坊入門教程,主要介紹智能合約與dapp應(yīng)用開(kāi)發(fā),適合入門。

  • 以太坊開(kāi)發(fā)進(jìn)階教程,主要是介紹使用node.js、mongodb、區(qū)塊鏈、ipfs實(shí)現(xiàn)去中心化電商DApp實(shí)戰(zhàn),適合進(jìn)階。

  • ERC721以太坊通證實(shí)戰(zhàn),課程以一個(gè)數(shù)字藝術(shù)品創(chuàng)作與分享DApp的實(shí)戰(zhàn)開(kāi)發(fā)為主線,深入講解以太坊非同質(zhì)化通證的概念、標(biāo)準(zhǔn)與開(kāi)發(fā)方案。內(nèi)容包含ERC-721標(biāo)準(zhǔn)的自主實(shí)現(xiàn),講解OpenZeppelin合約代碼庫(kù)二次開(kāi)發(fā),實(shí)戰(zhàn)項(xiàng)目采用Truffle,IPFS,實(shí)現(xiàn)了通證以及去中心化的通證交易所。

  • C#以太坊,主要講解如何使用C#開(kāi)發(fā)基于.Net的以太坊應(yīng)用,包括賬戶管理、狀態(tài)與交易、智能合約開(kāi)發(fā)與交互、過(guò)濾器和交易等。

  • EOS入門教程,本課程幫助你快速入門EOS區(qū)塊鏈去中心化應(yīng)用的開(kāi)發(fā),內(nèi)容涵蓋EOS工具鏈、賬戶與錢包、發(fā)行代幣、智能合約開(kāi)發(fā)與部署、使用代碼與智能合約交互等核心知識(shí)點(diǎn),最后綜合運(yùn)用各知識(shí)點(diǎn)完成一個(gè)便簽DApp的開(kāi)發(fā)。

  • 深入淺出玩轉(zhuǎn)EOS錢包開(kāi)發(fā),本課程以手機(jī)EOS錢包的完整開(kāi)發(fā)過(guò)程為主線,深入學(xué)習(xí)EOS區(qū)塊鏈應(yīng)用開(kāi)發(fā),課程內(nèi)容即涵蓋賬戶、計(jì)算資源、智能合約、動(dòng)作與交易等EOS區(qū)塊鏈的核心概念,同時(shí)也講解如何使用eosjs和eosjs-ecc開(kāi)發(fā)包訪問(wèn)EOS區(qū)塊鏈,以及如何在React前端應(yīng)用中集成對(duì)EOS區(qū)塊鏈的支持。課程內(nèi)容深入淺出,非常適合前端工程師深入學(xué)習(xí)EOS區(qū)塊鏈應(yīng)用開(kāi)發(fā)。

  • Hyperledger Fabric 區(qū)塊鏈開(kāi)發(fā)詳解,本課程面向初學(xué)者,內(nèi)容即包含Hyperledger Fabric的身份證書(shū)與MSP服務(wù)、權(quán)限策略、通道配置與啟動(dòng)、鏈碼通信接口等核心概念,也包含F(xiàn)abric網(wǎng)絡(luò)設(shè)計(jì)、nodejs鏈碼與應(yīng)用開(kāi)發(fā)的操作實(shí)踐,是Nodejs工程師學(xué)習(xí)Fabric區(qū)塊鏈開(kāi)發(fā)的最佳選擇。

  • Hyperledger Fabric java 區(qū)塊鏈開(kāi)發(fā)詳解,課程面向初學(xué)者,內(nèi)容即包含Hyperledger Fabric的身份證書(shū)與MSP服務(wù)、權(quán)限策略、通道配置與啟動(dòng)、鏈碼通信接口等核心概念,也包含F(xiàn)abric網(wǎng)絡(luò)設(shè)計(jì)、java鏈碼與應(yīng)用開(kāi)發(fā)的操作實(shí)踐,是java工程師學(xué)習(xí)Fabric區(qū)塊鏈開(kāi)發(fā)的最佳選擇。

  • tendermint區(qū)塊鏈開(kāi)發(fā)詳解,本課程適合希望使用tendermint進(jìn)行區(qū)塊鏈開(kāi)發(fā)的工程師,課程內(nèi)容即包括tendermint應(yīng)用開(kāi)發(fā)模型中的核心概念,例如ABCI接口、默克爾樹(shù)、多版本狀態(tài)庫(kù)等,也包括代幣發(fā)行等豐富的實(shí)操代碼,是go語(yǔ)言工程師快速入門區(qū)塊鏈開(kāi)發(fā)的最佳選擇。

看完上述內(nèi)容,你們對(duì)Linux中怎么安裝BTCPayServer有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI