Управление биткойн-ядром

{title}

В прошлых уроках мы видели введение в Биткойн, мы могли видеть его характеристики, использование, и мы также использовали тонкий клиент, чтобы объяснить, как транзакции обрабатываются этой технологией.
Хотя этот клиент, который мы используем, служит своим целям, он не такой полный, как Bitcoin Core, также известный как клиент Satoshi, который реализует все аспекты системы биткойнов, включая кошелек, транзакции, полную проверку сети биткойнов и полный узел к нему.

Установка клиента


Чтобы получить клиента, мы перейдем на официальную страницу по следующей ссылке, там мы выберем нашу операционную систему, в случае этого урока мы будем использовать версию Windows, наконец, мы выбираем Bitcoin Core, чтобы начать загрузку планшета:

{title}


Разархивируйте и выполните установку как обычно с любым приложением Windows, после установки мы запускаем наш клиент, который должен выглядеть следующим образом:

{title}


Мы можем заметить несколько интересных вещей при первом запуске Bitcoin Core, первое - это состояние десинхронизации в разделе « Баланс» и «Последние транзакции», потому что наш клиент хранит полную копию каждого из них. транзакции, которые были сделаны с момента создания биткойн-сети.
Вот почему мы видим внизу сообщение, которое гласит: 3 года и 46 недель назад, это биткоин ядро, которое осталось до завершения синхронизации всех данных сети на нашем компьютере, поэтому у нас будет Вам придется подождать несколько дней, чтобы начать совершать сделки с ним.
рекомендация

Мы рекомендуем, чтобы для этого процесса у нас было достаточно места на жестком диске, поскольку в 2013 году был зарегистрирован размер 16 ГБ этой информации, также важно иметь хорошее подключение к Интернету, потому что, если мы не тратим ни дня, а месяцы, пытаясь синхронизироваться наш клиент и, конечно, время, так как, если у нас есть срочность совершать транзакции, лучше установить Multibit или какой-нибудь другой тонкий клиент.

Биткойн-ядро и его JSON-RPC API


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

Клиент Satoshi сияет в реализации интерфейса JSON-RPC, к которому можно получить доступ из командной строки, где здесь мы можем взаимодействовать с возможностями, которые мы имеем в API, что даже позволяет нам использовать его в сочетании с языками программирования для получения Данные биткойн-сети через него.
Чтобы увидеть, как работает эта функция, мы снова запустим наш клиент в случае, если мы его закрыли, и перейдем на вкладку « Справка », выберите опцию « Окно отладки» и в этом интерфейсе перейдем в раздел « Консоль »:

{title}


Здесь мы можем начать тестирование некоторых команд для проверки функциональности API, сначала мы будем использовать команду getinfo, которая позволяет нам отображать основную информацию о сети биткойнов, кошельке и базе данных цепочки, давайте посмотрим, как она выглядит ответ тот же:

{title}


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

Шифрование и конфигурация портфолио


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

{title}


Как мы видим, у нас есть новая запись в нашем JSON, которая называется unlocked_until, которая сообщает нам, как долго пароль для нашего портфеля будет храниться в памяти и будет оставаться разблокированным для использования, где сначала, как мы видим, значение будет равно нулю, указывая Что кошелек заблокирован.
Теперь, чтобы разблокировать наш кошелек, мы просто должны выполнить команду walletpassphrase, которая принимает два параметра: пароль для разблокировки кошелька и количество секунд, пока кошелек не будет автоматически заблокирован снова, что является весьма полезным и реализует высокий уровень безопасность, давайте посмотрим на выполнение команды, и с помощью команды getinfo мы получим значения для записи unlocked_until :

$config[ads_text5] not found

{title}


Затем мы видим, как изменилось значение unlocked_until, указывая, что наш портфель разблокирован.

Кошелек обратно


Еще одной особенностью и преимуществами, которые имеет Bitcoin Core, является возможность резервного копирования нашего портфеля и последующего его восстановления без каких-либо проблем. Для этого мы будем использовать команду backupwallet, за которой следует имя, которое мы дадим нашему файлу:
 backupwallet portfolio.backup 
Теперь, чтобы выполнить восстановление, важно, чтобы мы сначала разблокировали портфель и с помощью команды importwallet выполнили операцию:
 importwallet portfolio.backup 

$config[ads_text5] not found

Портфолио и адрес транзакции


Чтобы начать работу с транзакциями в сети биткойнов, мы должны получить адрес, который генерируется в пуле сетевых адресов, для этого нам нужно только использовать команду getnewaddress, чтобы получить его, давайте посмотрим ответ консоли:

{title}


Как мы видим, команда возвращает адрес, который будет меняться столько раз, сколько используется команда, и именно он позволит нам начать совершать транзакции в сети биткойнов. Кроме того, мы можем увидеть адреса в нашем портфолио с помощью команды getaddressesbyaccount и с помощью команды getbalance получить наш баланс, давайте посмотрим:

$config[ads_text6] not found

{title}


Поскольку мы видим, что клиент Satoshi дает нам обширное количество команд для взаимодействия с сетью биткойнов и помогает нам в наших транзакциях, мы увидели, что это был небольшой пример его мощности, а также доступных команд. В случае, если мы хотим взглянуть на все параметры API, мы переходим на вкладку « Справка » и в разделе «Параметры командной консоли» можем обратиться к остальным:

{title}

Альтернативы Биткойн-ядру


Хотя клиент Bitcoin Core является наиболее полным для обработки всех технологий биткойнов, вы никогда не будете в курсе других его альтернатив, альтернатив помимо Multibit, которые позволяют нам взаимодействовать с сетью биткойнов и структуры данных присутствуют в этом.
Эти альтернативы реализованы на разных языках программирования, что дает нам огромный спектр возможностей для работы с биткойнами:
libbitcoin и sx инструменты

Это клиент и библиотека, в свою очередь встроенные в C ++, в которых есть много функций, которые мы объясняем в этом руководстве, например, возможность выполнять команды в нем для выполнения операций.
bitcoinj

bitcoinj - это полный клиент-ориентированный клиент, разработанный на Java . Вы можете хранить портфель, получать и отправлять транзакции, где одна из его сильных сторон заключается в том, что вам не нужно хранить копию всей сети и транзакций в сети биткойнов.
pycoin

Клиент, разработанный на Python и поддерживающий манипулирование биткойнами и их транзакциями, даже с использованием языка для обработки нестандартизированных транзакций.
Как мы видим, у нас есть и другие альтернативы, кроме Bitcoin Core, где выбор того или другого будет зависеть от требований каждого пользователя и его философии работы с сетью биткойнов.
На этом мы завершаем этот урок, где мы могли бы изучить все возможности, которые клиент Satoshi предлагает нам для работы с биткойн-сетью, а также возможность выполнения команд, расширяющих ее функциональные возможности и предоставляющих нам дополнительные инструменты, которые мы можем использовать в наших интересах.