bitcoindがRPCに応答しない

3 件のメッセージ mtgox, サトシ・ナカモト 2010年7月23日 — 2010年7月24日
mtgox 2010年7月23日 原文 · 個別ページ

bitcoindが時折RPCに応答しなくなります。PHPから呼び出しており、以下のエラーが発生します:

Warning: fopen(http://127.0.0.1:8332) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error

ローカルのWindowsマシンでは頻繁に発生し、Linuxサーバーではそれほど頻繁ではありません。

同じ問題を経験した方はいますか?

正しく覚えていれば、500はJSON-RPCのエラーレスポンスに規定されたステータスコードだ。応答のボディにはエラーの説明を含むJSONレスポンスがあり、例えば{“result”:"",“error”:“bitcoin address not found”,“id”:“1”}のようなものだ。

HTTP経由のJSON-RPCで、応答がエラーの場合にステータス500を使うべきかどうか、確認できる方はいるだろうか?どこでそれを知ったか思い出せず、間違っているかもしれない。HTTPリクエスト自体のメカニズムに問題がない限り、200の方が理にかなっているように思える。(もしかしたら、そういう意味だったのに忘れて500をすべてのエラーレスポンスに適用してしまったのかもしれない)