¿Es posible crear una red de registro bitcoind en Ubuntu (que a su vez está en Virtualbox)?

Me estoy iniciando en el desarrollo de Bitcoin y parece que el modo de registro de Bitcoin es perfecto para probar nuestras aplicaciones.

Estoy tratando de crear una red, siguiendo la respuesta de Fred Tingey pero, desafortunadamente, no funciona.

Necesito sugerencias, ¿qué información puedo proporcionar? Estoy tratando de usar la ventana acoplable, pero primero tengo que crear una máquina Ubuntu de 64 bits. Gracias

Claro: enlace
Creo que no estoy creando correctamente directorios de datos adicionales. No puedo conectarme a la red, se agotó el tiempo de conexión. @ShaunWilson
Bueno, las instrucciones en la respuesta de Fred parecen ser correctas en su mayoría, parece enumerar números de puerto inconsistentes. Voy a ver si puedo limpiarlo.
Muchas gracias. ¿Con lo que estoy luchando es cómo probar si la red funciona correctamente? Además, para crear directorios adicionales, ¿es solo copiar y pegar? @ShaunWilson
Limpié su respuesta, pero la revisión por pares tardará un tiempo en ponerse al día. Sí, simplemente puede copiar y pegar carpetas para crear más nodos. Una vez que se están ejecutando y conectados, puede usar la interfaz de línea de comandos para ejecutar comandos como getpeerinfo, por ejemplo, sourceforge.net/p/bitcoin/mailman/message/32012030
¿Puedes también publicar tu respuesta editada aquí, por favor? @ShaunWilson

Respuestas (1)

Parece que la respuesta de Fred Tingey fue mayormente correcta, pero contenía números de puerto incorrectos en las muestras que proporcionó. Si alguien tuviera que copiar y pegar todo, no habría funcionado correctamente.

Modifiqué su respuesta, está pendiente de revisión por pares.

El uso de Ubuntu, Docker y VirtualBox no debería afectar su capacidad para configurar el registro.

Es posible que tenga problemas para conectarse desde el host al invitado, si es así, le sugiero que haga preguntas sobre los intercambios de superusuario o ubuntu.

¡Espero que ayude!

=== Aquí está la versión editada:

Para ejecutar varios nodos en modo de prueba en una sola máquina, deberá aislar cada nodo.

En este ejemplo tengo tres nodos, se llaman Alice, Bob y Cory. Dado que Bitcoin es una red Peer/Mesh, mi objetivo es conectar cada nodo para que los cambios realizados en Cory sean finalmente visibles para Bob (sin requerir necesariamente una conexión directa entre los dos).

Paso 1: Cree carpetas para cada nodo.

Estas carpetas contendrán nuestros datos y configuraciones para cada nodo. Los nombres no son importantes, se pueden renombrar más tarde, por lo que puedes llamarlos "Alice", "Bob" y "Cory" por ahora. Recuerde dónde los crea, necesitará sus rutas para el Paso 3 a continuación.

Paso 2: en cada carpeta, cree un archivo bitcoin.conf

En los archivos de configuración, Alice estará configurada para conectarse a Cory y Bob estará configurado para conectarse a Alice. Además de configurar las conexiones salientes, aquí también es donde especificamos las regtest=1configuraciones server=1.

bitcoin.conf para Alicia

regtest=1 server=1 # Alice connects to Cory connect=localhost:18333

bitcoin.con para Bob

regtest=1 server=1 # Bob connects to Alice connect=localhost:18444

bitcoin.conf para Cory

regtest=1 server=1 # Cory connects to nobody

Paso 3: Inicie cada nodo.

Tenga en cuenta que cada nodo debe tener un número de puerto diferente, ya que solo un nodo puede vincularse a un número de puerto en cualquier momento.

  • Alicia en el puerto 18444
  • Bob en el puerto 18555
  • Cory en el puerto 18333

Por supuesto, puede elegir sus propios números de puerto, solo tenga cuidado de no usar un número de puerto que ya esté en uso por otra persona.

Las opciones de la línea de comandos le dirán a bitcoin qué número de puerto usar, dónde almacenar los datos y dónde encontrar su archivo de configuración:

Cori:

"C:\Program Files\Bitcoin\bitcoin-qt.exe" -conf="C:\Cory\bitcoin.conf" -datadir="C:\Cory" -port=18333 -rpcport=8333

Beto:

"C:\Program Files\Bitcoin\bitcoin-qt.exe" -conf="C:\Bob\bitcoin.conf" -datadir="C:\Bob" -port=18555 -rpcport=8555

Alicia:

"C:\Program Files\Bitcoin\bitcoin-qt.exe" -conf="C:\Alice\bitcoin.conf" -datadir="C:\Alice" -port=18444 -rpcport=8444

Esto lanzará tres instancias del Cliente Bitcoin y las carpetas de cada nodo comenzarán a inicializarse con datos de registro.

Paso 4: Prueba

Puede usar la Help->Debug Window->Consoleopción para ejecutar comandos de forma interactiva en cualquiera de los nodos. Por ejemplo, puede extraer 101 bloques con el siguiente comando de consola de bitcoin:

setgenerate true 101

Deberías (después de unos segundos) haber recibido monedas.

Estas actividades mineras dan como resultado transacciones de base de monedas , y solo la última de 50 BTC está disponible para gastar. Ahora puede enviar algo de BTC a uno de los otros nodos. Después de un poco más de minería, dicha transacción será confirmada .

También puede usar los comandos de la consola getpeerinfoy getinfoverificar que la red esté configurada correctamente. Uno de ellos (Core wit port=18333) debe tener 'sync=true' en su salida de peerinfo, y todos los nodos deben tener la misma "altura de bloque" independientemente del nodo que se use para la minería.

no necesita los argumentos -conf por cierto... al menos en Linux. Y deberá agregar -rpcport=XXX para desconfligir los puertos rpc
Debe usar -listen=1si está configurando ; de -connectlo contrario, no aceptará conexiones entrantes.
tienes 2 Bobs en ejemplos de línea de comando