Reputation: 3692
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?
Upvotes: 1
Views: 401
Reputation: 46
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.
Upvotes: 1