Я хочу выполнять вызовы API к моему кошельку Bitcoin Core со своей веб-страницы, но когда я пытаюсь подключиться, у меня возникает внутренняя ошибка сервера.
Я использую easybitcoin.php JSON из Github .
Я пытаюсь использовать этот вызов JSON RPC:
require_once('easybitcoin.php');
$bitcoin = new Bitcoin('myusername','mypassword','myip','8332');
$bitcoin->getinfo();
Когда я использую клиент bitcoin-cli.exe для отправки команд на мой сервер Bitcoin Core через 127.0.0.1 (localhost), он работает отлично.
Что я делаю неправильно?
Убедитесь, что ваш порт 8332 открыт с помощью ufw
. У некоторых провайдеров VPS очень мало открытых по умолчанию в целях безопасности. Digitalocean, например, больше не открывает его по умолчанию.
sudo ufw allow 8332
Библиотека Easybitcoin использует cURL
, и она не всегда включена или установлена по умолчанию.
С PHP 5 вы можете легко установить его, выполнив apt-get install php5-curl
команду. С PHP7,sudo apt-get install php-curl
После установки убедитесь, что он включен. Найдите свой php.ini
файл и раскомментируйте ;extension=php_curl.dll
эту строку, удалив ;(точка с запятой).
Запустите тестовую страницу phpinfo();
и убедитесь, что curl установлен и включен. Перезапустите Apache, sudo service apache2 restart
.
Если вы по-прежнему не можете заставить его работать, вернитесь к файлу php.ini, включите все отчеты об ошибках и сообщите нам, что это за ошибка. Убедитесь, что вы снова отключили сообщения об ошибках, прежде чем начать работу.
index.html
страницей по умолчанию), как мне быстро запустить мой php firefox
из localhost
. Я попытался ввести `<?php echo 'Это php' ?> в свой html, но, похоже, мне нужно нечто большее. Не волнуйтесь, если слишком долго объяснять, я когда-нибудь буду изучать веб-программирование.daemon=1
указанным в моем файле bitcoin.conf. И отлично работает с локальным хостом.
Ник Оделл
Свен Уильямсон
bitcoind
хосте сmyip=localhost
или сmyip=127.0.0.1
. Он также работает с отдельного хоста в локальной сети приmyip=192.168.0.xx
условии, что я настроил свой брандмауэр Linuxufw
, чтобы разрешить подключение к порту 8332 наbitcoind
хосте, и при условии, что у меня естьrpcallowip=0.0.0.0/0
файлbitcoind
конфигурации (и не забудьте перезапуститьbitcoind
после обновления файла конфигурации). Я предлагаю вам использоватьvar_dump($bitcoin->getinfo());
, чтобы вы действительно могли видеть, работает ли он (у вас могут быть сбои без исключения, которые возвращаютсяfalse
)