funded

WAL-CLI Issue Credential Protocol

$3,000.00 Received
$9,900.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
Solution

Expand WAL-CLI implementation to include the protocols required for credential issuance between WAL-CLI and RootsWallet

Problem:

The issue credential protocol required to issue credentials from WAL-CLI instances to RootsWallet App needs to be implemented.

Yes Votes:
₳ 55,673,612
No Votes:
₳ 17,305,005
Votes Cast:
243

This proposal was approved and funded by the Cardano Community via Project F9: Dapps, Products & Integrations Catalyst funding round.

  • Video cover image

[IMPACT] Please describe your proposed solution.

In this proposal, you will constantly see a relationship between RootsWallet and WAL-CLI. This is because different types of wallets are necessary to build a DID ecosystem. On 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 complex application used by institutions and organizations 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 completed and is available here.

The issue credential protocols refer to the messages interchanged between wallets to act, such as requesting the issuance of a credential.

This proposal covers the development of the functionality required to perform credential issuance between a WAL-CLI instance and a RootsWallet app. 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.

[IMPACT] Please describe how your proposed solution will address the Challenge that you have submitted it in.

Several technical components must exist to foster a decentralized identity ecosystem for solutions to be realizable. IOG has done a great job providing Atala PRISM SDK and PRISM Nodes, but that is not enough. Some gaps must be covered before the community can build a DID ecosystem. The purpose of WAL-CLI is to work with RootsWallet and complete the missing parts we need to get the ecosystem going. We address the challenge by providing the open-source technology required to start building solutions.

[IMPACT] What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

The team is comfortable in the technical position. The main concern lies in Atala PRISM SDK, which hasn't been fully released to the public and is under IOG private repositories. Atala PRISM Team has offered access to pioneer program Canvas Curriculum material to all proposers, so technically, this shouldn't be a problem because all potential users of the CLI tool are part of the Atala PRISM Pioneer Program.

[FEASIBILITY] Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

The project will have a duration of 12 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:

  • Study and learn from Aca-py issue-credential implementation
  • Review DIF-WACI-DIDComm protocol

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

  • Define the data model for state machine control for issuer role
  • Define the data model for state machine control for holder role
  • Functions for issue-credential messages:
  • propose-credential
  • offer-credential
  • request-credential
  • issue-credential
  • ack
  • problem-report
  • Protocol error handling and retry

Implementation (week 4-9): Actual coding of all the elements defined above.

Testing (week 9-11):

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

Documentation (week 11-12):

  • Setup instructions

  • Design and architecture diagrams

  • Tutorial

    [FEASIBILITY] Please provide a detailed budget breakdown.

The budget is segmented according to the phases described previously at a ratio of $30/hr.

  • Research: 40hr = $1200
  • Design: 60hr = $1800
  • Implementation: 150hr = $4500
  • Testing : 50hr = $1500
  • Documentation: 30hr = $900

Total: 330hr x $30 = $9900

[FEASIBILITY] Please provide details of the people who will work on the project.

<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 DID 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. He’s actively involved in the DID Cardano community where he:

  • Co-Submitted and received funding for the following proposals:

  • F8: WAL-CLI Communication (In progress 🚧)

    [FEASIBILITY] If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

Yes, the WAL-CLI Solution is divided into multiple phases of development. In each one, additional features are added. We will continue submitting proposals until all the parts are covered.

[AUDITABILITY] Please describe what you will measure to track your project's progress, and how will you measure these?

The team will manage the development in a public Github repository: <https://github.com/roots-id/wal-cli> so the community can audit and validate the work. Also, the community can ask about the project's progress here.

[AUDITABILITY] What does success for this project look like?

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

[AUDITABILITY] Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

The proposal is a continuation of WAL-CLI and WAL-CLI Communication

Community Reviews (1)

Comments

Monthly Reports

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