Omgaan met Bitcoin Core

Inhoudsopgave
In eerdere tutorials zagen we een inleiding tot: BitcoinWe konden de kenmerken en het gebruik ervan zien en we gebruikten ook een thin client om uit te leggen hoe transacties door deze technologie worden afgehandeld.
Hoewel deze client die we gebruiken zijn doel dient, is hij niet zo compleet als de Bitcoin-kern, ook wel bekend als de Satoshi-klant, die alle aspecten van het systeem implementeert bitcoin, inclusief de portemonnee, transacties, volledige verificaties van het bitcoin-netwerk en een volledig knooppunt ernaartoe.
Om de client te verkrijgen, gaan we naar de officiële pagina op de volgende link, daar selecteren we ons besturingssysteem, in het geval van deze tutorial zullen we de versie van gebruiken ramen, tenslotte selecteren we Bitcoin-kern om te beginnen met het downloaden van de tablet:

VERGROTEN

We unzippen en voeren de installatie uit zoals gewoonlijk zoals bij elke toepassing van ramenNa de installatie draaien we onze client die er als volgt uit zou moeten zien:

VERGROTEN

We kunnen verschillende interessante dingen opmerken de eerste keer dat we de Bitcoin-kern, de eerste is de staat van niet gesynchroniseerd beide in de sectie Saldi Leuk vinden Transacties Recent en dit komt omdat onze klant een volledige kopie bijhoudt van elk van de transacties die zijn gedaan sinds het bitcoin-netwerk is gemaakt.
Daarom zien we onderaan een bericht met de tekst: 3 jaar en 46 weken geleden, dit is de resterende tijd voor Bitcoin-kern om alle netwerkgegevens op onze computer te synchroniseren, dus we zullen een paar dagen moeten wachten om er transacties mee te doen.
AanbevelingWe raden aan dat we voor dit proces voldoende ruimte op onze harde schijf hebben sinds in 2013 een grootte van 16 GB van deze informatie is het ook belangrijk om een ​​goede internetverbinding te hebben, want als we niet dagen maar maanden zullen besteden aan het synchroniseren van onze klant en natuurlijk tijd, want als we enige urgentie hebben om transacties uit te voeren, is het beter om te installeren Multibit of een andere thin client.
Velen zullen zeker denken dat ze winnen door deze client te downloaden en dagen en zelfs weken te besteden aan het synchroniseren ervan, natuurlijk is de mogelijkheid om alle transacties die zijn gedaan sinds het begin van het netwerk een groot voordeel te hebben, maar dit is niet waar deze klant echt uitblinkt.
JSON-RPC-APIWaar hij schittert Satoshi-klant is in de implementatie van een interface JSON-RPC Het is toegankelijk via de opdrachtregel, waar we hier kunnen communiceren met de mogelijkheden die we in de API hebben, waardoor we het zelfs in combinatie met programmeertalen kunnen gebruiken om er gegevens van het bitcoin-netwerk mee te verkrijgen.
Om te zien hoe deze functie werkt, gaan we onze client opnieuw uitvoeren in het geval dat we deze hebben gesloten en gaan we naar het tabblad Hulp, we selecteren de optie Foutopsporingsvenster en in die interface gaan we naar de sectie Troosten:

VERGROTEN

Hier kunnen we al beginnen met het testen van enkele commando's om de functionaliteit van de API, laten we eerst het commando gebruiken informatie verkrijgen, waarmee we basisinformatie over het bitcoin-netwerk, de portemonnee en de database van de keten kunnen weergeven, laten we eens kijken hoe de reactie eruitziet:

VERGROTEN

Naast de bovengenoemde gegevens kunnen we de versie van de klant die we uitvoeren, het protocol, het saldo in onze portefeuille dat duidelijk nul is, verkrijgen, evenals de blokken die zichtbaar zijn voor de klant. Deze informatie is interessant, maar wat interessanter is, is het formaat waarin we het verkrijgen, als we ontwikkelaars zijn, kunnen we snel vaststellen dat het een JSON die extreem gemakkelijk te consumeren is door andere programmeertalen en zelfs het lezen ervan is vrij eenvoudig voor het menselijk oog.
Omdat we een eerste benadering met de console hebben gehad en we er basisinformatie mee hebben kunnen verkrijgen, gaan we een stap verder en gebruiken we deze om een ​​aantal interessante bewerkingen met ons portfolio uit te voeren.
Voordat we beginnen met het maken van sleutels voor onze portemonnee en het gebruik van opdrachten erop, is het belangrijk om eerst na te denken over de beveiliging ervan, hiervoor zullen we deze gaan versleutelen met een wachtwoord naar keuze.
Voor deze bewerking gebruiken we het commando encryptwallet met het wachtwoord oplossend, waar het de moeite waard is om te onthouden dat we dit wachtwoord moeten vervangen door een veel robuuster wachtwoord, voeren we de opdracht opnieuw uit na het uitvoeren van de opdracht informatie verkrijgen om te zien hoe onze portemonnee is versleuteld. Laten we eens kijken naar de reactie per console van deze actie:

