Bitcoin-Core

如何限制 Bitcoin-qt 客戶端的頻寬使用?

  • February 18, 2022

我剛剛在我的 BitcoinQt 客戶端中完成了初始區塊鏈下載/驗證(17 小時..),我現在看到 BitcoinQt 正在愉快地吃掉我所有的上游頻寬。(在我的 ADSL 線路上大約 110kByte/sec。)

我將使用Waterroof對應用程序應用頻寬限制,這應該可以工作——

但是不應該有一個內置的方法讓 BitcoinQt 對其頻寬消耗更加禮貌嗎?

如果您的目標只是讓一個穩定的比特幣節點執行,而不是為網路做出貢獻,您可以添加listen=0到您的 bitcoin.conf 文件中。這通常(儘管並非總是)可以控制您的上傳頻寬。

但是,如果您想在不佔用過多頻寬的情況下為比特幣網路做出貢獻,則有一些方法可以限制比特幣核心 (Bitcoin-qt) 的上傳速度。說明取決於您的作業系統,因此下面將詳細介紹如何處理每個作業系統。

**重要提示:**如果您將比特幣核心的頻寬限制在遠低於您的實際上傳速度,它實際上可能會損害比特幣網路而不是幫助它。要成為一個負責任的比特幣網路維護者,您應該測試您的上傳速度,然後將您的傳出頻寬限制設置為盡可能接近您的實際速度(例如 90%)。本指南僅適用於由於比特幣核心完全飽和上傳頻寬而導致網際網路連接無響應的人。

以下說明摘自我最近寫的這篇文章: https ://www.maxlaumeister.com/blog/how-to-limit-bandwidth-of-bitcoin-core-on-windows-mac-os-and-linux/


在 Windows 上限制比特幣頻寬

  1. 下載並安裝 NetBalancer
  2. 如果比特幣核心尚未執行,請啟動它。
  3. 執行 NetBalancer。
  4. 在 NetBalancer 對話框的正在執行的應用程序列表中找到“bitcoin-qt.exe”並點兩下它以更改其頻寬規則。
  5. 在“Upload Priority”下選擇“Limited”,設置Bitcoin Core使用的最大頻寬,並確認。

你完成了!NetBalancer 現在將處於後台並確保比特幣核心不會使用比您想要的更多的頻寬。


在 Mac OS X 上限制頻寬

OS X 10.10 Yosemite 及更高版本

對於 OS X 10.10 Yosemite 及更高版本,沒有簡單的方法來限制特定應用程序的頻寬,但可以限制整體系統頻寬,如下所示:

  1. 訪問Apple Developer Downloads並使用您的 Apple ID 登錄。
  2. 搜尋“Hardware IO Tools for Xcode”並下載最新的穩定(非測試版)版本。
  3. 打開 .dmg 並點兩下“Network Link Conditioner.prefpane”以安裝 prefpane。從現在開始,您可以從系統偏好設置啟用/禁用網路連結調節器。
  4. 從“系統偏好設置”的“網路連結調節器”窗格中,點擊“管理配置文件”,然後點擊“+”按鈕添加新配置文件。
  5. 編輯配置文件並添加您想要的最大上傳速度。
  6. 保存您的編輯,退出配置文件管理器,選擇您的新配置文件,然後撥動大開關以啟用限制器。

Mac OS 將在您的通知托盤中放置一個圖示,以便您記住它已打開。與 Windows/Linux 解決方案不同,這將限制整個系統的頻寬,因此請確保在您沒有執行 Bitcoin Core 時將其關閉。

OS X 10.9 Mavericks 及更早版本

對於 OS X 10.9 Mavericks,您可以使用 IceFloor 來配置頻寬規則。對於 10.8 Mountain Lion 及更早版本,使用 Waterroof。或者,如果您想要一種簡單的方法來控制整個系統頻寬限制,而不僅僅是比特幣核心,請按照上面針對 OS X 10.10 Yosemite 及更高版本的說明進行操作。


在 Linux 上限制頻寬

  1. tc通過在命令行鍵入來確保已安裝 tc 。如果你得到“command not found”,使用你最喜歡的包管理器安裝 tc。如果您使用的是基於 Debian 的發行版,安裝 tc 的最簡單方法是使用apt-get

sudo apt-get update

sudo apt-get install iproute2 2. 使用 wget 從官方比特幣核心儲存庫下載 tc.sh 腳本:

wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/qos/tc.sh 3. 在文本編輯器中打開腳本。找到顯示IF="eth0"並更改eth0以反映您的 Internet 連接執行的網路介面的行。要獲取電腦網路介面的列表,請ifconfig在命令行上使用。我的電腦是通過無線連接wlan1的,所以我的 tc.sh 的 IF 線是這樣的:

IF="wlan1" 4. LINKCEIL 應該反映網路介面的限制,並且很可能不需要更改。

LINKCEIL="1gbit" 5. 將 LIMIT 更改為您希望 Bitcoin Core 使用的最大頻寬(我選擇了 1mbit)。如果您的本地網路中沒有任何其他比特幣核心節點,您可以刪除顯示 LOCALNET 的行。此行用於為本地網路中的埠 8333 通信(即不外網)設置頻寬例外。

LIMIT="1mbit"

除非您知道自己在做什麼,否則將其餘命令留在 tc.sh 中。我的 tc.sh 的最後一部分最終看起來像這樣:

#network interface on which to limit traffic
IF="wlan1"

#limit of the network interface in question
LINKCEIL="1gbit"

#limit outbound Bitcoin protocol traffic to this rate
LIMIT="1mbit"
  1. 退出編輯器並使用以下命令使腳本可執行:

chmod +x ./tc.sh 7. 以超級使用者身份執行腳本:

sudo ./tc.sh

在您重新啟動電腦之前,您的比特幣核心頻寬將受到限制!

或者,您可以將腳本設置為在每次啟動電腦時執行。啟動時執行腳本的說明會因您的 Linux 發行版而異。在 Ubuntu 上,在啟動時執行腳本的方法之一是將腳本添加到/etc/rc.local文件中。

結論

希望這篇文章有助於向您展示如何限制比特幣核心的頻寬!如需完整版,包括圖像和額外資訊,請在此處查看原始文章

執行緒中提到的一個答案是添加

listen=0

到您的 bitcoin.conf(位於 {User}\AppData\Roaming\Bitcoin 中)。

這會阻止其他連接到您的節點下載區塊鏈,從而阻止大量上游頻寬消耗

引用自:https://bitcoin.stackexchange.com/questions/7750