Agradecemos a GNUtransfer el habernos cedido un VPS y otros recursos para escribir este articulo.
En este articulo veremos como usar el paquete bitcoind-init para debian wheezy amd64 disponible en nuestro repositorio
NOTA: El paquete lo hemos llamado bitcoind-init para que no entre en conflicto con el paquete bitcoind que esta en los repositorios de debian.
Este es el paquete bitcoind compilado para debian wheezy amd64 con las fuentes descargadas del repositorio git de bitcoin https://github.com/bitcoin/bitcoin.git y con un script en init.d de inicio y detención del mismo.
El paquete dispone de un script de inicio y parada en /etc/init.d
Primero procedemos a instalarlo con apt-get veremos que también se instalan las dependencias.
root@vps590197:/# apt-get install bitcoind-init Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libboost-chrono1.49.0 libboost-filesystem1.49.0 libboost-program-options1.49.0 libboost-system1.49.0 libboost-thread1.49.0 libdb5.1++ libminiupnpc5 minissdpd openssl pwgen rpl Suggested packages: db-util db4.8-util ca-certificates The following NEW packages will be installed: bitcoind-init libboost-chrono1.49.0 libboost-filesystem1.49.0 libboost-program-options1.49.0 libboost-system1.49.0 libboost-thread1.49.0 libdb5.1++ libminiupnpc5 minissdpd openssl pwgen rpl 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded. Need to get 3,742 kB of archives. After this operation, 10.4 MB of additional disk space will be used. Do you want to continue [Y/n]? Get:1 http://repository.geeklab.com.ar/geeklab-repository/ wheezy/contrib bitcoind-init amd64 0.9.3-0 [1,822 kB] Get:2 http://security.debian.org/ wheezy/updates/main openssl amd64 1.0.1e-2+deb7u12 [701 kB] Get:3 http://ftp.us.debian.org/debian/ wheezy/main rpl all 1.5.5-1 [8,314 B] Get:4 http://ftp.us.debian.org/debian/ wheezy/main pwgen amd64 2.06-1+b2 [21.0 kB] Get:5 http://ftp.us.debian.org/debian/ wheezy/main libboost-system1.49.0 amd64 1.49.0-3.2 [33.4 kB] Get:6 http://ftp.us.debian.org/debian/ wheezy/main libboost-filesystem1.49.0 amd64 1.49.0-3.2 [78.3 kB] Get:7 http://ftp.us.debian.org/debian/ wheezy/main libboost-program-options1.49.0 amd64 1.49.0-3.2 [162 kB] Get:8 http://ftp.us.debian.org/debian/ wheezy/main libboost-thread1.49.0 amd64 1.49.0-3.2 [64.0 kB] Get:9 http://ftp.us.debian.org/debian/ wheezy/main libboost-chrono1.49.0 amd64 1.49.0-3.2 [39.8 kB] Get:10 http://ftp.us.debian.org/debian/ wheezy/main libdb5.1++ amd64 5.1.29-5 [757 kB] Get:11 http://ftp.us.debian.org/debian/ wheezy/main libminiupnpc5 amd64 1.5-2 [37.9 kB] Get:12 http://ftp.us.debian.org/debian/ wheezy/main minissdpd amd64 1.1.20120121-1 [17.5 kB] Fetched 3,742 kB in 8s (462 kB/s) Selecting previously unselected package openssl. (Reading database ... 27776 files and directories currently installed.) Unpacking openssl (from .../openssl_1.0.1e-2+deb7u12_amd64.deb) ... Selecting previously unselected package rpl. Unpacking rpl (from .../archives/rpl_1.5.5-1_all.deb) ... Selecting previously unselected package pwgen. Unpacking pwgen (from .../pwgen_2.06-1+b2_amd64.deb) ... Selecting previously unselected package libboost-system1.49.0. Unpacking libboost-system1.49.0 (from .../libboost-system1.49.0_1.49.0-3.2_amd64.deb) ... Selecting previously unselected package libboost-filesystem1.49.0. Unpacking libboost-filesystem1.49.0 (from .../libboost-filesystem1.49.0_1.49.0-3.2_amd64.deb) ... Selecting previously unselected package libboost-program-options1.49.0. Unpacking libboost-program-options1.49.0 (from .../libboost-program-options1.49.0_1.49.0-3.2_amd64.deb) ... Selecting previously unselected package libboost-thread1.49.0. Unpacking libboost-thread1.49.0 (from .../libboost-thread1.49.0_1.49.0-3.2_amd64.deb) ... Selecting previously unselected package libboost-chrono1.49.0. Unpacking libboost-chrono1.49.0 (from .../libboost-chrono1.49.0_1.49.0-3.2_amd64.deb) ... Selecting previously unselected package libdb5.1++:amd64. Unpacking libdb5.1++:amd64 (from .../libdb5.1++_5.1.29-5_amd64.deb) ... Selecting previously unselected package libminiupnpc5. Unpacking libminiupnpc5 (from .../libminiupnpc5_1.5-2_amd64.deb) ... Processing triggers for man-db ... Setting up openssl (1.0.1e-2+deb7u12) ... Setting up rpl (1.5.5-1) ... Setting up pwgen (2.06-1+b2) ... Setting up libboost-system1.49.0 (1.49.0-3.2) ... Setting up libboost-filesystem1.49.0 (1.49.0-3.2) ... Setting up libboost-program-options1.49.0 (1.49.0-3.2) ... Setting up libboost-thread1.49.0 (1.49.0-3.2) ... Setting up libboost-chrono1.49.0 (1.49.0-3.2) ... Setting up libdb5.1++:amd64 (5.1.29-5) ... Setting up libminiupnpc5 (1.5-2) ... Processing triggers for python-support ... Selecting previously unselected package bitcoind-init. (Reading database ... 27926 files and directories currently installed.) Unpacking bitcoind-init (from .../bitcoind-init_0.9.3-0_amd64.deb) ... Selecting previously unselected package minissdpd. Unpacking minissdpd (from .../minissdpd_1.1.20120121-1_amd64.deb) ... Processing triggers for man-db ... Setting up bitcoind-init (0.9.3-0) ... update-rc.d: using dependency based boot sequencing [ ok ] bitcoin-init.sh: Start bitcoind Daemon is disabled check /etc/default/bitcoin-init. Setting up minissdpd (1.1.20120121-1) ... root@vps590197:/#
Al instalar este paquete se crea el usuario bitcoin cuyo directorio de trabajo es
/var/lib/bitcoin
el script de instalación lo deja con una configuración lista para funcionar.
Solo hay que editar /etc/default/bitcoin-init (La sintaxis es bash)
root@vps590197:/# cat /etc/default/bitcoin-init ENABLE=no SERVER_CONF=/var/lib/bitcoin/.bitcoin/bitcoin-server.conf CLIENT_CONF=/var/lib/bitcoin/.bitcoin/bitcoin.conf DATADIR=/var/lib/bitcoin/.bitcoin RUNUSER=bitcoin RUNGROUP=bitcoin NICE_VAL=18
Y cambiar el valor de la variable ENABLE por yes de modo que quede así
root@vps590197:/# cat /etc/default/bitcoin-init ENABLE=yes SERVER_CONF=/var/lib/bitcoin/.bitcoin/bitcoin-server.conf CLIENT_CONF=/var/lib/bitcoin/.bitcoin/bitcoin.conf DATADIR=/var/lib/bitcoin/.bitcoin RUNUSER=bitcoin RUNGROUP=bitcoin NICE_VAL=18
En el caso que necesitemos modificar la configuración del demonio bitcoind se debe editar el archivo /var/lib/bitcoin/.bitcoin/bitcoin-server.conf
Si en el archivo /var/lib/bitcoin/.bitcoin/bitcoin-server.conf modificamos la variable rpcuser y/o rpcpassword debemos modificarla tambien en el archivo /var/lib/bitcoin/.bitcoin/bitcoin.conf de modo que sean iguales en ambos archivos.
Si tenemos un archivo wallet.dat debemos copiarlo en el directorio /var/lib/bitcoin/.bitcoin y cambiarle el usuario y los permisos
root@vps590197:/# chown bitcoin:bitcoin /var/lib/bitcoin/.bitcoin/wallet.dat root@vps590197:/# chmod 0600 /var/lib/bitcoin/.bitcoin/wallet.dat root@vps590197:/#
Si no tenemos archivo wallet.dat uno sera creado la primera vez que arranquemos el demonio.
Ahora procedemos a arrancar el demonio.
El script de inicio es /etc/init.d/bitcoin-init.sh
root@vps590197:/# /etc/init.d/bitcoin-init.sh start [ ok ] bitcoin-init.sh: Start bitcoind. root@vps590197:/#
Esperamos unos minutos y probamos de conectarnos por RPC para eso nos convertimos en el usuario bitcoin y ejecutamos una consulta
root@vps590197:/# su bitcoin bitcoin@vps590197:/$ bitcoin-cli getinfo { "version" : 90300, "protocolversion" : 70002, "walletversion" : 60000, "balance" : 0.00000000, "blocks" : 95537, "timeoffset" : 0, "connections" : 4, "proxy" : "", "difficulty" : 8078.19525793, "testnet" : false, "keypoololdest" : 1409790646, "keypoolsize" : 1025, "paytxfee" : 0.00000000, "relayfee" : 0.00001000, "errors" : "" } bitcoin@vps590197:/$
Si quieren conectarse con otro usuario pueden hacer lo siguiente (ejemplo con el usuario root)
root@vps590197:/# mkdir -p /root/.bitcoin root@vps590197:/# cp /var/lib/bitcoin/.bitcoin/bitcoin.conf /root/.bitcoin/ root@vps590197:/# chown root:root /root/.bitcoin/bitcoin.conf root@vps590197:/# chmod 0600 /root/.bitcoin/bitcoin.conf root@vps590197:/#
Luego probamos de conectarnos con ese usuario
root@vps590197:/# bitcoin-cli getinfo { "version" : 90300, "protocolversion" : 70002, "walletversion" : 60000, "balance" : 0.00000000, "blocks" : 114072, "timeoffset" : 0, "connections" : 4, "proxy" : "", "difficulty" : 76192.61934751, "testnet" : false, "keypoololdest" : 1409790646, "keypoolsize" : 1025, "paytxfee" : 0.00000000, "relayfee" : 0.00001000, "errors" : "" } root@vps590197:/#
NOTA 1: debemos esperar que se sincronice toda la cadena de bloques eso puede tardar mas de un día
NOTA 2: Debemos asegurarnos de tener espacio en el disco pues al día de escribir este articulo 3-9-2014 toda la cadena de bloques ocupa unos 27 GB
Cualquier bug o error de concepto no duden en dejar un comentario.
Con esto terminamos este articulo

About Ricardo Marcelo Alvarez
- Web |
- More Posts(58)