Баланс корневого аккаунта увеличился, когда в Stellar Private Network перешло 100 миллиардов
Что мы имеем
Во-первых, мы установили Stellar Private Blockchain как автономный, используя Stellar-Core v10.1.0-dirty и Stellar-Horizon v0.15.3-linux-amd64.
Мы изменили следующее значение для целей тестирования.
https://github.com/stellar/stellar-core/blob/master/src/ledger/LedgerManagerImpl.cpp#L72
GENESIS_LEDGER_TOTAL_COINS 100 миллиардов XLM до 218056 строк. GENESIS_LEDGER_BASE_RESERVE 10 XLM до 1000 строк. GENESIS_LEDGER_BASE_FEE составляет 100 строк.
Резервный баланс = 2 * baseReserve = 2 * 1000 =2000 струп
В соответствии со значениями GENESIS_LEDGER_BASE_RESERVE и GENESIS_LEDGER_BASE_FEE для любого аккаунта необходимо использовать 2000 резервов как резервный баланс.
мы создали учетную запись с начальным балансом 2000 струпов, и все остальные суммы учетной записи root отправляются на эту учетную запись.
Только 2000 струпов поддерживаются для корневого аккаунта. Теперь баланс корневого аккаунта превышен.
В автономном узле мы обновили баланс корневого счета, указав конкретное значение, например 10 XLM, в таблице счетов узла звездного ядра db. Баланс root-аккаунта увеличился, и мы также проверили нашего локального звездного исследователя. Транзакции успешно выполняются.
Кроме того, мы можем создать новую учетную запись с начальным балансом 2000 струп из учетной записи root. Работает нормально.
Что мы хотим
Как мы можем увеличить баланс корневого аккаунта, когда весь баланс был превышен в нескольких узлах с помощью одной и той же сети (приватная цепочка блоков)?
Конфигурация для двух звездных узлов
Мы настроили звездную приватную цепочку блоков (RUN_STANDALONE=false) с двумя узлами.
Конфигурационный файл Node1
HTTP_PORT=11626
PUBLIC_HTTP_PORT=false
RUN_STANDALONE=false
NETWORK_PASSPHRASE="Test SDF Network ; September 2015"
NODE_SEED="SCQSBM46U7DFSKBS6DPUJ7EMEU6JHCKXQPN3YVL2567KAZO6I3R2MHMF self"
NODE_IS_VALIDATOR=true
DATABASE="postgresql://dbname=stellar_node02_db user=stellar_user password=stellar_user host=localhost"
# Comma separated peers list
KNOWN_PEERS=["127.0.0.1:11635"]
# The port other instances of stellar-core can connect to you on.
PEER_PORT=11625
COMMANDS=["ll?level=debug"]
FAILURE_SAFETY=0
UNSAFE_QUORUM=true
#The public keys of the Stellar testnet servers
[QUORUM_SET]
THRESHOLD_PERCENT=100
VALIDATORS=["$self"]
[HISTORY.vs]
get="cp /tmp/stellar-core/history/vs/{0} {1}"
put="cp {0} /tmp/stellar-core/history/vs/{1}"
mkdir="mkdir -p /tmp/stellar-core/history/vs/{0}"
Мы запускаем Звездный Горизонт с звездным ядром Node1.
./horizon --port 8000 --ingest=true --db-url "postgresql://stellar_user:stellar_user@localhost:5432/stellar_horizon_db?sslmode=disable" --stellar-core-db-url "postgresql://stellar_user:stellar_user@localhost:5432/stellar_node01_db?sslmode=disable" --stellar-core-url "http://127.0.0.1:11626"
Конфигурационный файл Node2
HTTP_PORT=11636
PUBLIC_HTTP_PORT=false
RUN_STANDALONE=false
NETWORK_PASSPHRASE="Test SDF Network ; September 2015"
NODE_SEED="SB6LSAQZFWT2D3EYFKVY5OKRTZP32FMLPI3YTKYY52TFG4ZLLKEMKPHJ self"
NODE_IS_VALIDATOR=true
DATABASE="postgresql://dbname=stellar_node03_db user=stellar_user password=stellar_user host=localhost"
# Comma separated peers list
KNOWN_PEERS=["127.0.0.1:11625"]
# The port other instances of stellar-core can connect to you on.
PEER_PORT=11635
COMMANDS=["ll?level=debug"]
FAILURE_SAFETY=0
UNSAFE_QUORUM=true
#The public keys of the Stellar testnet servers
[QUORUM_SET]
THRESHOLD_PERCENT=100
VALIDATORS=["$self"]
[HISTORY.vs]
get="cp /tmp/stellar-core/history/vs/{0} {1}"
put="cp {0} /tmp/stellar-core/history/vs/{1}"
mkdir="mkdir -p /tmp/stellar-core/history/vs/{0}"
Спасибо