To attend the Hyperledger Foundation Community Workshop series, Intro to Decentralized Identity, some preparatory work must be done in order to follow along with the workshops. Please make sure the OS and tools listed below are installed. The command lines are provided because in some cases, the default download will not work with our solution.
OS
To successfully follow the examples given during the training, you will need Ubuntu 18.04 (The desktop version is required).
Required tools
If not already installed, you will need to install curl, Node.js, Git, Docker, and Docker-Compose on your Ubuntu system. These must be installed to do the labs during the training session. Use the steps in each section below to properly install each element.
curl (optional: typing "curl -help" will tell you if the following is needed)
sudo apt install -y curl
Node.js
Note: Do not use the default method for installing Node.js in Ubuntu, please enter the two command lines listed here.
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs
Git
sudo apt install -y git
Docker
Only perform Steps 1 and 2 from the following link to install docker: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04.
Docker-Compose
Enter these three commands in your terminal:
sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version
Your output should read as follows: $ docker-compose version 1.25.5, build 8a1c60f6
Install a necessary dependency:
sudo apt -y install libgconf2-4
Ubuntu 21 dependency
If you are using a recent version of Ubuntu (+21.04) you should install the "shared low-level terminfo" library. Otherwise the indy-cli installation may fail;
sudo apt install -y libtinfo5
Download Repos
Enter these six commands into your terminal:
cd ~ mkdir git-hltraining cd git-hltraining git clone https://github.com/hyperledger/aries-toolbox.git git clone https://github.com/hyperledger/aries-acapy-plugin-toolbox.git cd aries-acapy-plugin-toolbox git fetch git checkout hl-workshop cd ~
Install Indy-CLI
Enter all of the following steps in to the Ubuntu command line:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88 sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb bionic stable" sudo add-apt-repository "deb https://repo.sovrin.org/deb bionic stable" sudo apt-get update -y sudo apt-get upgrade -y sudo apt-get install -y indy-cli cd ~
Now download the Indicio TestNet Genesis file:
curl -O https://raw.githubusercontent.com/Indicio-tech/indicio-network/main/genesis_files/pool_transactions_testnet_genesis
Create a cliconfig file (e.g. vi cliconfig) in your home directory and add the following contents:
{ "taaAcceptanceMechanism": "for_session" }
Run indy-cli. A full path for cliconfig is needed if you do not run indy-cli from your home directory.
indy-cli --config cliconfig
Ubuntu In a VM
If Ubuntu is installed on Mac or Windows in a Virtualbox VM, do the following:
- Perform all the steps listed in this tutorial to update your system and enable copy and paste.
- Make sure to restart your VM and that the Shared Clipboard is set to bidirectional:
- In your VM machine settings, in Virtual Box > General > Advanced
- Set ‘Shared Clipboard’ to ‘Bidirectional’
Test starting the agents and toolbox
From one terminal, run the following:
cd ~/git-hltraining/aries-toolbox npm install npm run dev
After running these commands, you should see a window like the following pop up:
This is the Aries Toolbox. We will now start the agents. From another terminal, run the following:
cd ~/git-hltraining/aries-acapy-plugin-toolbox/demo docker-compose -f docker-compose.alice-bob.yml up --build
Permissions
When running docker-compose (or other docker commands), you may need to prefix the command with `sudo` if it initially fails due to permissions.
The above command would then look like:
sudo docker-compose -f docker-compose.alice-bob.yml up --build
After running this command, you should see output similar to the following:
If you've gotten to this point, you should be ready to run the agents and toolbox for the workshop!
15 Comments
K Sanjay Kumar
hi, I got 2 errors.
sudo
add-apt-repository
"deb https://repo.sovrin.org/deb bionic stable"
i
I am using ubuntu 21.10
edit: installed libtinfo5 and indy-cli worked
Lynn Bendixsen
Hello, Sorry to see that it is not working well for you. I am not sure why you are getting those errors. We only tested on Ubuntu 18.04, so it could be because you are on a different version. If you have time, and still think you need help, come to our "office hours" tomorrow which are at 6-8pm MST. ( about 22 hours from now.) If the toolbox app is starting up for you and indy-cli shows a command prompt, then you are good to go!
Marius Ileana
Hi everyone!
I confirm that the instructions are working fine on Pop!_OS 21.10 (a great Ubuntu based Linux distribution).
As mentioned by K Sanjay Kumar before,
indy-cli
needs a dependency that it's not installed by default, as a dependency and as part ofindy-cli
installation. Therefore, I had also to install it explicitly usingsudo apt install libtinfo5
.Lynn Bendixsen
Thanks for the info Marius! See you at the workshop!
CHETANA PUJARI
Hello everyone,
I am facing the following issue
sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb bionic stable"
Error
Reading package lists... Done
W: Skipping acquire of configured file 'stable/binary-amd64/Packages' as repository 'https://repo.sovrin.org/deb bionic InRelease' doesn't have the component 'stable' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'stable/i18n/Translation-en' as repository 'https://repo.sovrin.org/deb bionic InRelease' doesn't have the component 'stable' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'stable/cnf/Commands-amd64' as repository 'https://repo.sovrin.org/deb bionic InRelease' doesn't have the component 'stable' (component misspelt in sources.list?)
I am using Ubuntu 18.04
Any changes I need to do in source.list file?
CHETANA PUJARI
I am able to solve that issue by following this instruction
https://www.reddit.com/r/pop_os/comments/idc63t/apt_update_giving_me_trouble_sourceslist/
Giuseppe Avocone
$ docker-compose -f docker-compose.alice-bob.yml up --build
WARNING: The AGENT_TUNNEL_HOST variable is not set. Defaulting to a blank string.
Building agent-alice
Sending build context to Docker daemon 1.996MB
Step 1/17 : FROM bcgovimages/von-image:py36-1.16-0 AS base
---> 19e6fe134ff0
Step 2/17 : USER root
---> Using cache
---> feb0421933a6
Step 3/17 : ENV POETRY_VERSION=1.1.11
---> Using cache
---> cd3521ffe7e4
Step 4/17 : ENV POETRY_HOME=/opt/poetry
---> Using cache
---> 3de67a53a1b9
Step 5/17 : RUN curl -sSL https://install.python-poetry.org | python -
---> Using cache
---> de9c099d5926
Step 6/17 : ENV PATH="/opt/poetry/bin:$PATH"
---> Using cache
---> 57d1e129b7f9
Step 7/17 : RUN poetry config virtualenvs.in-project true
---> Running in 9124085353d3
/bin/sh: 1: poetry: not found
The command '/bin/sh -c poetry config virtualenvs.in-project true' returned a non-zero code: 127
ERROR: Service 'agent-alice' failed to build : Build failed
base@base:~/aries-workshop/aries-acapy-plugin-toolbox/demo
I got this error, what can I do?
Willy Reinhardt
Hi,
For those who install with the latest (today) LTS of Ubuntu 22.04 jammy
You need to install libssl1.1 which is obsolete.
One way is:
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb
and then
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install -y indy-cli
Then all works.
Hammad Mustafa
Getting following error on npm run dev
git-hltraining/aries-toolbox/node_modules/electron/dist/electron: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory
Lynn Bendixsen
Hi Hammad Mustafa,
There is an answer to a similar question in the discord channel with a possible solution. Try it and let me know if you still need help?
https://discord.com/channels/905194001349627914/905206466410057728
-Lynn
Reza Yazdani
Hi @Lynn Bendixsen,
I am having the same issue that Hammad had reported.
I have a discord account, and when I click on the link you've sent above, it takes me to messages on the ARIES thread; is this the place I need to look for the answer you've mentioned (for the question similar to what Hammad has asked)? If yes, is there a way to find the answer without reading all the messages? I searched for "npm run dev" but still there are about 41 results coming up.
Thanks,
Reza
Reza Yazdani
I found the answer in the ARIES channel (by 'frostyfrog') which suggests running the following command :
sudo apt install libnss3-dev libgdk-pixbuf2.0-dev libgtk-3-dev libxss-dev
I ran the command and now I can run the 'npm run dev' command, but I get this output:
----------------
PF1FE1BK:~/git-hltraining/aries-toolbox$ npm run dev
> aries-toolbox@0.0.1 dev
...
Compiled workers script!
Watching file changes for workers script...
Compiled main script!
Starting electron...
Watching file changes for main script...
Compiled renderer script!
Watching file changes for renderer script...
----------------
I am running these commands in WSL 2.0 on Windows 10.
Do you know why I don't see the "aries-toolbox" pop up? Is it because I am using WSL 2.0?
Lynn Bendixsen
Hi Reza Yazdani,
Thanks for trying out the toolbox! I usually use Linux so I am not 100% sure how to answer your question, but it's possible that WSL does not have a terminal connected that allows the aries-toolbox window to pop up. I suggest using a linux VM for the demo if possible (and make sure to use a "desktop" version of Linux so that you can see the GUI parts).
-Lynn
Nicole “Nicky” Murray
Hi,
I ran into the error attached after executing command npm run dev. The toolbox pop-up appears; however, it is unclear if the error is expected. Please advise.
David Boswell
Nicole “Nicky” Murray – If you don't get a response here to your question, I suggest asking in the Aries chat channels on Hyperledger's Discord server. Details about how to join the Discord server are at: https://chat.hyperledger.org/