Настройка удаленного управления биткойн-сервером PHP

Я преследую идею для веб-приложения, которое у меня было, и я столкнулся с препятствием. Я работал со многими другими JSON API, используя php, но никогда не знакомился с этой стороной RPC. Я закончил читать, но все еще застрял.

Я настроил локальный биткойн-сервер с помощью команды bitcoin-qt.exe -server в Windows и использовал полученную консоль для получения ответов API. Теперь я не понимаю, как мне подключить свое веб-приложение к этому серверу, чтобы я мог выполнять эти вызовы из моего php-файла, и это позволяет пользователям взаимодействовать с сетью биткойнов с веб-страницы.

Ответы (2)

Биткойн-вики станет отличным источником для разработки вашего веб-приложения. Эта страница описывает процесс и в целом делает все менее запутанным при использовании PHP.

Введение PHP-разработчика

Вам понадобится эта библиотека . Чтобы начать, вы сначала подключитесь к своему узлу вот так, следующее также должно распечатать некоторую основную информацию о вашем узле.

require_once 'jsonRPCClient.php';

$bitcoin = new jsonRPCClient('http://user:password@127.0.0.1:8332/');

echo "<div>\n";

print_r($bitcoin->getinfo());
echo "</div>";

И чтобы делать такие вещи, как получить новый адрес:

$sendaddress = $bitcoin->getnewaddress();

Другие команды см. в справочнике по API .

Но если я просто направляю newjsonRPCClient() на 127.0.0.1, то как мне поместить это в онлайн-файл? Он попытается выполнить это на сервере?
PHP находится на стороне сервера, и в противном случае взаимодействие с Bitcoin-qt на стороне клиента было бы опасным. Что мешает мне изменить код вашего веб-сайта, чтобы очистить клиентскую часть кошелька, к которой будет подключаться?

Для удаленного подключения из Биткойн вы должны разрешить IP-адрес удаленного хоста, а затем вы можете легко отправлять команды и получать ответ от своего веб-сервера, для этого вам нужен статический IP-адрес. Добавьте следующее в файл конфигурации биткойнов

rpcallowip=ipofremotehost

если у вас есть биткойн в Windows, у вас должен быть файл конфигурации в разделе %appdata% > роуминг > биткойн