Ich erhalte einen Fehler 500 von meinem Webserver, wenn ich versuche, eine Rohtransaktion über die RPC-API zu senden.
PHP-Nachricht:
PHP Warning: fopen(://...@IP:8332/): failed to open stream: HTTP request failed!
HTTP/1.1 500 Internal Server Error
in /usr/share/nginx/html/common/jsonRPCClient.php on line 132
PHP-Nachricht:
PHP Fatal error: Uncaught exception 'Exception' with message
'Unable to connect to://bitcoinrpc:PASSWORD@IP:8332/'
in /usr/share/nginx/html/common/jsonRPCClient.php:140
Stack-Trace:
#0 /usr/share/nginx/html/tools/do_sendBTC.php(131):
jsonRPCClient->__call('sendrawtransact...', Array)
#1 /usr/share/nginx/html/tools/do_sendBTC.php(131):
jsonRPCClient->sendrawtransaction('010000000115d34...')
#2 {main}
Dies ist die Zeile, die abstürzt:
$result = $bitcoin->sendrawtransaction($tx_data);
Jeder andere API-Aufruf funktioniert, zum Beispiel validateaddress
.
Irgendeine Idee, warum dies fehlschlägt? Dieselbe Rohtransaktion funktioniert, wenn sie über die Bitcoin-Befehlszeile gesendet wird.
Danke
Sie können eine Transaktion nicht zweimal senden. Wenn Sie es bereits von der Bitcoin-Befehlszeile gesendet haben, schlägt es mit dem Fehler -22 (cli) oder 500 (http) fehl.
500 bedeutet falsche Daten: unzureichende Mittel, schlechte Syntax, schlechter Typ, unmöglicher Befehl ...
Versuchen Sie, in string: umzuwandeln $bitcoin -> sendrawtransaction((string)$tx_data)
, und tun Sie var_dump($tx_data)
, um den Typ zu finden.
Wenn es nicht hilft, senden Sie diese POST-Anforderung von cURL, wie im Tutorial: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)#Command_line_.28cURL.29
Antoni