completed

WAL-CLI Wallet-Tool for Developers

$5,000.00 Received
$5,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Solution

Provide a CLI Wallet that help teams to accelerate the pace of their projects until a fully featured wallet is developed.

Problem:

A tool with wallet capabilities is needed to accelerate prototyping and development of Atala PRISM projects

Yes Votes:
₳ 115,713,717
No Votes:
₳ 1,580,715
Votes Cast:
406

This proposal was approved and funded by the Cardano Community via Project F7: Accelerate Decentralized Identity Catalyst funding round.

  • download
  • download
  • download

Detailed Plan

Atala PRISM is a new Solution, IOG has done a great job providing the protocol, but there are gaps that need to be covered before a decentralized identity ecosystem can be built on top of it. One of the steppingstones to start an ecosystem is to help developers to develop. What we propose to support the developers is to create a tool to facilitate the interaction with the protocol, this will be delivered in the form of a command line interface (CLI) identity wallet, called WAL. Although CLI applications aren't visually pleasing they can be developed faster than any other kind of application. With this tool we want to promptly enable all the Atala Prism projects to start prototyping while the ecosystem matures.

<u>Problem</u>

In the following months, many teams working on Atala PRISM-related projects will be in the initial stages of design/development. Currently, there are no Atala PRISM Identity Wallets available for use. The teams will need a way to create test artifacts to bootstrap their solutions and perform mock interactions. The test artifacts referenced are wallets, decentralized identifiers (DIDs), and verified credentials (VCs) that don't hold real information.

<u>Goal</u>

Provide an open source tool that help teams to accelerate the pace of their projects until a fully featured wallet is developed. The CLI wallet will facilitate prototyping, development and testing of isolated components.

<u>Features</u>

  • Allow test artifacts to be referenced by alias
  • CRUD operations on DIDs
  • Credential issuance, revocation, verification, storage, and search
  • Storage and tracking of operation hashes and credential data
  • Key management

<u>Use cases</u>

  • A project relates to an organization that will issue credentials. WAL can be used to create test wallets to hold credentials.
  • A project relates to an individual managing its own identity. WAL can be used to simulate an organization issuing credentials.
  • A project relates to a trust hub. WAL can be used to query credentials using MongoDB's query syntax.
  • A project relates to a communication protocol between wallets. WAL can be extended to use the communication protocol and perform test scenarios.
  • The team wants to generate test assets to use as a starting point for a PoC. WAL can simulate holder and issuer roles, create credentials, and verify them.

<u>Compromises</u>

The tool isn't intended for production, the design doesn't contemplate security. Data will be managed in plain text to keep the semantics exposed and facilitate inspection.

<u>Target audience</u>

  • Teams developing a solution with Atala Prism SDK.
  • Individuals with some development experience that want to try SSI technologies.

<u>Partners</u>

We are working in close collaboration with these proposals:

  • <https://cardano.ideascale.com/a/dtd/Open-Source-Credential-Wallet/382078-48088>

<u>Action Plan</u>

Completed (outside funding scope)

  • Review "Universal Wallet 2020" specification
  • Review "Decentralized Identifiers (DIDs) v1.0" specification
  • Review "Verifiable Credentials Data Model v1.1" specification
  • Review "DIDComm Messaging" specification
  • Review "Aries RFC 0050: Wallets" specification

Pending

  • Research and select library for argument parsing
  • Research and select storage medium
  • Research DIDComm implementations
  • Design CLI commands, arguments, options and descriptions
  • Define data models
  • Design a simulated communication channel
  • Research/design a credential query mechanism
  • Create functions to perform DID actions
  • Create functions for key management
  • Create functions to perform credential actions
  • Create functions for credential query
  • Create CRUD functions for data models
  • Create action logging functions
  • Unit Testing
  • Documentation

<u>Project tracking</u>

The project progress will be tracked using a task list. A weekly report will be published with progress announcements.

The development will be managed in a public Github repository* so the community will be able to audit and validate the work.

* Upon authorization from IOG to disclose Atala PRISM SDK

<u>Identified KPIs:</u>

  • Architecture phase
  • CLI UX design phase
  • Development phase
  • Testing phase
  • Documentation phase

<u>Risks</u>

The team is comfortable on the technical position. The main concern lies on Atala PRISM SDK, it hasn't been fully released to the public and its 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.

Another concern is the possibility of a change on the SDK that may imply some rework on the implementation.

<u>Skills Required</u>

  • Experience designing and building software solutions
  • Experience with Kotlin programming language
  • Experience with Prism SDK
  • Knowledge on Decentralized Identities and Verified Credentials
  • Understanding of cryptography and blockchain concepts

<u>Budget Breakdown</u>

  • Research 10h
  • Design 20h
  • Development 40h
  • Testing 20h
  • Documentation 10h

100hours * $50/h = $5000

<u>Road map</u>

  • Week 1: Research and design
  • Week 2: Design and development
  • Week 3: Development
  • Week 4: Development and Testing
  • Week 5: Testing and documentation

<u>Launch Date</u>

Expected launch date is 5 weeks after funding approval. Although some features will be available as development progress.

<u>Team</u>

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

Esteban has over 14 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 and Associate degree on Data Science. On the blockchain space, Esteban is participant of Atala PRISM Pioneer Program, has FoB Certification by Emurgo Academy, and has recently started Emurgo Academy Cardano Blockchain developer program.

Community Reviews (1)

Comments

Monthly Reports

Find the github repo here: https://github.com/roots-id/wal-cli

Disbursed to Date
$5,000
Status
Still in progress
Completion Target
3/31/2022
Comments 0

Login or Register to leave a comment!

Check the readme at https://github.com/roots-id/wal-cli all details

Disbursed to Date
$5,000
Status
Complete
Completion Target
4/4/2022
Attachment(s)
Comments 0

Login or Register to leave a comment!

The project is marked as complete on the spreadsheet but I haven't received the final funds

Disbursed to Date
$5,000
Status
Complete
Completion Target
4/23/2022
Comments 0

Login or Register to leave a comment!

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