簡體   English   中英

Java應用程序:連接到專用比特幣節點的問題

[英]Java application : problem to connect to a private bitcoin node

這是上下文,這是一個在我的主機上的eclipse上運行的Java項目。 Virtual Box已安裝在此主機上,並運行一個虛擬機,該虛擬機是一個專用比特幣節點。

Java應用程序正嘗試使用以下參數連接到比特幣節點:

port = 18444 ip = 。***。58 rpcuser = bitcoinrpc rpcpassword = MotDePasse區塊鏈=比特幣鏈名= regtest

如果我嘗試從主機到端口184444上的比特幣節點ip的telnet連接,則可以正常工作。

比特幣節點上的netstat命令如下:

Proto Recv-Q Send-Q本地地址外部地址狀態PID /程序名稱
tcp 0 0 127.0.0.1:18443 0.0.0.0:* LISTEN 1154 / bitcoind
tcp 0 0 0.0.0.0:18444 0.0.0.0:* LISTEN 1154 / bitcoind
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN-
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN-
tcp 0 576 :22 :38772成立-
tcp6 0 0 :: 1:18443 ::: *聽1154 /比特幣
tcp6 0 0 ::: 18444 ::: *聽1154 /比特幣
tcp6 0 0 ::: 22 ::: *聽-

來自控制台的Java錯誤:

eb 27,2019 4:58:40 PM org.apache.http.impl.client.DefaultRequestDirector執行INFO:重試請求目標服務器未能響應org.apache.http.NoHttpResponseException:目標服務器未能響應

任何想法 ??

謝謝

關於您在第一篇和第二篇文章中提供的信息,我將嘗試為您提供一些技術信息,希望您能在此疑難解答中找到問題。

首先,您使用RPC協議(遠程過程調用)

RPC的技術觀點

該協議提供了一種機制,該機制允許客戶端(例如程序)請求服務器執行由客戶端發送的參數提供給服務器的特定過程。

RPC是一種請求-響應協議。

在此處輸入圖片說明

由於您要進行身份驗證,因此必須知道:

對於客戶端到服務器的身份驗證,RPC僅定義身份驗證本身,而不定義服務的訪問控制。 每個服務必須實現自己的訪問策略。 可以與RPC客戶端關聯的身份驗證有不同的形式。

Java遠程方法調用(Java RMI)是API,它為RPC協議提供了一些有用的方法和實現。

此處檢查完整的Tuto

結論:

您的問題是您嘗試使用不提供相同實現過程的Http協議與RPC協議進行通信。 由於Telnet支持使用RPC協議進行通信,因此可以得到預期的答案。

您應該在雙方的代碼中都實現一些類,以支持RPC通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM