funded
WAL-CLI Communication
Current Project Status
In Progress
Amount
Received
$7,500
Amount
Requested
$10,000
Percentage
Received
75.00%
Solution

Expand WAL implementation to include required functionality so a communication channel can be stablished between RootsWallet and WAL-CLI

Problem

The communication protocol required to enable interaction between RootsWallet wallets and WAL-CLI instances needs to be implemented.

Addresses Challenge
Feasibility
Auditability

Team

3 members

WAL-CLI Communication

On this proposal you will constantly see a relation between RootsWallet and WAL-CLI. This is because to build an SSI ecosystem different types of wallets are necessary. At one side we need the holder wallet; It takes the form of a mobile application that individuals will use to receive, store and present credentials. On the other side we require the organization wallet; It’s a more intricate application used by institutions and organization to manage the issuance, revocation, and verification of holder’s credentials.

RootsID team is working on RootsWallet to cover the holder wallet and WAL-CLI to fill the organizational wallet gap. The first release of WAL-CLI was funded on the last campaign and is available here.

This proposal covers the development of the functionality required to create a communicating channel between a WAL-CLI instance and a RootsWallet mediator. We will implement the latest specifications and protocols from DIF and Aries Interoperability Profiles, specifically:

The produced code will be open sourced with Apache 2.0 licensing and uploaded to our public repository. Documentation will be provided with build and run guidelines and tutorials.

To foster an SSI ecosystem there are several technical components that must exist for solutions to be realizable. IOG has done a great job providing Atala PRISM sdk and PRISM Nodes, but that is not enough, there are gaps that need to be covered before an SSI ecosystem can be built. The purpose of WAL-CLI is to work in conjunction with RootsWallet and complete the missing parts that we need to get the ecosystem going. The way we address the challenge is by providing the open source technology required to start building.

The team is comfortable at the technical level an there are no concerns regarding implementation.

Is important to mention this project is required as prerequisite to develop <https://cardano.ideascale.com/c/idea/397182>. Therefore, must be ready on time to avoid delays. To mitigate the risk the required research and part of the design will be done before funding approval. Also we have enlisted another community member to work on this proposal.

The project will have a duration of 8 weeks and is organized in phases as presented below :

Research (week 1-2): Tasks needed for stablishing the technology stack and draft the architecture. Some of the research items are:

  • review DIDComm V2 implementation libraries
  • review DIDPeer implementation libraries
  • Study and learn from Aca-py Out-of-band implementation
  • Study and learn from Aca-py DID-Exchange implementation
  • Explore and select a transport layer
  • Select a service to expose local servers to public internet (for demos)

Design (week 2-3): Refinement of the architecture definition and data modeling. The outcome of this phase is a defined architecture and design. Tasks include:

  • Data models for connection and relationship management
  • Data model for state machine control
  • Interface for DIDComm primitive functions
  • Interface for DIDPeer primitive functions
  • CRUD functions for connection data management
  • Communication protocol base functions

Implementation (week 3-7): Actual coding of all the elements defined above.

Testing (week 7-8):

  • Create unit tests for the main functions
  • Integration testing between WAL Instances
  • Integration testing between WAL Instance and RootsWallet mediator

Documentation (week 8):

  • Setup instructions
  • Design and architecture diagrams
  • Tutorial

Budget is segmented according to the phases described previously at a ratio of $50/hr.

  • Research: 32hr = $1600
  • Design: 40hr = $2000
  • Implementation: 80hr = $4000
  • Testing : 32hr = $1600
  • Documentation: 16hr = $800

Total: 200hr x $50 = $10000

The team working on this project is composed by Esteban García and Rogelio Blanco**.** Esteban has been involved in the Cardano Decentralized Identity community from the beginning of Fund 7 and participated in the first cohort of the Atala Prism Pioneer Program. As a result of the later participation, he joined efforts with other cohort members and founded RootsId with the goal of providing useful building blocks for the Cardano SSI Community. Rogelio is new to the space but his skills will surely cause a positive impact within the community.

Additional references of the team:

<u>Esteban García:</u> <https://www.linkedin.com/in/esteban-garcia-cr/>

Esteban has over 15 years of experience as technical consultant for corporate customers, with experience on several roles such as Developer, Solution Architect, Data engineer and QA Engineer.

He has a bachelor's degree on Computer Science, Associate degree on Data Science, FoB Certified by Emurgo Academy, Certified Profesional in Developing Blockchain-Based Identity Applications by The Linux Foundation. He’s actively involved in the SSI Cardano community where he:

<https://www.youtube.com/watch?v=Q0yJHrxO7cI><u>Rogelio Blanco:</u> <https://www.linkedin.com/in/rogelio-blanco-rojas/>

An enthusiast when it comes to teamwork, proactive, and love willing with new technologies and challenge projects. Experience communicating with native English speakers, start projects from scratch, gathering requirements, estimate and leading projects and highly adaptable to both business and technology changes.

Ability to architect scalable solutions involving front-end, back-end, and connected devices (IoT). Propose and help to create DevOps pipelines based on the project-specific needs.

Experience working and architecting cloud solutions using AWS (microservices, IoT, and serverless).

Strong experience with Object-Oriented Programming, Web development based on Java ecosystem; some experience with other technology stacks like C#, PHP, Ruby, NodeJs and Python.

The development will be managed in a public Github repository <https://github.com/roots-id/wal-cli> so the community will be able to audit and validate the work. Also, the project progress will be tracked using Github projects <https://github.com/roots-id/wal-cli/projects?type=beta> and a weekly report with progress announcements will be published here <https://github.com/roots-id/wal-cli/discussions/categories/announcements>

The success of this project will be determined by delivering a complete, tested and documented open source solution that covers the functionality presented on this proposal.

The proposal is a continuation of WAL-CLI <https://cardano.ideascale.com/c/idea/381281>. In short, WAL-CLI Communication will provide DIDPeer/DIDComm capabilities to WAL-CLI.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00