VERGROTEN

Zoals we kunnen zien, hebben we een nieuw item in onze JSON genaamd ontgrendeld_tot die aangeeft hoe lang het wachtwoord voor onze portemonnee in het geheugen wordt opgeslagen en ontgrendeld blijft voor gebruik, waarbij in eerste instantie, zoals we kunnen zien, de waarde nul zal zijn, wat aangeeft dat de portemonnee is vergrendeld.
Om onze portemonnee te ontgrendelen, hoeven we alleen maar de opdracht uit te voeren portemonneewachtwoord die twee parameters accepteert, het wachtwoord om de portemonnee te ontgrendelen en het aantal seconden totdat de portemonnee automatisch weer wordt vergrendeld, iets heel handigs en dat een hoog beveiligingsniveau implementeert, laten we eens kijken naar de uitvoering van de opdracht en met de opdracht informatie verkrijgen we krijgen de waarden voor de invoer ontgrendeld_tot:

VERGROTEN

We zien dan hoe de waarde van ontgrendeld_tot is veranderd, wat aangeeft dat onze portemonnee is ontgrendeld.
Nog een van de functionaliteiten en voordelen die het heeft: Bitcoin-kern Het is de mogelijkheid om back-ups te maken van onze portfolio en deze vervolgens probleemloos te herstellen. Hiervoor gebruiken we het commando back-upportemonnee gevolgd door de naam die we aan ons bestand zullen geven:
 backupwallet wallet.backup
Om de restauratie uit te voeren, is het belangrijk dat we eerst de portemonnee ontgrendelen en met het commando importportemonnee wij voeren de bewerking uit:
 importwallet wallet.backup

Om te gaan werken met transacties binnen het bitcoin-netwerk moeten we een adres verkrijgen, dat wordt gegenereerd in de adrespool van het netwerk, hiervoor hoeven we alleen het commando te gebruiken nieuw adres krijgen Om wat te krijgen, laten we het antwoord van de console bekijken:

VERGROTEN

Zoals we kunnen zien, retourneert de opdracht ons een adres, dat net zo vaak zal variëren als de opdracht wordt gebruikt en waarmee we transacties binnen het bitcoin-netwerk kunnen beginnen. Bovendien kunnen we de adressen zien die we in onze portfolio hebben met het commando getadressenbyaccount en met het commando balans krijgen krijgen onze balans, laten we eens kijken:

VERGROTEN

Zoals we zien de Satoshi-klant Het geeft ons een uitgebreide hoeveelheid commando's om te communiceren met het bitcoin-netwerk en ons te helpen met onze transacties, wat we zagen was een klein voorbeeld van de kracht ervan en de beschikbare commando's. Als we alle API-opties willen bekijken, gaan we naar het tabblad Hulp en in de sectie Opties voor opdrachtconsole we kunnen de rest raadplegen:

VERGROTEN

Terwijl de klant Bitcoin-kern Het is de meest complete die er is voor het beheer van alle bitcoin-technologie, het kan nooit kwaad dat we ons bewust zijn van andere alternatieven ervoor, alternatieven daarbuiten Multibit en die ons in staat stellen om te communiceren met het bitcoin-netwerk en de daarin aanwezige datastructuren.
Deze alternatieven zijn geïmplementeerd in verschillende programmeertalen, waardoor we een enorm scala aan mogelijkheden hebben om met bitcoin te werken:
libbitcoin en sx ToolsHet is een klant en boekhandel die beurtelings is gebouwd op C ++, Het heeft veel van de kenmerken die we in deze tutorial uitleggen, zoals de functionaliteit van het kunnen uitvoeren van opdrachten erin om bewerkingen uit te voeren.
bitcoinjbitcoinj is een volledige node-georiënteerde client ontwikkeld in Java. U kunt een portemonnee houden, transacties ontvangen en verzenden, waarbij een van de sterke punten is dat u geen kopie van het hele netwerk en transacties op het bitcoin-netwerk hoeft te bewaren.
pycoinEen klant ontwikkelde zich in Python en dat het de manipulatie van bitcoins en hun transacties ondersteunt, zelfs door de taal te gebruiken om niet-gestandaardiseerde transacties af te handelen.
Zoals we kunnen zien, hebben we andere alternatieven naast: Bitcoin-kern, waarbij de keuze voor de een of de ander duidelijk zal afhangen van de vereisten van elke gebruiker en hun filosofie om met het bitcoin-netwerk te werken.
Hiermee hebben we deze tutorial voltooid, waar we alle functies konden leren die de Satoshi-klant voor het werken met het bitcoin-netwerk, evenals de mogelijkheid om opdrachten uit te voeren die de functionaliteit uitbreiden en ons extra tools geven die we in ons voordeel kunnen gebruiken.
wave wave wave wave wave