Ausführen von zwei Bitcoin-Instanzen für verschiedene Netze

Ist es möglich, zwei separate Bitcoin-Instanzen gleichzeitig auf einem System auszuführen, eine für Mainnet, die andere für Testnet?

Antworten (3)

Ja, du kannst. Stellen Sie nur sicher, dass Sie unterschiedliche Datenverzeichnisse angeben und diese so konfigurieren, dass sie unterschiedliche Ports verwenden.

Ich nehme an, dass das "Spezifizieren verschiedener Datenverzeichnisse" jetzt obsolet ist, oder?

Ich sehe keinen Grund, warum nicht. Ich habe irgendwo in diesem Thread gelesen , dass Leute verschiedene Instanzen von Multicoin für ähnliche Zwecke ausführen.

Ich betreibe zwei Knoten auf demselben Server, genau wie Sie es wollten, Sie können die folgenden Schritte ausführen:
1. Erstellen Sie zwei separate Konfigurationsdateien: bitcoin_mainnet.confund bitcoin_testnet3.confin ~/.bitcoin

2. Machen Sie den RPC-Port und das Datadir voneinander verschieden
sample 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

Hauptnetz

# 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. Verwenden Sie die folgenden Befehle, um den Knoten hochzufahren: bitcoind -conf=/root/.bitcoin/bitcoin_testnet3.conf -daemon bitcoind -conf=/root/.bitcoin/bitcoin_mainnet.conf -daemon

4. Jetzt können Sie RPC verwenden, um Testnet und Mainnet in verschiedenen Ports zu interagieren.

5. Dieser Ansatz hat einen Nachteil, das heißt, wenn Sie CLI zu Interactive verwenden, können Sie nur eine Verbindung zu einem Netzwerk herstellen. Sie können überprüfen, mit welchem ​​​​Netzwerk Sie sich verbinden:
bitcoin-cli getblockchaininfoDadurch werden Informationen wie unten zurückgegeben. „Kette“: „Test“ bedeutet, dass es sich um ein Testnetz handelt.

{
  "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. Um diesen Nachteil zu vermeiden, können Sie zwei Benutzer in Linux erstellen und Bitcoin sofort von verschiedenen Linux-Benutzern ausführen lassen. Ich habe es zuvor getan, es funktioniert.