Hyperledger Indy - error on startup - Invalid library state: MerkleTree contains invalid item

381 Views Asked by At

I am attempting to set up a 4 node Indy network but I'm getting an "Invalid library state" error when I try to connect. This is what I've tried:

# 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

The above commands were all carried out on four separate machines. When I started indy-node on each machine, there was no output or anything, so I'm not sure if it worked.

On the first machine I installed indy-cli like so:

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

Then I booted up indy-cli and created a new wallet and new pool, and attempted to connect:

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

Can anyone tell me where I'm going wrong?

1

There are 1 best solutions below

0
On

I believe the pool create command should refer to pool_transactions_genesis, not domain_transactions_genesis. The DOMAIN subledger is for general ledger transactions while POOL is for the validator node information.