Author

Topic: Как правильно настроить сервер по Windows? (Read 3838 times)

member
Activity: 82
Merit: 12
Для доступа к уже запущенному bitcoin --server (или bitcoind) нужно либо вручную делать запросы из командной строки bitcoin.exe help либо формировать JSON_RPC используя curl (для того чтобы прверить балланс или послать монетки этого более чем достаточно) - https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29 либо воспользоваться альтернативными JSON_RPC клиентами - https://en.bitcoin.it/wiki/Infrastructure#User_Interface
Спасибо, вопрос решен с помощью (я просто сделал ярлык с этой командой)
Quote
bitcoin.exe getbalance

Также сработал и curl (пришлось адаптировать пример под Windows)

Quote
curl --user user --data-binary "{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"method\": \"getinfo\", \"params\": [] }" -H "content-type: text/plain;" http://127.0.0.1:8332/

Полноценного клиента JSON-RPC, который можно было бы загрузить (1) и реально запустить (2) под Windows я в том списке не нашел. Наверное его и нет еще. В принципе, можно обходиться и этими вариантами.
legendary
Activity: 1120
Merit: 1069
Для доступа к уже запущенному bitcoin --server (или bitcoind) нужно либо вручную делать запросы из командной строки bitcoin.exe help либо формировать JSON_RPC используя curl (для того чтобы прверить балланс или послать монетки этого более чем достаточно) - https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29 либо воспользоваться альтернативными JSON_RPC клиентами - https://en.bitcoin.it/wiki/Infrastructure#User_Interface
member
Activity: 82
Merit: 12
Нашел английский Wiki (русский не работает). Судя по статье о data directory, другим материалам (в частности о майнерах и их запуске для обращения к серверу) получается следующее:

  • При майнинге в соло режиме (когда сервер держу я), пользователь у сервера один и его кошелек определяется по папке с данными и его содержимому, в bitcoin.conf всего-лишь задается единственный логин и пароль для обращение к серверу майнером.
  • Соответственно папка с данными тоже одна и она используется, либо сервером, либо клиентом, но не двумя сразу. Поэтому то из guiminer сервером запускается bitcoin.exe, а не bitcoind.exe. Тогда есть и сервер и графический интерфейс, позволяющий просматривать состояние кошелька и проводить с ним операции. Демон интерфейса не имеет, а запущенный из Планировщика заданий еще и в консоль ничего не пишет.

Так что как поделить данные между стандартным клиентом, сервером и майнером понятно.

  • У майнера своих данных нет вообще. Вместо этого есть URL сервера, логин и пароль.
  • У сервера и клиента папка с данными общая и используется монополно. Это значит, что можно запустить только одну программу и, либо попросить, либо не просить быть ее и сервером. Две программы на одних и тех же данных не запустишь никак.

Вопросы остались все равно, но получается, что они за рамками майнинга в соло режиме.

  • Так непонятно почему при запуске стандартного клиента с -connect (с другого ПК) на адрес сервера блоки не грузятся. Читал на форуме, что в LAN можно настроить так все компьютеры кроме одного, подключенного к Инет. [оказалось, что не нужно было баловаться с настройками брандмауэра]
  • Что делать, если хочется заглянуть в кошелек хотя бы на просмотр? По URL с этой целью к серверу из браузера не обратишься (пробовал). Придется временно убивать процесс с сервером, либо возвращаться к ручному его запуску из guiminer.

Надеюсь это кому-то поможет. Явно об этом нигде написано не было. Если ошибся где, жду поправок.
member
Activity: 82
Merit: 12
Попробовал сам. Использовал командную строку

"C:\Program Files\Bitcoin\daemon\bitcoind.exe" -server -datadir=C:\Users\логин\AppData\Roaming\Bitcoin

В Планировщике заданий я указал, чтобы задание запускалось от имени пользователя SYSTEM. От обычного пользователя не получается (задача не запускается при старте, можно запустить только вручную от имени уже авторизованного пользователя). Скорее всего не хватает каких-то прав, но на моей Vista Basic невозможно настраивать локальные политики, чтобы проверить (есть подозрение на авторизацию как пакетного задания).

Задание запускается, процесс в Process Explorer вижу, есть там и многочисленные соединения с другими узлами в Инет. Майнер (guiminer с ufasoft) тоже запускается, соединение с сервером проходит и показывается бурная деятельность в виде значения хешей в секунду.

Но есть проблема, с которой я не знаю как справиться.

bitcoin.exe при использовании параметра -connect=127.0.0.1 не желает запускаться. Сообщает о том, что не получилось заблокировать каталог с данными, есть другая копия программы, которая уже запущена. Само собой так и есть, над этим и бился чтобы запустить.

Как теперь разделить данные между клиентом, сервером и майнером, чтобы это все работало и в случае успешной генерации блока монеты упали на счет?
member
Activity: 82
Merit: 12
Понял, что нужно запустить bitcoin.exe или bitcoind.exe с ключом -server. В этом случае программа интересуется конфигурационным файлом, который по-умолчанию ищет в  %appdata%\Bitcoin (bitcoin.conf). В нем обязательно должны быть параметры rpcuser и rpcpassword. Параметры про IP и порт указать можно, но не обязательно. Непонятно, может ли быть несколько пользователей у сервера, но один точно должен быть задан. Видел также, что bitcoin.exe знает об RPC, а bitcoind.exe - нет. Значит, сервером лучше запускать именно bitcoin.exe?

Теперь вопрос - как этот сервер запустить от системы (с помощью планировщика задач, например), чтобы не думать запущен сервер под этим пользователем ОС или нет (на ПК может по очереди работать два человека).

Подозреваю, что нужно указать с помощью дополнительного ключа -conf, но там (bitcoind.exe --help) указано, что это только имя файла, а не путь. А для пути есть параметр -datadir. Поможет ли этот параметр неизвестно. Вполне возможно, что у него другая задача.

Плюс к тому, непонятно о чем знает сервер, а о чем клиент. Скорее всего, сервер подгружает уже известные блоки, а кошельке пользователя не знает. Тогда о кошельке пользователя должен знать майнер. Все верно?
Jump to: