Как подключиться к Bitcoin Core из удаленного источника данных?

Как настроить удаленное подключение к установленному на сервере Bitcoin Core с другого сервера? В настоящий момент использование CURL приводит к ошибке с сообщением "Received HTTP/0.9 when not allowed". Как решить эту проблему с удаленным подключением к Bitcoin Core из другого сервера с сайтом, для которого необходимо получать данные? Установлен сервер на ОС Ubuntu 22.04, а IP-адрес сервера Bitcoin Core — 141.105.64.251.
  • 28 мая 2024 г. 17:11
Ответы на вопрос 2
Для подключения к Bitcoin Core из удаленного источника данных, вам необходимо настроить доступ к JSON-RPC API сервера Bitcoin Core.

Во-первых, убедитесь, что в файле конфигурации `bitcoin.conf`, который находится в каталоге данных Bitcoin Core (обычно `~/.bitcoin/`), установлены следующие параметры:

```
rpcuser=уникальное_имя_пользователя
rpcpassword=случайный_пароль
rpcallowip=0.0.0.0/0
rpcport=8332
```

Здесь `rpcuser` и `rpcpassword` - это уникальное имя пользователя и пароль для обращения к JSON-RPC API, `rpcallowip` указывает на то, что разрешены запросы от любого IP-адреса, а `rpcport` - порт, на котором запущен JSON-RPC API.

После того как вы внесли изменения в `bitcoin.conf`, перезапустите Bitcoin Core для применения этих изменений.

Теперь вы можете подключиться к серверу Bitcoin Core с другого сервера, например, используя CURL. Однако, если у вас возникает ошибка "Received HTTP/0.9 when not allowed", это может быть связано с протоколом HTTP 0.9, который не поддерживается в новых версиях Bitcoin Core.

Для обхода этой проблемы, вы можете попробовать использовать специальный заголовок HTTP/1.1 в вашем запросе CURL:

```
curl -vvv -u уникальное_имя_пользователя:случайный_пароль --header "Connection: keep-alive" http://уникальное_имя_пользователя:случайный_пароль@141.105.64.251:8332/
```

Здесь `уникальное_имя_пользователя` и `случайный_пароль` - это данные, которые вы указали в файле `bitcoin.conf`, а `141.105.64.251` - IP-адрес вашего сервера Bitcoin Core.

После выполнения этой команды CURL, вы должны получить доступ к JSON-RPC API сервера Bitcoin Core и получить необходимые данные.

Помните, что открытие доступа к JSON-RPC API сервера Bitcoin Core извне может быть небезопасно, поэтому не забудьте применить соответствующие меры безопасности, например, использование SSL/TLS для шифрования соединения.
пробовали добавить флаг? 
curl --http0.9 ...
и конечно если какая то проблема возникает, смотри логи, у bitcoind в момент запроса и у curl, добавив -v

p.s. не шифрованный доступ к bitcoind? вы уверены что ваш провайдер не мониторит трафик? а так же провайдер vps и еще 100500 провайдеров между вами, у каждого стоит dpi, мало ли какие там правила они понаписали?

у bitcoind есть поддержка самоподписанных сертификатов
А еще, настоятельно не рекомендуется какие либо не публичные сервисы публиковать в сеть, баги, ddos, да просто знание первому попавшемуся автоматическому сканеру что у вас тут деньги лежат! поднимайте vpn или пользуйтесь банальным ssh port forwarding
Похожие вопросы