Hyperledger Indy - ошибка при запуске - Неверное состояние библиотеки: MerkleTree содержит недопустимый элемент - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь настроить сеть Indy с 4 узлами, но при попытке подключения я получаю сообщение об ошибке «Недопустимое состояние библиотеки». Вот что я попробовал:

# MACHINE 1:

sudo -E apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
bash -c 'echo "deb https://repo.sovrin.org/deb xenial stable" >> /etc/apt/sources.list'
sudo -E apt-get update
sudo -E apt-get -y install indy-node
sudo vim /etc/indy/indy_config.py # update network name to 'indynet'

sudo init_indy_node Alpha 0.0.0.0 9701 0.0.0.0 9702

sudo init_indy_keys --name Alpha

sudo generate_indy_pool_transactions --nodes 4 --clients 5 --nodeNum 1 --ips '178.62.22.16,178.128.37.97,209.97.136.39,206.189.118.184' --network=indynet

sudo ufw allow 9701
sudo ufw allow 9702

sudo start_indy_node Alpha 0.0.0.0 9701 0.0.0.0 9702

===============================================================================================

# MACHINE 2:

sudo -E apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
bash -c 'echo "deb https://repo.sovrin.org/deb xenial stable" >> /etc/apt/sources.list'
sudo -E apt-get update
sudo -E apt-get -y install indy-node
sudo vim /etc/indy/indy_config.py # update network name to 'indynet'

sudo init_indy_node Beta 0.0.0.0 9703 0.0.0.0 9704

sudo init_indy_keys --name Beta

sudo generate_indy_pool_transactions --nodes 4 --clients 5 --nodeNum 2 --ips '178.62.22.16,178.128.37.97,209.97.136.39,206.189.118.184' --network=indynet

sudo ufw allow 9703
sudo ufw allow 9704

sudo start_indy_node Beta 0.0.0.0 9703 0.0.0.0 9704

===============================================================================================

# MACHINE 3:

sudo -E apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
bash -c 'echo "deb https://repo.sovrin.org/deb xenial stable" >> /etc/apt/sources.list'
sudo -E apt-get update
sudo -E apt-get -y install indy-node
sudo vim /etc/indy/indy_config.py # update network name to 'indynet'

sudo init_indy_node Gamma 0.0.0.0 9705 0.0.0.0 9706

sudo init_indy_keys --name Gamma

sudo generate_indy_pool_transactions --nodes 4 --clients 5 --nodeNum 3 --ips '178.62.22.16,178.128.37.97,209.97.136.39,206.189.118.184' --network=indynet

sudo ufw allow 9705
sudo ufw allow 9706

sudo start_indy_node Gamma 0.0.0.0 9705 0.0.0.0 9706

===============================================================================================

# MACHINE 4:

sudo -E apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
bash -c 'echo "deb https://repo.sovrin.org/deb xenial stable" >> /etc/apt/sources.list'
sudo -E apt-get update
sudo -E apt-get -y install indy-node
sudo vim /etc/indy/indy_config.py # update network name to 'indynet'

sudo init_indy_node Theta 0.0.0.0 9707 0.0.0.0 9708

sudo init_indy_keys --name Theta

sudo generate_indy_pool_transactions --nodes 4 --clients 5 --nodeNum 4 --ips '178.62.22.16,178.128.37.97,209.97.136.39,206.189.118.184' --network=indynet

sudo ufw allow 9707
sudo ufw allow 9708

sudo start_indy_node Theta 0.0.0.0 9707 0.0.0.0 9708

Все вышеперечисленные команды выполнялись на четырех отдельных машинах. Когда я запускал indy-node на каждой машине, ничего не выводилось, поэтому я не уверен, сработало ли это.

На первой машине я установил indy-cli примерно так:

sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb xenial stable"
sudo apt-get update
sudo apt-get install -y indy-cli

Затем я загрузил indy-cli, создал новый кошелек и новый пул и попытался подключиться:

indy> wallet create mywallet key

indy> wallet open mywallet key

mywallet:indy> wallet list
+----------+---------+
| Name     | Type    |
+----------+---------+
| mywallet | default |
+----------+---------+
Current wallet "mywallet"

mywallet:indy> pool create indynet gen_txn_file=/var/lib/indy/indynet/domain_transactions_genesis

mywallet:indy> pool list
+---------+
| Pool    |
+---------+
| indynet |
+---------+


mywallet:indy> pool connect indynet
Error: Invalid library state
  Caused by: MerkleTree contains invalid item
  Caused by: error while decoding value

Может кто-нибудь сказать мне, где я ошибаюсь?

1 Ответ

0 голосов
/ 07 апреля 2020

Я считаю, что команда pool create должна ссылаться на pool_transactions_genesis, а не domain_transactions_genesis. Вспомогательная книга DOMAIN предназначена для транзакций главной книги, а POOL - для информации узла проверки.

...