<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Animo Solutions on Medium]]></title>
        <description><![CDATA[Stories by Animo Solutions on Medium]]></description>
        <link>https://medium.com/@AnimoSolutions?source=rss-68474e9ef55f------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*oQ5KmOYu_Qc6kjMyu1r3Dg.png</url>
            <title>Stories by Animo Solutions on Medium</title>
            <link>https://medium.com/@AnimoSolutions?source=rss-68474e9ef55f------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 28 Feb 2026 18:28:30 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@AnimoSolutions/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Why the SSI community should embrace million dollar apes.]]></title>
            <link>https://medium.com/coinmonks/why-the-ssi-community-should-embrace-million-dollar-apes-61d119f20331?source=rss-68474e9ef55f------2</link>
            <guid isPermaLink="false">https://medium.com/p/61d119f20331</guid>
            <category><![CDATA[nft]]></category>
            <category><![CDATA[self-sovereign-identity]]></category>
            <category><![CDATA[ssi]]></category>
            <dc:creator><![CDATA[Animo Solutions]]></dc:creator>
            <pubDate>Mon, 11 Apr 2022 08:32:22 GMT</pubDate>
            <atom:updated>2022-04-12T14:04:26.093Z</atom:updated>
            <content:encoded><![CDATA[<p>By <a href="https://twitter.com/jan_rtvld">Jan Rietveld</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DLWo-xYeQtQ5mjvcGdzj7w.png" /><figcaption>Our own Animo APE, check it out at <a href="https://opensea.io/assets/matic/0xc77269a060d4d3b83cdce91695fef3a027f13b6a/0/">OpenSea</a>!</figcaption></figure><p>A few weeks ago, I came across an article about how a <a href="https://forkast.news/headlines/samsung-backed-university-nfts-graduates/">Samsung-backed university is issuing NFTs to select graduates</a>. This reminded me of a Reddit post I saw a while back where someone <a href="https://www.reddit.com/r/theinternetofshit/comments/r5n9pj/man_unlocks_door_using_eth_by_verifying_a_nft_ens/">opened his door using Ethereum</a>.</p><p>As a self-sovereign identity developer, so from a technical point of view, this is hilarious. I can think of ten ways to open your door that are more secure. But I believe there’s more to these stories. These people are coming up with solutions that are in line with most of the core values we in the SSI space have been working on for years.</p><p>Web 3 has seen a big rise in popularity in the last year. A lot of people (including me) are getting to know this new decentralized version of the internet by exploring cryptocurrencies, NFTs, DeFi and Blockchain games.</p><p>If you’ve been around for a while, I know exactly what you’re thinking. We’ve all seen these waves of excitement come and go. Most of this stuff is just unfounded hype around cryptocurrency, the Metaverse and other buzzwords to raise venture capital money. In the SSI community, we have a tendency to distance ourselves from it and believe we are working on better, more long term solutions. But fundamentally, these projects don’t differ that much from what we are working on in the SSI space.</p><ul><li>Some cryptocurrencies provide a safe haven in a world where no country is safe from problems like inflation, corruption or even fraud by introducing a monetary system that is open, transparent and decentralized.</li><li>Online ownership has been an issue for years, where the most viable solution was dumping your stuff at some centralized organization that handles it for you, while also taking a big chunk from the revenue in the process. NFTs provide a way to solve this issue by creating scarcity, uniqueness and transparency.</li><li>More recently, the decentralized gaming space gained a lot of popularity by promising more interoperability between the games you play and providing real ownership over the in game assets you obtain, most of which is now handled via black markets.</li></ul><p>There is a lot of value in these projects, and by combining them with the identity layer we have been building for years the possibilities could be endless.</p><p>For example, while NFTs might not be the best for opening doors or issuing diplomas, they do provide use cases for ownership-based access management, which allows products and services to become tradable. The DeFi space is another good example. It is still incredibly unregulated, and an identity layer that uses verifiable credentials would help DeFi handle the upcoming regulations regarding KYC and AML. Lastly, this recent article from cheqd explains how the uniqueness and scarcity from NFTs combined with verifiable credentials can also make <a href="https://www.cheqd.io/blog/nft-and-ssi-unlocking-a-new-gaming-experience">a big impact in the decentralized gaming space</a>. This last item especially shows how much we are still in the middle of the ongoing innovation, and how little we know of what is yet to come.</p><p>I think there is a lot of skepticism around NFTs and the crypto space in general among some of my peers right now. But what if we embrace the hype that is created around this technology to show people what we’ve been building for the past 5 years? Instead of hating on apes and pixelated figures, embrace the attention the Web 3 space is getting as a whole and start a conversation with these new crowds that are ready to dive into decentralized technologies with us.</p><p>So next time you see someone advocating for why a JPEG is worth half a million, tell them to <a href="https://opensea.io/assets/matic/0xc77269a060d4d3b83cdce91695fef3a027f13b6a/0/">buy our million dollar Animo APE</a>! Just kidding, but you might spark up a conversation telling them about SSI and what you’ve been doing. You can use <a href="https://demo.animo.id/">our demo</a> for that.</p><p>— - end of original article — -</p><blockquote><em>Join Coinmonks</em><a href="https://t.me/coincodecap"><em> Telegram Channel</em></a><em> and</em><a href="https://www.youtube.com/c/coinmonks/videos"><em> Youtube Channel</em></a><em> learn about crypto trading and investing</em></blockquote><h3>Also, Read</h3><ul><li><a href="https://medium.com/coinmonks/3commas-review-an-excellent-crypto-trading-bot-2020-1313a58bec92">3Commas Review</a> |<a href="https://coincodecap.com/pionex-review-exchange-with-crypto-trading-bot"> Pionex Review</a> |<a href="https://medium.com/coinmonks/coinrule-review-2021-a-beginner-friendly-crypto-trading-bot-daf0504848ba"> Coinrule review</a></li><li><a href="https://medium.com/coinmonks/ledger-vs-ngrave-zero-7e40f0c1d694">Ledger vs Ngrave</a> |<a href="https://medium.com/coinmonks/ledger-nano-s-vs-x-battery-hardware-price-storage-59a6663fe3b0"> Ledger nano s vs x</a> |<a href="https://medium.com/coinmonks/binance-review-ee10d3bf3b6e"> Binance Review</a></li><li><a href="https://medium.com/coinmonks/bybit-exchange-review-dbd570019b71">Bybit Exchange Review</a> |<a href="https://coincodecap.com/bityard-reivew"> Bityard Review</a> |<a href="https://coincodecap.com/jet-bot-review"> Jet-Bot Review</a></li><li><a href="https://medium.com/coinmonks/3commas-vs-pionex-vs-cryptohopper-best-crypto-bot-6a98d2baa203">3Commas vs Cryptohopper</a> |<a href="https://medium.com/coinmonks/earn-crypto-interest-b10b810fdda3"> Earn crypto interest</a></li><li>The Best Bitcoin<a href="https://medium.com/coinmonks/hardware-wallets-dfa1211730c6"> Hardware wallet</a> |<a href="https://medium.com/coinmonks/bitbox02-review-your-swiss-bitcoin-hardware-wallet-c36c88fff29"> BitBox02 Review</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=61d119f20331" width="1" height="1" alt=""><hr><p><a href="https://medium.com/coinmonks/why-the-ssi-community-should-embrace-million-dollar-apes-61d119f20331">Why the SSI community should embrace million dollar apes.</a> was originally published in <a href="https://medium.com/coinmonks">Coinmonks</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to install Libindy for Linux to use with Aries Framework JavaScript.]]></title>
            <link>https://medium.com/@AnimoSolutions/how-to-install-libindy-for-linux-to-use-with-aries-framework-javascript-3470453dd233?source=rss-68474e9ef55f------2</link>
            <guid isPermaLink="false">https://medium.com/p/3470453dd233</guid>
            <category><![CDATA[self-sovereign-identity]]></category>
            <category><![CDATA[afj]]></category>
            <category><![CDATA[hyperledger-indy]]></category>
            <category><![CDATA[hyperledger-aries]]></category>
            <dc:creator><![CDATA[Animo Solutions]]></dc:creator>
            <pubDate>Thu, 18 Nov 2021 14:59:35 GMT</pubDate>
            <atom:updated>2022-11-09T10:20:56.880Z</atom:updated>
            <content:encoded><![CDATA[<p>By <a href="https://github.com/blu3beri">Berend Sliedrecht</a></p><p>Often the very first struggles people face when using A<a href="https://github.com/hyperledger/aries-framework-javascript">ries Framework JavaScript</a> is installing Libindy. This article will guide you through the cumbersome installing process and offer some easy tools to do so!</p><h4>​Prerequisites</h4><ul><li>A system package manager (like apt, pacman, etc.).</li><li>Node (We have tested 17.0.1 and 16.8.0 and they both work, so those should be safe.)</li><li>Cargo (We have to build libindy from source).</li><li>git (to clone a repo, could also be done with downloading the zip from the github page).</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*fXLwPdbGfkNPCFQf.png" /><figcaption>Hyperledger Indy</figcaption></figure><h4>Step 1: installing the dependencies</h4><p>This step is platform-dependent, so check which distribution you have and use the correct provided script. This script installs libsodium, zeromq and possibly some other minor dependencies. If there is no script provided, check the names of these packages and install them with your package manager.</p><p><strong>Arch based (arch, Manjaro, Arco, etc.)</strong></p><pre># sh</pre><pre>sudo pacman -S libsodium zeromq</pre><p><strong>Debian based (Ubuntu, Mint, Kali, Deepin, etc.)</strong></p><pre># sh</pre><pre>sudo apt install libzmq3-dev libsodium-dev libssl-dev</pre><p><strong>REHL based (Fedora, CentOS, etc.)</strong></p><p>NOTE: This has not been tested yet. It is based on the previous distributions and might contain mistakes. If you found any please open an issue <a href="https://github.com/hyperledger/aries-framework-javascript/issues">here</a> or email me at <a href="mailto:berend@animo.id">berend@animo.id</a>.</p><pre># sh</pre><pre>yum -i libsodium zeromq zeromq-devel</pre><h4>Step 2: Installing Libindy</h4><p>Installing Libindy is slightly different from how we installed the dependencies. Libindy is technically downloadable with most package managers, however it did not work for me after many attempts. The following method has been tested extensively, and should work on any system with Cargo and git.</p><h4>Step 2.1: Cloning the indy-sdk</h4><p>First up is to clone the indy-sdk from its github repository.</p><pre># sh</pre><pre>git clone <a href="https://github.com/hyperledger/indy-sdk.git">https://github.com/hyperledger/indy-sdk.git</a><br>​<br>cd indy-sdk/libindy</pre><h4>Step 2.2: Building Libindy</h4><p>If this step throws any errors, it might be because you’re missing some packages. Step 1 of this guide provided the dependencies that are required, but it also assumed that you have some basic development packages, such as base-devel on arch.</p><pre># sh</pre><pre>pwd<br>​<br># OUTPUT: …/indy-sdk/libindy<br>​<br>cargo build --release</pre><h4>​<br>Step 2.3: Moving the file</h4><pre># sh</pre><pre>pwd<br>​<br># OUTPUT: …/indy-sdk/libindy<br>​<br>sudo mv ./target/release/libindy.so /usr/lib/libindy.so</pre><h4>​ Step 3: Checking if it all worked</h4><p>After cloning, building and moving Libindy, everything should be installed correctly to develop with Aries Framework JavaScript. To confirm this, execute the following script:</p><pre>#sh</pre><pre>npx -p <a href="http://twitter.com/aries">@aries</a>-framework/node is-indy-installed</pre><pre># output<br># Libindy was installed correctly</pre><p>If the output was anything else than that, there might be some issues with your installation. If the only steps you executed were step 1 and 2 from this article, please report this <a href="https://github.com/hyperledger/aries-framework-javascript/issues">here</a> or email me directly at <a href="mailto:berend@animo.id">berend@animo.id</a> with an error log.<br>​<br>To acquire this error log execute the following:</p><pre>#sh</pre><pre>npm i @aries-framework/node</pre><p>Well done! You have now installed Libindy. Have fun using <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a>! If you want some pointers on how to work wit hit, check out <a href="https://medium.com/@AnimoSolutions/issuing-a-verifiable-credential-in-7-easy-steps-a7fa18d41c6d">Issuing a Verifable Credential in 7 Easy Steps</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/498/0*8GD8u9gmZgfKwfeL.gif" /><figcaption>You, working with Libindy</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3470453dd233" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to install Libindy for Windows to use with Aries Framework JavaScript.]]></title>
            <link>https://medium.com/@AnimoSolutions/how-to-install-libindy-for-windows-to-use-with-aries-framework-javascript-c3fbc3feb9eb?source=rss-68474e9ef55f------2</link>
            <guid isPermaLink="false">https://medium.com/p/c3fbc3feb9eb</guid>
            <category><![CDATA[hyperledger-indy]]></category>
            <category><![CDATA[afj]]></category>
            <category><![CDATA[self-sovereign-identity]]></category>
            <category><![CDATA[verifiable-credentials]]></category>
            <category><![CDATA[hyperledger-aries]]></category>
            <dc:creator><![CDATA[Animo Solutions]]></dc:creator>
            <pubDate>Thu, 18 Nov 2021 13:52:10 GMT</pubDate>
            <atom:updated>2021-11-18T15:04:20.503Z</atom:updated>
            <content:encoded><![CDATA[<p>By <a href="https://github.com/blu3beri">Berend Sliedrecht</a></p><p>Often the very first struggles people face when using <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a> is installing Libindy. This article will guide you through the cumbersome installing process and offer some easy tools to do so!</p><h4>Prerequisites</h4><ul><li>Node (We have tested 17.0.1 and 16.8.0 and they both work, so those should be safe.)</li><li>Python 3+</li><li>VS 2022 Community, or better (with the Desktop Development with C++ )</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*DR2EwFN9Pkw0R-KR.png" /><figcaption>Hyperledger Indy</figcaption></figure><h4>Step 1: Downloading Libindy</h4><p>You can download the Libindy from the repository <a href="https://repo.sovrin.org/windows/libindy/master/1.16.0-1636/libindy_1.16.0.zip">here</a>. This will download Libindy and all its required dependencies.</p><h4>Step 2: Extracting Libindy</h4><p>When it is done downloading, navigate to your downloads folder and extract the lib directory to a permanent location. Remember this path as it is required later.</p><h4>Step 3: Add Libindy to your environment variables</h4><p>Go to your environment variables and click on new at the System Variables.The name <em>has to be</em> LD_LIBRARY_PATH and the value <em>has to be</em> the path to the lib folder.</p><p>This path is the one you extracted the downloaded zip file to.</p><h4>Step 4: Checking if it all worked</h4><p>After cloning, building and moving Libindy, everything should be installed correctly to develop with <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a>. To confirm this, execute the following script:</p><pre>#sh</pre><pre>npx -p @aries-framework/node is-indy-installed</pre><pre># output<br># Libindy was installed correctly</pre><p>If the output was anything other than that, there might be some issues with your installation. If the only other steps you undertook were step 1 and 2 from this article, please report this <a href="https://github.com/hyperledger/aries-framework-javascript/issues">here</a> or email me directly at <a href="mailto:berend@animo.id">berend@animo.id</a> with an error log.<br>​<br>To acquire this error log execute the following:</p><pre># sh<br>​<br>npm i <a href="http://twitter.com/aries">@aries</a>-framework/node<br>​</pre><p>Otherwise, well done! You have now installed Libindy. Have fun using <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a>! If you want some pointers on how to work with it, check out <a href="https://medium.com/@AnimoSolutions/issuing-a-verifiable-credential-in-7-easy-steps-a7fa18d41c6d">Issuing a Verifable Credential in 7 Easy Steps</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/498/0*ChKpm4MHZbCtS9RT.gif" /><figcaption>You, working with Libindy</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c3fbc3feb9eb" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to install Libindy for MacOS, with an Intel processor, to use with Aries Framework JavaScript.]]></title>
            <link>https://medium.com/@AnimoSolutions/how-to-install-libindy-for-macos-with-an-intel-processor-to-use-with-aries-framework-javascript-4918ab730029?source=rss-68474e9ef55f------2</link>
            <guid isPermaLink="false">https://medium.com/p/4918ab730029</guid>
            <category><![CDATA[libindy]]></category>
            <category><![CDATA[afj]]></category>
            <category><![CDATA[verifiable-credentials]]></category>
            <category><![CDATA[hyperledger-indy]]></category>
            <category><![CDATA[aries-framework]]></category>
            <dc:creator><![CDATA[Animo Solutions]]></dc:creator>
            <pubDate>Thu, 18 Nov 2021 13:37:16 GMT</pubDate>
            <atom:updated>2021-11-18T13:37:16.555Z</atom:updated>
            <content:encoded><![CDATA[<p>By <a href="https://github.com/blu3beri">Berend Sliedrecht</a></p><p>Often the very first struggles people face when using A<a href="https://github.com/hyperledger/aries-framework-javascript">ries Framework JavaScript</a> is installing Libindy. This article will guide you through the installing process to get you started.</p><h4>Prerequisites</h4><ul><li>Homebrew</li><li>Node (We have tested 17.0.1 and 16.8.0 and they both work, so those should be safe.)</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*8ugGq7x7Ii-2Ega9.png" /><figcaption>Hyperledger Indy</figcaption></figure><h4>​<br>Step 1: Installing Libindy</h4><p>It is possible to install Libindy for MacOS via a very simple homebrew script. This script installs Libindy from the correct repository and installs its dependencies. These dependencies include OpenSSL, ZeroMQ and Libsodium.</p><pre># sh</pre><pre>brew tap blu3beri/homebrew-libindy<br>brew install libindy</pre><h4>​<br>​Step 2: Checking if it all worked</h4><p>​To confirm if Libindy is correctly installed to be used with <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a>, run the command below.</p><pre># sh</pre><pre>npx -p @aries-framework/node is-indy-installed<br>​<br># OUTPUT: Libindy was installed correctly</pre><p>If the output was anything else than that, there might be some issues with your installation. If the only step you did was step 1 from this article, please report this <a href="https://github.com/hyperledger/aries-framework-javascript/issues">here</a> or email me directly at <a href="mailto:berend@animo.id">berend@animo.id</a> with an error log.</p><pre># sh</pre><pre>npm i @aries-framework/node</pre><p>Otherwise, well done! You have now installed Libindy. Have fun using <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a>! If you want some pointers on how to work with it, check out <a href="https://medium.com/@AnimoSolutions/issuing-a-verifiable-credential-in-7-easy-steps-a7fa18d41c6d">Issuing a Verifable Credential in 7 Easy Steps</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/500/0*27hxUH_27gcgAh2W.gif" /><figcaption>You, working with Libindy</figcaption></figure><p>​</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4918ab730029" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to install Libindy for MacOS with Apple Silicon to use with Aries Framework JavaScript.]]></title>
            <link>https://medium.com/@AnimoSolutions/how-to-install-libindy-for-macos-with-apple-silicon-to-use-with-aries-framework-javascript-ffe9719ab2e?source=rss-68474e9ef55f------2</link>
            <guid isPermaLink="false">https://medium.com/p/ffe9719ab2e</guid>
            <category><![CDATA[digital-identity]]></category>
            <category><![CDATA[hyperledger-indy]]></category>
            <category><![CDATA[self-sovereign-identity]]></category>
            <category><![CDATA[libindy]]></category>
            <category><![CDATA[hyperledger-aries]]></category>
            <dc:creator><![CDATA[Animo Solutions]]></dc:creator>
            <pubDate>Mon, 27 Sep 2021 13:51:09 GMT</pubDate>
            <atom:updated>2021-12-29T09:20:25.619Z</atom:updated>
            <content:encoded><![CDATA[<p>By <a href="https://github.com/blu3beri">Berend Sliedrecht</a></p><p>Often the very first struggles people face when using A<a href="https://github.com/hyperledger/aries-framework-javascript">ries Framework JavaScript</a> is installing Libindy. This article will guide you through the cumbersome installing process and offer some easy tools to do so!</p><h4>Prerequisites</h4><ul><li>Homebrew</li><li>Node (We have tested 17.0.1 and 16.8.0 and they both work, so those should be safe.)</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-VIdqE0Ib5vOQX3lnxi6cQ.png" /><figcaption>Hyperledger Indy</figcaption></figure><h4>Step 1: Installing OpenSSL</h4><p>The first thing we’ll do is install OpenSSL. Since Apple replaced OpenSSL with their own version of LibreSSL, we’ll need to install it. Also, we need to install a specific version of OpenSSL that is compatible with Apples architecture. After the installation, we need to link it, so that it overrides the default openssl command (we have not noticed any issues with overriding this command, but be cautious).</p><pre># sh</pre><pre>brew install openssl@1.1 # possibly already installed on your system<br><br>brew link openssl@1.1 --force<br><br>echo &#39;export PATH=&quot;/opt/homebrew/opt/openssl@1.1/bin:$PATH&quot;&#39; &gt;&gt; ~/.zshrc<br><br>source ~/.zshrc</pre><p>After the installation, we have to link openssl@1.1. If brew link openssl@1.1 --force does not work you can execute the last two commands. Note that if you do not have zsh, but must replace the ~/.zshrc with your shell-specific rc.</p><p>To double-check if the correct version is installed, you need to restart your terminal session and run the following command:</p><pre># sh</pre><pre>openssl version</pre><pre># OUTPUT: OpenSSL 1.1.1 ...</pre><h4>Step 2: Installing other dependencies</h4><p>After installing OpenSSL, we can now install the easier dependencies by running the following command:</p><pre># sh</pre><pre>brew install libsodium zeromq</pre><p>This will simply install libsodium and zeromq.</p><h4>Step 3: Installing libindy</h4><p>Hyperledger provides some libindy build, but the one for Apple is built for intel x86_64. We have built libindy for Apple architecture, arm64, and is located <a href="https://drive.google.com/file/d/1JaRqAEAyodjeh120YYZ0t42zfhN3wHiW/view?usp=sharing">here</a>.</p><p>Open your downloads folder and /usr/local/lib (create it, if it does not exist)</p><p>Drag the downloaded file libindy.dylib to /usr/local/lib. In this Finder window, click on libindy.dylibwith control + click and click on open. This is a weird quirk in macOS to be able to use this file.</p><h4>Step 4: Checking if it all worked</h4><p>To check if your installation worked, execute the following commands:</p><pre>#sh</pre><pre>npx -p @aries-framework/node is-indy-installed</pre><pre># output<br># Libindy was installed correctly</pre><p>Well done! You have now installed Libindy. Have fun using <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a>! If you want some pointers on how to work with it, check out <a href="https://medium.com/@AnimoSolutions/issuing-a-verifiable-credential-in-7-easy-steps-a7fa18d41c6d">Issuing a Verifable Credential in 7 Easy Steps</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/220/1*hSM_2zemVUMr363r5T4fCg.gif" /><figcaption>You, working with Libindy</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ffe9719ab2e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Issuing a verifiable credential in 7 easy steps.]]></title>
            <link>https://medium.com/@AnimoSolutions/issuing-a-verifiable-credential-in-7-easy-steps-a7fa18d41c6d?source=rss-68474e9ef55f------2</link>
            <guid isPermaLink="false">https://medium.com/p/a7fa18d41c6d</guid>
            <category><![CDATA[self-sovereign-identity]]></category>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[verifiable-credentials]]></category>
            <category><![CDATA[afj]]></category>
            <category><![CDATA[verification]]></category>
            <dc:creator><![CDATA[Animo Solutions]]></dc:creator>
            <pubDate>Fri, 20 Aug 2021 09:14:19 GMT</pubDate>
            <atom:updated>2023-03-10T11:34:40.885Z</atom:updated>
            <content:encoded><![CDATA[<blockquote>This article is out of date because of the new Aries Framework JavaScript release. It is only applicable for AFJ version 0.1.0. For instructions on different versions, check out<a href="https://aries.js.org/guides/tutorials"> the docs</a>.</blockquote><p>Verifiable credentials are getting easier and easier to work with. In this piece, we’re going to show you how to issue a verifiable credential using Aries Framework JavaScript in around 100 lines of code. To see and copy the code, you can see this <a href="https://github.com/animo/afj-demo-for-twitter">repo</a> to run it yourself.</p><p>Imagine you just purchased a gold tier gym membership from a new gym in your neighborhood. This gym is modern and sleek and makes an effort to embrace new technologies, so they’re using a new membership system. Instead of a plastic card that proves you are a member, you are going to receive a verifiable credential on your phone!</p><p>First we’re going to create a holder Agent, this will be the Agent that receives the membership credential. During their life, the holder will collect many different verifiable credentials. Memberships, ID-cards, even purchasing records. Anything a person might need to prove something about themselves can be a verifiable credential they can store on their phone.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YKzqEpPgdYy1S8nRqXz6Rw.png" /><figcaption>The holder is created, we’re using auto accept to make this example as simple as possible.</figcaption></figure><p>We now need a second party, the gym itself, this will be our second Agent. They will be the ones that issues the membership credential to your holder agent. In classic terms where you (the member) are the ‘holder’, the gym will be the ‘issuer’.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4iWli89KUlFoO4w9Zvnu6g.png" /><figcaption>The issuer agent is created in the exact same way.</figcaption></figure><p>Our two Agents need to have a connection to exchange information. To create a connection between them, the issuer Agent will send an invitation to connect to the holder Agent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8juVs2Tckk-rdI4m44GPxg.png" /><figcaption>The issuer is creating the connection in this case.</figcaption></figure><p>The holder Agent will need to receive and accept this invitation to establish the connection. Once our two parties are connected, they can use that connection for different purposes like communicating, requesting and sending proofs and (of course) issuing credentials.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kAHqlCDbheU1U3csqRVoag.png" /><figcaption>Here’s where auto accept is making our code nice and short. The holder receives and accepts the connection.</figcaption></figure><p>Now we’re getting to the exciting stuff. The gym will need to define what attributes are a part of their membership, they need to create a schema for the credential they are going to issue. An ID credential might contain your first name, last name, citizen number, nationality etc. This gym membership only contains a starting date and a tier, so we’ll create a schema with those values.</p><p>While the schema defines the attributes of the credential (‘Start date’ and ‘Tier’), the credential definition links the schema to the issuers DID (Decentralized Identifier). Now the holder will always be able to prove that the gym issued the credential, as it is connected to their organizational DID</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*scsM57DBMsvLl02xdauwoA.png" /><figcaption>Creating the schema and registering it.</figcaption></figure><p>The credential definition<strong> </strong>has been created and registered. To give you the credential, the issuer Agent will offer it to your holder Agent, who will then decide whether to accept. On your phone this could be in the form of a popup or notification in your personal digital wallet app. To show the holder Agent what they are accepting/rejecting, the issuer will create a preview of the credential and send it along with the credential offer.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ewo0TqJM700L3j_UDiHzow.png" /><figcaption>Creating the preview and sending it along with the credential offer.</figcaption></figure><p>The holder Agent is listening for change, and can accept the credential when it is offered. After this they are now the owner of the verifiable credential. The holder Agent can use it to prove to anyone asking that they are a member of this particular gym.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*o0vkTRfnt7rfOjxD0SWcBQ.png" /><figcaption>The holder listens for a changed state and accepts the offer of a credential.</figcaption></figure><p>Great job! We’ve seen two Agents establishing a connection, one of them offering a credential and the other accepting it. All in 7 easy steps.</p><p>To run this code yourself, check out this <a href="https://github.com/animo/afj-demo-for-twitter">repo</a>. It contains some additional config, setup and logging so you can run it all in one go, but you’ll see that the code is largely the same as the steps above.</p><p><a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript </a>is a great framework for those starting with development around verifiable credentials. The framework is constantly being improved with accessibility and ease of use in mind, so make sure to keep an eye on it.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a7fa18d41c6d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Aries Framework JavaScript: The Swiss-Army Knife for Modern SSI Development.]]></title>
            <link>https://medium.com/@AnimoSolutions/aries-framework-javascript-the-swiss-army-knife-for-modern-ssi-development-b20de11894e4?source=rss-68474e9ef55f------2</link>
            <guid isPermaLink="false">https://medium.com/p/b20de11894e4</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[identity]]></category>
            <category><![CDATA[self-sovereign-identity]]></category>
            <category><![CDATA[hyperledger-aries]]></category>
            <category><![CDATA[aries]]></category>
            <dc:creator><![CDATA[Animo Solutions]]></dc:creator>
            <pubDate>Fri, 16 Jul 2021 11:53:34 GMT</pubDate>
            <atom:updated>2021-12-06T15:41:02.357Z</atom:updated>
            <content:encoded><![CDATA[<h4>An overview of the ever-maturing SSI framework.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GNomD9uEKxJOaeSUzpkrPA.jpeg" /></figure><p>By<a href="https://twitter.com/TimoGlastra"> Timo Glastra</a>.</p><p>Both on company time and in my personal time, I spend a lot of time contributing to Aries Framework JavaScript. So much so that it has become a bit of a joke between colleagues how much I care for the framework. They’re probably right. I believe Aries Framework JavaScript has the potential to become one of the key tools to making self-sovereign identity development truly accessible for everyone.</p><p>If you haven’t heard about <a href="https://github.com/hyperledger/aries-framework-javascript">Aries Framework JavaScript</a> (AFJ), it is a framework written in TypeScript for building self-sovereign identity (SSI) agents that aims to be compliant and interoperable with the standards defined by <a href="https://www.hyperledger.org/use/aries">Hyperledger Aries</a>. Even though the framework does not have all features you’d expect from an Aries implementation yet, the growth of the framework towards a fully functional and multi-platform option for self-sovereign identity solutions has been a large focal point for us. Now with AIP 1.0 practically supported, and multiple organizations using it, the value is becoming more visible to others as well. We’ve seen a lot of interest in the framework from organizations looking for an accessible, cross-platform, and open-source option for SSI development.</p><p>In this post, I’ll give an overview of why Animo chooses to develop our solutions on Aries Framework JavaScript, where it stands today, and why it might be a good fit for your use case. You’ll find out why I choose to spend my evenings contributing and hopefully you’ll even agree. First up, what are the benefits of AFJ for agent development?</p><h4>It is Cross Platform</h4><p>One of the main challenges still existing in agent development is the limited number of accessible options for development in different platforms. Aries Framework JavaScript takes away the complexities and allows you to reuse code across implementations. It provides the building blocks to bootstrap your SSI solution, whether it is a mobile wallet built in <a href="https://github.com/hyperledger/aries-mobile-agent-react-native">React Native</a>, a desktop application built in <a href="https://github.com/blu3beri/aries-agent-electron">Electron</a>, or a server-side cloud agent built in <a href="https://github.com/animo/aries-agent-demo-nodejs">Node.JS</a>. AFJ doesn’t pick sides.</p><p>When working on innovative SSI solutions, we don’t want to be restricted by a single platform or tool. We want our developers (as well as our customers) to have an accessible, easy-to-use, and open-source foundation to build anything they envision on.</p><p>At the moment, the main interest in the framework is for developing cross-platform mobile wallets for iOS and Android using <a href="https://reactnative.dev">React Native</a>. AFJ can be used with <a href="https://github.com/AbsaOSS/rn-indy-sdk">React Native Indy SDK</a>, allowing you to write your business logic once instead of twice.</p><h4>JavaScript is a Popular Language</h4><p>It may seem weird to promote a framework because it is written in a popular programming language. The general belief is that you should pick the language best suited for your use case. However, the current level of self-sovereign identity adoption means that for now the programming language *does* matter. If you don’t have engineers that can build out a specific framework, or build on top of it, you won’t get far.</p><p>JavaScript is the most popular language according to the <a href="https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages">StackOverflow Developer Survey 2020</a>. Although the language has its quirks, it is a very accessible language that a lot of developers are familiar with. And the usage of TypeScript on top of JavaScript helps us catch mistakes early, making the development process more efficient (my love for TypeScript is another thing that is well known around our office)</p><p>A great example is what happened with the transition of the Coinbase iOS and Android apps <a href="https://blog.coinbase.com/announcing-coinbases-successful-transition-to-react-native-af4c591df971">from native to React Native</a>. They were having a hard time finding mobile engineers in comparison to web engineers. The transition to a web-based programming language allowed them to easily train their web engineers to be effective mobile engineers.</p><h4>Focused on ease of use</h4><p>The goal that we’re trying to achieve with Aries Framework JavaScript is to make it as easy as possible to get started, without the need to rely on proprietary code. Documentation is crucial to making the framework easy to use. In the past we’ve been (rightly) called out multiple times that there was no documentation, or that the documentation was outdated. This is something that commercial products often do right, they invest the time to make their products usable, as that’s how they make their money. We recently did a complete overhaul of the documentation (check out the <a href="https://github.com/hyperledger/aries-framework-javascript#getting-started">Getting Started</a> guide), and other contributors are actively working to extend the documentation.</p><p>There’s a long way to go, and we’re still hard at work to improve the developer experience of the framework, but we think emphasizing ease of use from the start will help us stay focused on the overall goals. Over time, the framework will transform into more and more of a “plug and play” experience, allowing developers to pick and choose which functionalities best suit their project.</p><p>Take for example the code block below. Only 16 lines of code to both set up your agent and receive a connection invitation. Depending on if the other agent responds immediately ( autoAcceptConnections is set to <em>true</em>), the connection is ready to use in a matter of seconds. This is a great example of some simple code that doesn’t require you to do a deep dive, we’re trying to automate as much as possible.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/35b2623df8a8ae8b11b2df8f2ee5399e/href">https://medium.com/media/35b2623df8a8ae8b11b2df8f2ee5399e/href</a></iframe><h4>Interoperability</h4><p>Interoperability is key for SSI. That’s why we’ve taken interoperability testing serious from the beginning. Thanks to the <a href="https://github.com/hyperledger/aries-agent-test-harness">Aries Agent Test Harness</a>, Aries Framework JavaScript is tested for interoperability against other open-source Aries implementations every day. If something breaks, we’ll get notified immediately, allowing us to move fast without breaking things (in contrast to the famous <a href="https://hbr.org/2019/01/the-era-of-move-fast-and-break-things-is-over">“Move Fast and Break Things” motto</a> from Mark Zuckerberg).<br> <br>On the <a href="https://aries-interop.info/javascript.html">Aries Framework JavaScript Interoperability</a> page, you can get an up-to-date overview of the interoperability of AFJ against other Aries implementations. I’ve also been involved with the .NET and ACA-Py test harness back channels, so Aries Agent Test Harness could be considered another favorite of mine. It’s great to see the growing amount of connected frameworks, and it really puts a visual to what interoperability means.</p><h4>Open source collaboration</h4><p>At Animo, we think a self-sovereign identity should be accessible to everyone, which also means the code that powers it should be open source. Truly open source. It takes time to build a community around open-source tools, but once established, everyone benefits from it.</p><p>The power of open source collaboration is already noticeable with <a href="https://github.com/hyperledger/aries-cloudagent-python">Aries Cloud Agent Python</a> (ACA-Py), one of the largest open-source Aries implementations. Although mainly powered by the Government of British Columbia, ACA-Py has attracted pretty large open-source contributions from companies such as <a href="https://sicpa.com">SICPA</a>, <a href="https://bmw.com">BMW</a>, and <a href="https://indicio.tech">Indicio</a>. Aries Framework JavaScript is not yet near ACA-Py contributor-wise, but it <strong>has</strong> gained a lot of traction lately. The community has been making more new contributions, and we’re starting to see some cool projects built on top of it.</p><p>To give you an idea of what is happening on the implementer side of Aries Framework JavaScript I’ve included examples of some of these projects.</p><h4>Cardea</h4><p>One of the new projects build on top of Aries Framework JavaScript is the <a href="https://cardea.app">Cardea</a> project, a complete ecosystem for the exchange of privacy-preserving digital credentials, open-sourced as a project in Linux Foundation Public Health (LFPH). The Cardea <a href="https://github.com/thecardeaproject/cardea-mobile-holder">holder wallet</a> and Cardea <a href="https://github.com/thecardeaproject/cardea-mobile-verifier">verifier app</a> are both powered by Aries Framework JavaScript.</p><p><a href="https://www.prnewswire.com/news-releases/privacy-first-covid-verification-technology-takes-a-giant-step-forward-with-cardea-301286983.html">Privacy-first COVID verification technology takes a giant step forward with Cardea</a></p><h4>United Nations International Computing Centre</h4><p>Another project worth mentioning is the United Nations Digital ID. The United Nations International Computing Centre (UNICC) recently presented the UN Digital ID. They also announced it will use Aries Framework JavaScript for the mobile wallet implementation.</p><p><a href="https://www.unicc.org/news/2021/05/17/uniccs-cto-shashank-rai-presents-un-digital-id-at-hyperledger-social-impact-special-interest-group/">UNICC&#39;s CTO Shashank Rai Presents UN Digital ID at Hyperledger Social Impact Special Interest Group - UNICC</a></p><h4>Student Projects (HU University of Applied Sciences)</h4><p>Although some big projects are starting to look at Aries Framework JavaScript, the whole point of this blog was to highlight its accessibility. Through a collaboration with the <a href="https://www.internationalhu.com/">Hogeschool Utrecht</a>, Animo has been able to launch several student projects that use AFJ. Asking young software developers that are inexperienced with SSI and relatively new to development in general has allowed us to really pinpoint the weak points of the framework. The struggles of student teams working on implementations for smart locks, patient records, and age verification has shown us what needs to be fixed. We’ve seen some amazing results and creativity because of their efforts.</p><p>So we’ve seen the benefits and some implementations of Aries Framework JavaScript. What is our focus for the future? The framework is starting to be used for more and more production use cases, and the extra contributors allow us to add more features.</p><p>We’re currently mostly focusing on support for <a href="https://github.com/hyperledger/aries-rfcs/blob/master/concepts/0302-aries-interop-profile/README.md#aries-interop-profile-version-10">Aries Interop Profile 1.0</a> (AIP), of which you can already use a lot in AFJ. Besides the focus on AIP 1.0, the Aries Framework JavaScript contributors are also working on some extra features. Let’s highlight some of them.</p><h4>Auto Acceptance of Credentials and Proofs</h4><p>One feature we’re currently working on is the auto-acceptance of credentials and proofs. This will make it even easier to get started building your agent. Connections already have the auto-acceptance feature, and this is the reason the code example earlier in this post was only a few lines of code. The agent automatically handles the required steps to complete the connection.</p><p>Credentials and proofs are a bit more complex as most of the time you want something in between auto-acceptance and doing everything manually. You want to check the content once, and then let the agent automatically handle the exchange for you. If, for example, the issuer suddenly changes the attributes of the credential during the exchange, the auto-acceptance is canceled. This is different from how most agents implement it today and makes auto-acceptance a feature you can use in production environments.</p><h4>Mediation</h4><p>Another feature being worked on is full mediator support according to the open standards. Aries Framework JavaScript includes a sample mediator that you can use to route messages, however, the mediator can only be used for agents built on top of AFJ and is not built for production use cases. With support for mediation according to the standards, you can use the production-ready mediator agent built into Aries Cloud Agent Python to route messages to mobile devices.</p><p>We’re pretty excited about this contribution from <a href="https://indicio.tech">Indicio</a> and look forward to start using it ourselves.</p><h4>Connection-less issuance and verification</h4><p>As the name suggests, connection-less issuance and verification allows you to issue and verify credentials without making a connection with the other agent first. This is ideal for situations where you don’t want to create a long-lasting relationship, such as issuing event tickets, accessing a building, or verifying your age online.</p><p>All the features mentioned above (auto acceptance of credentials and proofs, mediation, and connection-less issuance and verification) are already implemented in AFJ and will be released soon.</p><p>In conclusion, if you have a use case that could use a cross-platform, easy-to-use and, open-source solution with a focus on interoperability, look no further! Aries Framework JavaScript undoubtedly has something to offer you and your development needs.</p><p>If you want to join the discussion you can join the Aries Framework JavaScript Working Group call every Thursday at 07:00 MT / 14:00 UTC (zoom link: <a href="https://zoom.us/j/92215586249?pwd=Vm5ZTGV4T0cwVEl4blh3MjBzYjVYZz09">https://zoom.us/j/92215586249?pwd=Vm5ZTGV4T0cwVEl4blh3MjBzYjVYZz09</a>)</p><p>If you just want to get started building on Aries Framework JavaScript, check out <a href="https://github.com/hyperledger/aries-framework-javascript">the GitHub repository</a> or shoot me an email at <a href="mailto:contact@animo.id">timo@animo.id</a> (when Aries Framework JavaScript is concerned I’m always happy to talk). I’m eager to hear how you want to use the framework.</p><p><a href="https://github.com/hyperledger/aries-framework-javascript">hyperledger/aries-framework-javascript</a></p><p>In a future blog post we’ll go into more detail on the long-term roadmap for AFJ, including support for <a href="https://github.com/hyperledger/aries-rfcs/blob/master/concepts/0302-aries-interop-profile/README.md#aries-interop-profile-version-20">Aries Interop Profile 2.0</a>, adopting the new shared components libraries (<a href="https://github.com/hyperledger/aries-askar">aries-askar</a>, <a href="https://github.com/hyperledger/indy-vdr">indy-vdr</a>, and <a href="https://github.com/hyperledger/indy-shared-rs">indy-credx</a>), and supporting <a href="https://github.com/hyperledger/aries-rfcs/blob/master/features/0646-bbs-credentials/README.md">BBS+ credential exchange</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b20de11894e4" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>