Bitcoind
用於生產用途的比特幣性能
假設我們在生產伺服器上執行了一個 bitcoind 實例。我們的交換軟體/應用程序使用 RPC 回調與它互動:
- 地址生成
- 退出
- 通知
現在的問題是bitcoind的容量是多少?每分鐘交易數量的限制是多少?什麼是比特幣性能?有什麼建議?
地址生成
確保您在此處使用 HD(使用比特幣核心 0.13 創建的錢包將是 HD)。
地址生成速度非常快,請確保您
–keypool=5000
在 conf 文件中使用大密鑰池。此外,您可以預先生成地址並將它們儲存在記憶體數據庫中。但請注意,如果攻擊者設法破壞該記憶體數據庫,他可能會重定向資金。地址生成也可以在比特幣核心之外完成。檢查 BIP32(高畫質錢包),也許看看公鑰推導。如果您需要性能,請查看libbtc(帶有 CLI 的 C 庫,可以非常快速地獲取地址)。
退出
此時,您很可能正在進入“熱錢包”領域。確保您建立一個安全的環境。此步驟涉及 ECDSA(輸入簽名),它需要相應的私鑰。簽名不是很快(取決於您的要求)。但是您可以使用 regtest 設置完美地衡量這一點(簽署 1000 個交易並衡量性能)。
通知
不要使用
-walletnotify
(它分叉一個程序=非常慢)。嘗試使用ZMQ
(您可能需要為錢包添加一些額外的程式碼)。
最好的方法是使用 bitcoind 和 testnet 在您的環境中測量和測試它。
請記住,如果您想提高性能,應該可以執行不同的 bitcoind 實例(只需更改 RPC 呼叫的埠號),然後設計一個方案(例如循環),在不同實例之間分配負載.