Ich möchte von meiner Webseite API-Aufrufe an meine Bitcoin Core-Brieftasche machen, aber wenn ich versuche, eine Verbindung herzustellen, erhalte ich einen internen Serverfehler
Ich verwende easybitcoin.php JSON von Github .
Ich versuche es mit diesem JSON-RPC-Aufruf:
require_once('easybitcoin.php');
$bitcoin = new Bitcoin('myusername','mypassword','myip','8332');
$bitcoin->getinfo();
Wenn ich den bitcoin-cli.exe-Client verwende, um Befehle über 127.0.0.1 (localhost) an meinen Bitcoin Core-Server zu senden, funktioniert es perfekt.
Was mache ich falsch?
Stellen Sie mit sicher, dass Ihr 8332-Port geöffnet ist ufw
. Einige VPS-Anbieter haben aus Sicherheitsgründen standardmäßig nur sehr wenige geöffnet. Digitalocean zum Beispiel hat es nicht mehr standardmäßig geöffnet.
sudo ufw allow 8332
Die Easybitcoin-Bibliothek verwendet cURL
, und sie ist nicht immer standardmäßig aktiviert oder installiert.
Mit PHP 5 können Sie es einfach installieren, indem Sie den apt-get install php5-curl
Befehl ausführen. Mit PHP7,sudo apt-get install php-curl
Stellen Sie nach der Installation sicher, dass es aktiviert ist. Suchen Sie Ihre php.ini
Datei und kommentieren Sie ;extension=php_curl.dll
diese Zeile aus, indem Sie ;(Semikolon) entfernen.
Führen Sie eine Testseite mit phpinfo();
aus und stellen Sie sicher, dass curl installiert und aktiviert ist. Starten Sie Apache neu, sudo service apache2 restart
.
Wenn Sie es immer noch nicht zum Laufen bringen können, gehen Sie zurück zu Ihrer php.ini-Datei und schalten Sie alle Fehlerberichte ein und teilen Sie uns mit, was der Fehler ist. Stellen Sie sicher, dass Sie die Fehlermeldungen wieder deaktivieren, bevor Sie live gehen.
index.html
), wie kann ich mein PHP schnell firefox
von localhost
. Ich habe versucht, `<?php echo 'This is php' ?>' in meinen HTML-Code einzufügen, aber anscheinend brauche ich mehr als das. Keine Sorge, wenn die Erklärung zu lang ist, ich werde irgendwann Webprogrammierung studieren.daemon=1
Angabe in meiner bitcoin.conf-Datei. Und funktioniert auch gut mit localhost.
Nick Odell
Sven Williams
bitcoind
Host mitmyip=localhost
oder mitmyip=127.0.0.1
. Es funktioniert auch von einem separaten Host im lokalen Netzwerk aus,myip=192.168.0.xx
vorausgesetzt, ich richte meine Linux-Firewallufw
so ein, dass sie eine Verbindung zu Port 8332 auf dembitcoind
Host zulässt, und vorausgesetzt, ich haberpcallowip=0.0.0.0/0
meinebitcoind
Konfigurationsdatei (und denke daran,bitcoind
nach dem Aktualisieren der Konfigurationsdatei neu zu starten). Ich schlage vor, Sie verwenden,var_dump($bitcoin->getinfo());
damit Sie wirklich sehen können, ob es funktioniert (Sie können ausnahmslos Fehler haben, die zurückgegeben werdenfalse
) .