Работа с Bitcoin Core

Съдържание
В предишни уроци видяхме въведение в БиткойнУспяхме да видим неговите характеристики, приложения и също така използвахме тънък клиент, за да обясним как се обработват транзакциите чрез тази технология.
Въпреки че този клиент, който използваме, служи за своите цели, той не е толкова пълен, колкото Биткойн ядро, известен също като Клиент на Satoshi, която изпълнява всички аспекти на системата биткойн, включително портфейла, транзакциите, пълните проверки на биткойн мрежата и пълен възел към нея.
За да получим клиента, отиваме на официалната страница на следната връзка, там избираме нашата операционна система, в случая на този урок ще използваме версията на Windows, накрая избираме Биткойн ядро за да започнете да изтегляте таблета:

Увеличете

Разархивираме и извършваме инсталацията както обикновено, както при всяко приложение на WindowsСлед инсталацията стартираме нашия клиент, който трябва да изглежда така:

Увеличете

Можем да забележим няколко интересни неща при първото стартиране на Биткойн ядро, първият е състоянието на не синхронизирано и двете в раздела Баланси като Транзакции Последно и това е така, защото нашият клиент съхранява пълно копие на всяка от транзакциите, направени след създаването на биткойн мрежата.
Ето защо можем да видим най -долу съобщение, което казва: Преди 3 години и 46 седмици, това е оставащото време за Биткойн ядро за да завършим синхронизирането на всички мрежови данни на нашия компютър, така че ще трябва да изчакаме няколко дни, за да започнем да правим транзакции с него.
ПрепоръкаПрепоръчваме за този процес да имаме достатъчно място на нашия твърд диск, тъй като през 2013 г. размер на 16 гигабайта на тази информация също е важно да имаме добра интернет връзка, защото ако няма да прекарваме дни, а месеци в опити да синхронизираме клиента си и разбира се време, тъй като ако имаме спешност да извършим транзакции, е по -добре да инсталираме Мултибит или друг тънък клиент.
Мнозина със сигурност ще си помислят, че печелят, като изтеглят този клиент и прекарват дни и дори седмици, опитвайки се да го синхронизират, разбира се, възможността за запис на всички транзакции, направени от началото на мрежата, е голямо предимство, но това е не там, където този клиент наистина блести.
JSON-RPC APIКъдето блести Клиент на Satoshi е в реализацията на интерфейс JSON-RPC Той може да бъде достъпен чрез командния ред, където тук можем да взаимодействаме с възможностите, които имаме в API, което дори ни позволява да го използваме заедно с езиците за програмиране за получаване на данни от мрежата на биткойн чрез него.
За да видим как работи тази функция, ще стартираме отново нашия клиент в случай, че сме го затворили и отидем в раздела Помогне, избираме опцията Прозорец за отстраняване на грешки и в този интерфейс отиваме в раздела Конзола:

Увеличете

Вече тук можем да започнем да тестваме някои команди, за да тестваме функционалността на API, нека първо използваме командата getinfo, което ни позволява да показваме основна информация за биткойн мрежата, портфейла и базата данни на веригата, нека видим как изглежда нейният отговор:

Увеличете

В допълнение към гореспоменатите данни, можем да получим версията на клиента, която изпълняваме, протокола, баланса в портфолиото ни, който очевидно е нулев, както и блоковете, които са видими за клиента. Тази информация е интересна, но по -интересният е форматът, в който я получаваме, ако сме разработчици, можем бързо да установим, че това е JSON който е изключително лесен за консумация от други езици за програмиране и дори четенето му е доста лесно за човешкото око.
Тъй като имахме първи подход с конзолата и успяхме да получим основна информация с нея, ще отидем една крачка напред и ще я използваме, за да извършим някои интересни операции с нашето портфолио.
Преди да започнем със създаването на ключове за нашия портфейл и използването на команди върху него, важно е първо да помислим за неговата сигурност, за това ще преминем към неговото шифроване с избрана от нас парола.
За тази операция ще използваме командата портфейл за криптиране с паролата решаващ, където си струва да си припомним, че трябва да заменим тази парола с много по -стабилна, след като изпълним командата, изпълняваме командата отново getinfo за да видите как портфейлът ни е криптиран. Нека видим тогава отговора от конзолата на това действие:

Увеличете

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

Увеличете

След това виждаме как стойността на отключен_докато се промени, което показва, че портфейлът ни е отключен.
Друга от функционалностите и предимствата, които има Биткойн ядро Това е възможността да правим резервни копия на нашето портфолио и след това да го възстановяваме без никакви проблеми. За това ще използваме командата резервен портфейл последвано от името, което ще дадем на нашия файл:
 backupwallet wallet.backup
Сега за извършване на възстановяването е важно първо да отключим портфейла и с командата importwallet извършваме операцията:
 importwallet wallet.backup

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

Увеличете

Както виждаме, командата ни връща адрес, който ще варира толкова пъти, колкото се използва командата и е този, който ще ни позволи да започнем да извършваме транзакции в мрежата на биткойн. Освен това можем да видим адресите, които имаме в нашето портфолио с командата getaddressesbyaccount и с командата баланс вземете баланса си, да видим:

Увеличете

Както виждаме, Клиент на Satoshi Той ни дава голямо количество команди за взаимодействие с мрежата на биткойни и ни помага при нашите транзакции, това, което видяхме, беше малка извадка от силата му, както и наличните команди. В случай, че искаме да разгледаме всички опции на API, отиваме в раздела Помогне и в раздела Опции на командната конзола можем да се консултираме с останалите:

Увеличете

Докато клиентът Биткойн ядро Това е най -пълното за управление на цялата биткойн технология, никога не боли, че сме наясно с други алтернативи към него, алтернативи отвъд Мултибит и това ни позволява да взаимодействаме с биткойн мрежата и структурите на данни, присъстващи в нея.
Тези алтернативи са внедрени в различни езици за програмиране, което ни дава огромен набор от възможности за работа с биткойн:
libbitcoin и sx ИнструментиТова е клиент и книжарница от своя страна надградени C ++, Той има много от характеристиките, които обясняваме в този урок, като например функционалността да може да изпълнява команди в него за извършване на операции.
bitcoinjbitcoinj е пълен клиент, ориентиран към възли, разработен в Java. Можете да съхранявате портфейл, да получавате и изпращате транзакции, като една от силните му страни е, че не е нужно да съхранявате копие от цялата мрежа и транзакциите в мрежата на биткойн.
pycoinКлиент, разработен в Python и че поддържа манипулирането на биткойни, както и техните транзакции, дори използвайки езика за справяне с нестандартни транзакции.
Както виждаме, имаме и други алтернативи в допълнение към Биткойн ядро, където изборът на едно или друго явно ще зависи от изискванията на всеки потребител и тяхната философия за работа с мрежата на биткойн.
С това завършихме този урок, където можехме да научим всички функции, които Клиент на Satoshi за работа с биткойн мрежата, както и възможността за изпълнение на команди, разширяващи нейната функционалност и ни даващи допълнителни инструменти, които можем да използваме в наша полза.
wave wave wave wave wave