Я хотел бы взять данные блока биткойнов и отправить их, чтобы избежать повторной загрузки блокчейна на другие компьютеры в моей локальной сети. Чтобы гарантировать отсутствие повреждения базы данных, я останавливаю биткойн перед передачей. Запуск команды unix bitcoind stop
вернет
Bitcoin has stopped running!
Я заметил, что он все еще работает в течение нескольких секунд после получения этого сообщения. Это не проблема, так как это никогда не превышает 15 секунд, однако я хочу автоматизировать этот процесс с помощью простого php-скрипта.
Использование команды bitcoin-rpc, например $status = $bitcoin->stop()
, приведет к результату «Биткойн остановлен», но он все еще может работать сверху.
Как мне убедиться, что биткойн действительно перестал работать? Или безопасно предварительно передать данные, как только я получу это сообщение (продолжает ли биткойн записывать в БД после того, как уведомит вас об остановке)?
В линуксе:
ps aux | grep bitcoind
Или даже:
watch ps aux | grep bitcoind
Но чтобы ответить на ваш вопрос немного по-другому, я бы предложил оставить существующий биткойн в рабочем состоянии. Затем ваш новый узел добавляет оператор подключения с локальным IP-адресом старого узла в файле bitcoin.conf (обычно находится в $HOME/.bitcoin/).
Затем ваш новый узел будет подключаться исключительно к существующему узлу и загружать через вашу локальную сеть все блоки с существующего узла.
Кроме того, если оба ПК неподвижны, вы можете оставить это так, чтобы избежать повторных загрузок из Интернета. В качестве альтернативы, если вторым является, например, ноутбук, можно использовать вместо него -addnode. Отсюда : _
-addnode=<ip> Add a node to connect to and attempt to keep the connection open
-connect=<ip> Connect only to the specified node(s)
-dns Allow DNS lookups for -addnode, -seednode and -connect (default: 1)
Матиас711
top
на пару секунд, вероятно, связано с доработкой базы данных, освобождением всей памяти и прочее. Я думаю, вам лучше поставитьsleep(15)
(или 30, ради безопасности), а затем запрограммировать его и учитывать каждую миллисекунду.Отметка
Матиас711
Отметка