Запуск двух экземпляров bitcoind для разных сетей

Можно ли одновременно запустить два отдельных экземпляра bitcoind в одной системе, один для основной сети, другой для тестовой?

Ответы (3)

Да, ты можешь. Просто обязательно укажите разные каталоги данных и настройте их на использование разных портов.

Я предполагаю, что «указать разные каталоги данных» теперь устарело, верно?

Не вижу причин, почему бы и нет. Я где-то читал в этой ветке , что люди запускают различные экземпляры multicoin для аналогичных целей.

Я запускаю два узла на одном сервере, как вы и хотели, вы можете выполнить следующие шаги:
1. создать два отдельных файла конфигурации: bitcoin_mainnet.confи bitcoin_testnet3.confв ~/.bitcoin

2. сделать порт rpc и каталог данных отличными друг от друга
. пример 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

основная сеть

# 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. используйте следующие команды для запуска узла: bitcoind -conf=/root/.bitcoin/bitcoin_testnet3.conf -daemon bitcoind -conf=/root/.bitcoin/bitcoin_mainnet.conf -daemon

4. теперь вы можете использовать rpc для интерактивной тестовой сети и основной сети на другом порту.

5. у этого подхода есть обратная сторона, то есть при использовании CLI для интерактивности вы можете подключиться только к одной сети, вы можете проверить, к какой сети вы подключаетесь:
bitcoin-cli getblockchaininfoкоторая возвращает информацию, как показано ниже. «цепочка»: «тест» означает, что это тестовая сеть.

{
  "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. чтобы избежать этого недостатка, вы можете создать двух пользователей в liunx и заставить биткойн мгновенно запускаться разными пользователями linux, я делал это раньше, это работает.