Можно ли одновременно запустить два отдельных экземпляра bitcoind в одной системе, один для основной сети, другой для тестовой?
Да, ты можешь. Просто обязательно укажите разные каталоги данных и настройте их на использование разных портов.
Не вижу причин, почему бы и нет. Я где-то читал в этой ветке , что люди запускают различные экземпляры 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, я делал это раньше, это работает.
о0'.