Bitcoin Core és un dels programaris que executen els nodes per participar a la xarxa Bitcoin. La versió principal d’aquest programari s’anomena Bitcoin Core i funciona amb gairebé tots els nodes de la xarxa Bitcoin, cosa que els permet fer complir el mateix conjunt de regles i aconseguir consensos.
Bitcoin Core és de codi obert. Això significa que qualsevol persona pot veure, comentar o proposar canvis al codi. A més, qualsevol persona pot canviar la seva còpia del codi com vulgui. Pots examinar el codi complet a GitHub.
El Repte
El repte d’aquest mes és senzill: connectar-te a la xarxa de Bitcoin. Pot semblar difícil. No ho és. En menys de 10 minuts et mostro els primers passos per a introduir-te en les eines de Bitcoin Core i connectar-te a la xarxa principal o a la xarxa de tests. Veuràs tres eines: la versió daemon bitcoind, la versió línia de comandaments bitcoin-cli i la versió amb interfície gràfica bitcoin-qt.
Nota: no és recomanable sincronitzar tota la xarxa amb el teu ordinador convencional, ja que això requerirà grans volums d’espai al teu disc dur, i al voltant d’una setmana de temps (a dia d’avui). Si vols fer córrer un node, et suggereixo que utilitzis maquinari específic.
El Codi
Pre-requisits: descarrega’t Bitcoin Core a través de la web.
Dependències: utilitzarem l’API RPC, integrada en les eines de Bitcoin Core. Per a consultar la llista completa d’ordres de Bitcoin Core pots consultar la guia de referència RPC API.
bitcoind
És un servidor RPC (quan s’inicia sense l’ordre RPC a la línia de comandaments) i un client RPC (quan s’inicia amb l’ordre RPC a la línia de comandaments).
bitcoin-cli
És una interfície de línia de comandaments, per al client Bitcoin Core, que es connecta a una instància en funcionament, com pot ser bitcoind.
L’usuari pot interactuar amb aquest programa i utilitzar les funcions necessàries que controlin el servei de bitcoind, així com la possibilitat d’utilitzar una cartera Bitcoin per enviar i rebre fons, entre altres funcions que proporciona el client Bitcoin Core.
bitcoin-qt
Només executa un servidor RPC (quan s’inicia amb -server).
Pots executar bitcoin-qt o bitcoind, però no tots dos alhora (la part qt no és només una interfície a sobre del codi RPC, sinó que utilitza el nucli directament).
Tanmateix, pots executar bitcoin-qt amb el commutador de línia d’ordres -server, en aquest cas també exposarà un servei RPC (que funciona essencialment com a bitcoind a més de la interfície GUI).
La consola RPC dins de la interfície gràfica d’usuari té la mateixa funcionalitat que el client RPC de bitcoind.
Conclusions
En l’article d’aques mes, has vist diferents eines dins del projecte Bitcoin Core. Aquestes permeten connectar-nos a la xarxa com a nodes i, alhora, utilitzar les funcionalitats que venen a l’API RPC, com ara obtenir l’alçada de bloc, el bloc hash, info de la xarxa, etc.
Aquest és el primer pas per a començar a comunicar-te amb la xarxa i desenvolupar scripts que permetin realitzar coses més complexes.
No et perdis el pròxim article, on veuràs com editar la configuració de la connexió, i elegir una xarxa de tests per a fer probes.