Bitcoind
JSON RPC 庫無法連接到 bitcoind?
我可以使用我的命令行連接到 bitcoind,並且該程序正在使用適當的埠執行,但是當我在使用 JSON-RPC 庫後嘗試通過 XAMPP 執行它時(我使用 PHP 開發人員介紹程式碼)它給出我出現以下錯誤,我不知道為什麼:
Warning: fopen(): Failed to enable crypto in /opt/lampp/htdocs/bitcoins/jsonRPCClient.php on line 132 Warning: fopen(https://...@127.0.0.1:8332/): failed to open stream: operation failed in /opt/lampp/htdocs/bitcoins/jsonRPCClient.php on line 132 Fatal error: Uncaught exception 'Exception' with message 'Unable to connect to https://user:password @127.0.0.1:8332/' in /opt/lampp/htdocs/bitcoins/jsonRPCClient.php:140 Stack trace: #0 /opt/lampp/htdocs/bitcoins/testServer.php(7): jsonRPCClient->__call('getinfo', Array) #1 /opt/lampp/htdocs/bitcoins/testServer.php(7): jsonRPCClient->getinfo() #2 {main} thrown in /opt/lampp/htdocs/bitcoins/jsonRPCClient.php on line 140
程式碼如下:(我們嘗試在 http 和 https 之間切換,但仍然無法正常工作)
require_once 'jsonRPCClient.php'; $bitcoin = new jsonRPCClient('https://user:password@127.0.0.1:8332/'); echo "<pre>\n"; print_r($bitcoin->getinfo()); echo "</pre>";
正如@Bittylicious 提到的,JSON-RPC 有點問題
<https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)#PHP>
注意:jsonRPCClient 庫使用 fopen(),如果它從 bitcoind 接收到 404 或 500 錯誤,將拋出異常“無法連接”。這可以防止您看到由 bitcoind 生成的錯誤消息(因為它們以狀態 404 或 500 發送)。
您可以選擇使用EasyBitcoin,它會拋出更準確的錯誤消息,並且與 JSON-RPC 幾乎相同
<?php require_once 'YOUR_FOLDER/easybitcoin.php'; $rpc_host = 'YOUR_IP'; $rpc_port = 'YOUR_PORT'; $rpc_user = 'YOUR_USER'; $rpc_pass = 'YOUR_KEY'; $bitcoin = new Bitcoin($rpc_user, $rpc_pass, $rpc_host, $rpc_port); print_r($bitcoin->getinfo()); print_r($bitcoin->listaccounts()); print_r($bitcoin->listreceivedbyaddress(0, true)); ?>
希望這可以幫助!
預設情況下,bitcoind RPC 通過 http,而不是 https。當然,除非您通過生成 SSL 密鑰並設置所需的配置選項來啟用 SSL…
rpcssl=1
否則,這一行:
$bitcoin = new jsonRPCClient('https://user:password@127.0.0.1:8332/');
應改為:
$bitcoin = new jsonRPCClient('http://user:password@127.0.0.1:8332/');
如果那沒有回答,請告訴我。還有其他幾種方法。
歡迎來到基於 satoshi 客戶端的結晶貨幣世界!
我認為這個小資訊應該很不恰當地發布,它隱藏在沒有人閱讀的文件中。