Sommario
Nei tutorial passati abbiamo visto un'introduzione a BitcoinAbbiamo potuto vederne le caratteristiche, gli usi e abbiamo anche utilizzato un thin client per spiegare come le transazioni vengono gestite da questa tecnologia.Sebbene questo client che utilizziamo serva ai suoi scopi, non è completo come il Bitcoin Core, noto anche come cliente Satoshi, che implementa tutti gli aspetti del sistema bitcoin, inclusi il portafoglio, le transazioni, le verifiche complete della rete bitcoin e un nodo completo ad essa.
Per ottenere il client andiamo alla pagina ufficiale al seguente link, lì selezioniamo il nostro sistema operativo, nel caso di questo tutorial utilizzeremo la versione di finestre, infine selezioniamo Bitcoin Core per iniziare a scaricare il tablet:
INGRANDIRE
Decomprimiamo ed eseguiamo l'installazione come al solito come con qualsiasi applicazione di finestreDopo l'installazione eseguiamo il nostro client che dovrebbe assomigliare a questo:INGRANDIRE
Possiamo notare diverse cose interessanti la prima volta che eseguiamo il Bitcoin Core, il primo è lo stato di fuori sincrono entrambi nella sezione Saldi Piace Transazioni Recenti e questo perché il nostro cliente conserva una copia completa di ciascuna delle transazioni che sono state effettuate da quando è stata creata la rete bitcoin.Ecco perché possiamo vedere in fondo un messaggio che dice: 3 anni e 46 settimane fa, questo è il tempo rimanente per Bitcoin Core per finire di sincronizzare tutti i dati di rete sul nostro computer, quindi dovremo aspettare qualche giorno per iniziare a fare transazioni con esso.
RaccomandazioneRaccomandiamo che per questo processo abbiamo abbastanza spazio sul nostro disco rigido poiché nel 2013 una dimensione di 16 GB di queste informazioni, è anche importante avere una buona connessione Internet perché se non passeremo non giorni ma mesi a cercare di sincronizzare il nostro client e ovviamente tempo, poiché se abbiamo urgenza di eseguire transazioni è meglio installare Multibit o qualche altro thin client.
Molti penseranno sicuramente di vincere scaricando questo client e trascorrendo giorni e persino settimane cercando di sincronizzarlo, ovviamente la possibilità di avere un registro di tutte le transazioni effettuate dall'inizio della rete è un grande vantaggio, ma questo è non dove questo cliente brilla davvero.
API JSON-RPCDove brilla cliente Satoshi è nell'implementazione di un'interfaccia JSON-RPC È possibile accedervi dalla riga di comando, dove qui possiamo interagire con le funzionalità che abbiamo nell'API che ci consente persino di utilizzarlo in combinazione con linguaggi di programmazione per ottenere dati dalla rete bitcoin attraverso di essa.
Per vedere come funziona questa funzione, eseguiremo nuovamente il nostro client nel caso in cui lo avessimo chiuso e andiamo alla scheda Aiuto, selezioniamo l'opzione Finestra di debug e in quell'interfaccia andiamo alla sezione Console:
INGRANDIRE
Già qui possiamo iniziare a testare alcuni comandi per testare la funzionalità del API, usiamo prima il comando ottenere informazioni, che ci consente di visualizzare le informazioni di base sulla rete bitcoin, il portafoglio e il database della catena, vediamo come appare la sua risposta:INGRANDIRE
Oltre ai suddetti dati, possiamo ottenere la versione del client che stiamo eseguendo, il protocollo, il saldo del nostro portafoglio che è ovviamente zero, nonché i blocchi visibili al cliente. Queste informazioni sono interessanti, ma ciò che è più interessante è il formato in cui le otteniamo, se siamo sviluppatori possiamo identificare rapidamente che si tratta di un JSON che è estremamente facile da consumare da altri linguaggi di programmazione e anche la sua lettura è abbastanza facile per l'occhio umano.Dato che abbiamo avuto un primo approccio con la console e siamo stati in grado di ottenere informazioni di base con essa, faremo un ulteriore passo avanti e la useremo per eseguire alcune operazioni interessanti con il nostro portafoglio.
Prima di iniziare con la creazione delle chiavi per il nostro portafoglio e l'uso dei comandi su di esso, è importante pensare prima alla sua sicurezza, per questo procederemo a crittografarlo con una password a nostra scelta.
Per questa operazione utilizzeremo il comando portafoglio crittografato con la password risolutivo, dove vale la pena ricordare che dobbiamo sostituire questa password con una molto più robusta, dopo aver eseguito il comando eseguiamo nuovamente il comando ottenere informazioni per vedere come è stato crittografato il nostro portafoglio. Vediamo quindi la risposta da console di questa azione:
INGRANDIRE
Come possiamo vedere abbiamo una nuova voce nel nostro JSON chiamato sbloccato_fino al che indica per quanto tempo verrà conservata in memoria la password del nostro wallet e mantenendola sbloccata per l'utilizzo, dove inizialmente come possiamo vedere il valore sarà zero, ad indicare che il wallet è bloccato.Ora per sbloccare il nostro portafoglio non ci resta che eseguire il comando portafogliopassphrase che accetta due parametri, la password per sbloccare il portafoglio e il numero di secondi prima che il portafoglio si riblocca automaticamente, cosa abbastanza utile e che implementa alti livelli di sicurezza, vediamo l'esecuzione del comando e con il comando ottenere informazioni otterremo i valori per l'input sbloccato_fino al:
INGRANDIRE
Vediamo quindi come il valore di sbloccato_fino al è cambiato, indicando che il nostro portafoglio è sbloccato.Un'altra delle funzionalità e dei vantaggi che ha Bitcoin Core È la possibilità di fare dei backup del nostro portafoglio per poi ripristinarlo senza alcun problema. Per questo useremo il comando backupwallet seguito dal nome che daremo al nostro file:
backupwallet portafoglio.backupOra per eseguire il ripristino è importante sbloccare prima il portafoglio e con il comando importwallet eseguiamo l'operazione:
importwallet wallet.backup
Per iniziare a lavorare con le transazioni all'interno della rete bitcoin dobbiamo ottenere un indirizzo, che vengono generati nel pool di indirizzi della rete, per questo dobbiamo solo usare il comando ottenerenuovoindirizzo Per averne un po', vediamo la risposta dalla console:
INGRANDIRE
Come possiamo vedere, il comando ci restituisce un indirizzo, che varierà tante volte quante volte verrà utilizzato il comando ed è quello che ci permetterà di iniziare a fare transazioni all'interno della rete bitcoin. Inoltre possiamo vedere gli indirizzi che abbiamo nel nostro portafoglio con il comando getaddressesbyaccount e con il comando bilanciare ottenere il nostro saldo, vediamo:INGRANDIRE
Come vediamo il cliente Satoshi Ci fornisce una vasta quantità di comandi per interagire con la rete bitcoin e aiutarci con le nostre transazioni, quello che abbiamo visto era un piccolo esempio della sua potenza e dei comandi disponibili. Nel caso in cui vogliamo dare un'occhiata a tutte le opzioni API, andiamo alla scheda Aiuto e nella sezione Opzioni della console di comando possiamo consultare il resto di loro:INGRANDIRE
Mentre il cliente Bitcoin Core È il più completo che ci sia per la gestione di tutta la tecnologia bitcoin, non fa mai male che siamo a conoscenza di altre alternative ad essa, alternative oltre Multibit e che ci permettono di interagire con la rete bitcoin e le strutture dati in essa presenti.Queste alternative sono implementate in vari linguaggi di programmazione, offrendoci un'immensa gamma di possibilità per lavorare con bitcoin:
libbitcoin e sx ToolsÈ un cliente e una libreria a sua volta costruito su C++, Ha molte delle caratteristiche che spieghiamo in questo tutorial, come la funzionalità di poter eseguire comandi al suo interno per eseguire operazioni.
bitcoinjbitcoinj è un client orientato al nodo completo sviluppato in Giava. Puoi tenere un portafoglio, ricevere e inviare transazioni, dove uno dei suoi punti di forza è che non è necessario conservare una copia dell'intera rete e delle transazioni sulla rete bitcoin.
pycoinUn cliente sviluppato in Pitone e che supporta la manipolazione dei bitcoin e delle loro transazioni, anche utilizzando il linguaggio per gestire transazioni non standardizzate.
Come possiamo vedere, abbiamo altre alternative oltre a Bitcoin Core, dove la scelta dell'uno o dell'altro dipenderà chiaramente dalle esigenze di ciascun utente e dalla sua filosofia di lavorare con la rete bitcoin.
Con questo abbiamo finito questo tutorial, dove abbiamo potuto imparare tutte le caratteristiche che il cliente Satoshi per lavorare con la rete bitcoin, nonché la possibilità di eseguire comandi estendendone le funzionalità e fornendoci strumenti extra che possiamo utilizzare a nostro vantaggio.