Ejecutando dos instancias de bitcoind para diferentes redes

¿Es posible ejecutar dos instancias de bitcoind separadas en un sistema al mismo tiempo, una para mainnet y otra para testnet?

Respuestas (3)

Sí tu puedes. Solo asegúrese de especificar diferentes directorios de datos y configurarlos para usar diferentes puertos.

Supongo que "especificar diferentes directorios de datos" ahora está obsoleto, ¿verdad?

No veo ninguna razón por la que no. He leído en alguna parte de este hilo que las personas ejecutan varias instancias de multicoin para propósitos similares.

Estoy ejecutando dos nodos en el mismo servidor tal como lo deseaba, puede seguir los pasos a continuación:
1. cree dos archivos de configuración separados: bitcoin_mainnet.confy bitcoin_testnet3.confen ~/.bitcoin

2. hacer que el puerto rpc y datadir sean diferentes entre sí
muestra conf:
testnet

# This config should be placed in following path:
# ~/.bitcoin/bitcoin_testnet3.conf

# [core]
# Specify the location of the configuration file. To use non-default location, create a default location config file containing this setting.
conf=~/.bitcoind/bitcoin_testnet3.conf
# Specify a non-default location to store blockchain and other data.
datadir=/mnt/bitcoin

# [debug]
# Run this node on the Bitcoin Test Network.
testnet=1

# [rpc]
# Accept command line and JSON-RPC commands.
server=1
# Accept public REST requests.
rest=1
# RPC user
rpcuser=rpcuser
# RPC password
rpcpassword=rpcpass
# RPC allow ip (allow all)
rpcallowip=0.0.0.0/0
# RPC bind
rpcbind=0.0.0.0
# get all transaction
txindex=1

red principal

# This config should be placed in following path:
# ~/.bitcoin/bitcoin_mainnet.conf

# [core]
# Specify the location of the configuration file. To use non-default location, create a default location config file containing this setting.
conf=~/.bitcoind/bitcoin_mainnet.conf
# Specify a non-default location to store blockchain and other data.
datadir=/mnt/bitcoin/mainnet

# [debug]
# Run this node on the Bitcoin Test Network.
#testnet=1

# [rpc]
# Accept command line and JSON-RPC commands.
server=1
# Accept public REST requests.
rest=1
# RPC user
rpcuser=rpcuser
# RPC password
rpcpassword=rpcpass
# RPC allow ip (allow all)
rpcallowip=0.0.0.0/0
# RPC bind
rpcbind=0.0.0.0
# get all transaction
txindex=1

3. Use los siguientes comandos para activar el nodo: bitcoind -conf=/root/.bitcoin/bitcoin_testnet3.conf -daemon bitcoind -conf=/root/.bitcoin/bitcoin_mainnet.conf -daemon

4. ahora puede usar rpc para testnet y mainnet interactivos en diferentes puertos.

5. Este enfoque tiene una desventaja, es que cuando usa CLI de forma interactiva, solo puede conectarse a una red, puede verificar a qué red se está conectando:
bitcoin-cli getblockchaininfolo que devolverá información similar a la siguiente. "cadena": "prueba" significa que es testnet.

{
  "chain": "test",
  "blocks": 1443057,
  "headers": 1443057,
  "bestblockhash": "00000000000000e9f4078f12d44ee643fd9711e93ad4ddaab5af1977741ce053",
  "difficulty": 11974980.94624031,
  "mediantime": 1542001244,
  "verificationprogress": 0.9999998425668387,
  "initialblockdownload": false,
  "chainwork": "0000000000000000000000000000000000000000000000d119525c684f1418b3",
  "size_on_disk": 22997637713,
  "pruned": false,
  "softforks": [
    {
      "id": "bip34",
      "version": 2,
      "reject": {
        "status": true
      }
    },
    {
      "id": "bip66",
      "version": 3,
      "reject": {
        "status": true
      }
    },
    {
      "id": "bip65",
      "version": 4,
      "reject": {
        "status": true
      }
    }
  ],
  "bip9_softforks": {
    "csv": {
      "status": "active",
      "startTime": 1456790400,
      "timeout": 1493596800,
      "since": 770112
    },
    "segwit": {
      "status": "active",
      "startTime": 1462060800,
      "timeout": 1493596800,
      "since": 834624
    }
  },
  "warnings": "Warning: unknown new rules activated (versionbit 28)"
}

6. para evitar este inconveniente, puede crear dos usuarios en liunx y hacer que bitcoind sea ejecutado instantáneamente por diferentes usuarios de linux, lo he hecho antes, funciona.