創世紀公升級移除了區塊大小上限的預設設定,並且將此定為「
強制共識引數
」。此次公升級還規定了一項新的設定,即「最大的指令碼記憶體使用」的強制共識引數。這些引數的值必須由系統管理員在軟體中手動設定。本文將提供這些引數的資訊,並且給出關於如何選擇所需值的建議。
選擇這些引數所建議的方法主要是縱覽bitcoin sv上那些大型礦工如何設定,然後選擇與之相同或更高的引數。預計礦工們將在不久的將來開始在他們的miner id coinbase文件中公布這些設定。然而,與此同時,我們也會定期手動更新本頁面中已知的礦工們的設定。
我們強烈建議你關注執行乙個
bitcoin sv
例項的最低推薦系統要求
。這個強制共識引數規定了區塊大小的上限,單位是位元組。節點軟體不會檢索或驗證任何大於此引數值的區塊。
可以使用「
excessiveblocksize
」配置選項對該引數值進行配置,單位是位元組。可以在命令列或配置檔案中設定此專案。
還可以在軟體執行時通過「bitcoin-cli setexcessiveblock」命令(該功能已新增在v1.0.0節點軟體中)配置該引數。必須要注意,當使用「bitcoin-cli」命令設定區塊大小上限時,這個引數值並非永久有效。如果軟體重啟,引數值將重新恢復到配置檔案中設定的值,或者恢復到此前在命令列中所規定的值。
還請注意,「excessiveblocksize」是礦工允許接受的最大區塊。但是,礦工自行打包生成的最大區塊則由另乙個引數「blockmaxsize」決定,「blockmaxsize」的引數值通常比「excessiveblocksize」小。
這個強制共識引數規定了指令碼在運算時允許使用的最大棧記憶體。如果在運算時,指令碼嘗試使用超過該引數值的記憶體量,運算將會終止,導致指令碼失敗。指令碼失敗將導致該交易無效,並且包含了這筆無效交易的區塊也會成為無效區塊。
可以使用 「maxstackmemoryusageconsensus」配置選項對該引數值進行配置,單位是位元組。可以在命令列或配置檔案中設定此專案。
bitcoin sv
網路的效能取決於參與區塊確認的礦工們。礦工們將分析區塊鏈的狀態、軟體效能及其他因素,然後決定自己如何設定強制共識引數的值。各礦工還將公開他們所選擇的引數值。
確定強制共識引數的值所推薦方法是,縱覽各礦工所發布的引數值,同時考慮到該礦工自身的能力。如果該礦工正在進行挖礦操作,那麼採用與其他礦工相近的值;如果沒有進行挖礦操作,則推薦設定更高的值。
請注意,各礦工可能會變更他們所採用的引數值,因此建議定期檢查相關設定。
我們將節點定義為bitcoin sv的一種例項,即在挖礦過程中生產區塊。區塊鏈監聽節點則是bitcoin sv的另一種例項,它們不參與挖礦。
我們建議監聽節點將引數值設定為礦工的兩倍或更高,這樣監聽節點有足夠的頻寬,以防將來當礦工提公升其設定時,因自身引數值比礦工低而被從網路中分叉出來。
如果你設定的引數值低於大多數礦工,那麼當網路中的新區塊超出了所設定的引數值,你的節點將會拒絕此區塊和其後的所有區塊,因此而產生網路分叉。不過,如果你的節點不進行挖礦,那麼分叉很可能並不會延長,節點僅會停止跟隨最長鏈。在這種情況下,解決方法就是只需提高引數值並重啟該節點。之後,它將接受此前所拒絕的區塊並追趕網路上的最長鏈。
你可以通過把引數值設定為「0」,從而取消對這些引數的限制,此時就不會面臨網路分叉的風險了。但當網路中挖出了超大區塊時,你的節點可能會耗盡記憶體並崩潰。不過,如果你已遵循了最佳實踐和分配了較大的交換分割槽,並且使用了最低建議記憶體,那麼只有在受到攻擊時才可能出現上述情況。發生這種情況的補救措施是將引數設定為與大多數礦工相近,然後重啟節點。
基於目前已知的礦工設定,以下引數配置較為安全:
安全值
最大區塊大小
最大堆疊記憶體使用
礦工節點
(miner)
excessiveblocksize=1000000000
maxstackmemoryusageconsensus=100000000
監聽節點
(listener)
excessiveblocksize=2000000000
maxstackmemoryusageconsensus=200000000
已知引數值
最大區塊大小
最大堆疊記憶體使用
coingeek
excessiveblocksize=1000000000
maxstackmemoryusageconsensus=100000000
mempool
excessiveblocksize=1000000000
maxstackmemoryusageconsensus=100000000
svpool
excessiveblocksize=1000000000
maxstackmemoryusageconsensus=100000000
taal
excessiveblocksize=1000000000
maxstackmemoryusageconsensus=100000000
nourpool
excessiveblocksize=1000000000
maxstackmemoryusageconsensus=100000000
隨著bitcoin sv越來多地被採納,網路交易量持續上公升。隨著資料型交易(op_returns)的大規模使用,你的bitcoin sv節點可能無法處理記憶體池裡的交易流量,也可能被大量的計算請求所擊垮。因此,節點可能會丟棄一些交易,讓交易費更高的交易進入記憶體池,之後再提公升計算能力;或者出現更糟的情況,節點停止運轉。
以上情況的解決方案是把下列引數從預設值調高,讓節點在高負載的情況下保持執行效率。
預設值
記憶體池大小上限
簽名和指令碼快取
最大孤兒交易數量
genesis公升級前
maxmempool=300
maxsigcachesize=tbc maxscriptcachesize=tbc
maxorphantx=tbc
genesis公升級後
maxmempool=8000
maxsigcachesize=tbc maxscriptcachesize=tbc
maxorphantx=tbc
bitcoin sv節點專案為位元幣協會所擁有,請前往bitcoinsv.io**獲取bsv節點的官方資訊。
礦工文件 安裝
bitcoind的部署可以通過多種方式完成,這取決於你的部署需求,既可以是極簡的,也可以是非常複雜的。在進行部署之前,很重要的一點是你需要考慮自己是否真的需要乙個位元幣節點。像mapi這樣的服務可以為商戶 交易所以及其它任何需要與區塊鏈進行互動的人提供交易處理和資訊服務,使他們無需再自己執行位元幣節...
礦工文件 介紹
下面是與 bitcoind miner id和 mapi 設定相關 的文件。wiki 知識庫主要是面向礦工。礦工是位元幣的基礎。本文件旨在為那些自行搭建基礎設施 並使用我們所提供的軟體的新手提供支援。本文件向你介紹了部署軟體所需的步驟。和系統要求 的資訊,在繼續進行下一步之前,這兩者都應該被視為必讀...
礦工文件 系統要求
以下的推薦系統配置要求是在使用bitcoind軟體時,基於我們的內部測試和擴容進展情況而定的。創世紀公升級之後,bitcoin sv的擴容之路仍在延續。需要注意,隨著時間推移,現有的系統要求也可能會發生變化。開發環境配置 生產環境最低配置 生產環境推薦配置 僅能滿足 遵循最大工作證明 pow 的鏈,...