not approved
Mastering Atala PRISM Book
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳300,000
Percentage
Received
0.00%
Solution

We will write a book, for software developers, which will explain the basics, plus a deep dive into implementation details, and lessons learned from building and deploying real world projects.

Problem

Atala PRISM v2 has been recently released to the public. The official documentation is a great technical reference, but developers want implementation examples and advice from experienced experts.

Impact / Alignment
Feasibility
Value for money

Team

2 members

Mastering Atala PRISM Book

Please describe your proposed solution.

Learning is hard, books are the best:

When a technology is new, learning it can be difficult. Often documentation is accurate but lacks practical context and software developers often need examples and expert advice to be productive. This book will give a software developer what they need to build and deploy an Atala PRISM project from scratch, to production and beyond. Free example source code will be made available, showing real world implementations for Web, iOS, and Android, as well as architecture patterns which worked for the authors when solving real world problems.

This book aims to be a companion to the official documentation, adding much needed context and tutorial-based learning, turning any developer into an Atala PRISM guru.

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

We believe Mastering Atala PRISM will be an essential source of knowledge for any software developer who's intrigued by SSI but doesn't know where to start. Learning SSI concepts can be overwhelming. We will provide real world examples, and will aim to demystify and educate readers on practical details which allow them to build and learn at the same time.

Mastering Atala PRISM will highlight tips, tricks, and lessons learned while building and scaling real world projects in production. Working code examples will allow developers to jump the usual hurdles and copy/paste their way past complex problems. The book will be published in English and Spanish, and which will help spread adoption of Atala PRISM and become a definitive resource worldwide. We hope to make it simple for the community to contribute other translations once the text is published.

Each of the topics below will be in depth backed with solution patterns from real world experience:

Table of Contents *subject to change during writing/editing phases:

  • SSI Basics
  • Use Cases
  • Roles
  • Terminology
  • PRISM Basics
  • Setting Up Your Dev Environment
  • Apollo
  • Castor
  • Mercury
  • Pluto
  • Write to your own data store
  • Pollux
  • Prism Agent
  • Wallet
  • Handling Seed Phrases
  • Managing state across devices
  • DIDComm2
  • did:prism
  • did:peer
  • Cloud Agent
  • Installation
  • Edge Agents
  • Why?
  • Network Diagram
  • PRISM Wallets
  • Seeds
  • Storage
  • Extensions
  • Syncing
  • Recovering
  • Gotchas
  • Mediators
  • How they work
  • Peers and Handshakes
  • Authentication in the Real World
  • Authentication vs Authorization
  • Login via OAuth
  • Login with DID
  • KYC Patterns
  • Invites
  • How to think about Invites
  • Invite Patterns for better UX
  • Connections
  • DID Peers
  • DID Pairs
  • Connection abstractions for a better UX
  • Trust Registries
  • DIDDocuments
  • Use Cases
  • Lyins, Tigers and Things, Oh My!
  • Patterns for Controllers
  • Resolvers
  • Write your own Resolver
  • Publishing your did:prism
  • Why Publish your did:prism?
  • Publishing to the Blockchain
  • Other Publishing Patterns
  • Monitoring the Published State
  • Verifiable Credentials
  • Schemas
  • Claims
  • Publishing
  • Industry Specific Standards
  • Issuing
  • Presenting Proof
  • Presentation Requests
  • Presentation Policies
  • AnonCreds
  • Integrations
  • Hyperledger Aries / Indy
  • Cardano
  • KYC
  • Others, TBD
  • Scaling
  • Setting up Your Production Environment
  • Network Architecture Patterns
  • Real World Performance
  • Hardware
  • Chain latency
  • Example Project:
  • Install PRISM Cloud Agent
  • Install Edge Agent SDKs
  • iOS
  • Android
  • Web
  • Errata

How do you intend to measure the success of your project?

Number of readers, positive reviews, downloads of the book or its companion software.

Please describe your plans to share the outputs and results of your project?

We will publish the text via Gumroad or similar publishing platform via a "Pay what you want" pricing model.

Open Source example code will be freely available on Github.

We will maintain an Errata section, which can be updated to cover future versions of Atala PRISM.

Receiving Catalyst funding will allow us to make the text available to the community for free.

What is your capability to deliver your project with high levels of trust and accountability?

About the Authors:

Jon Bauer and Roberto Carvajal, are both experienced developers with almost 30 years of experience each. In 2006, they formed Covelop, a software development agency which specializes in groundbreaking platforms for Music Industry artists and labels. Early pioneers in digital E-commerce, Covelop has delivered profitable solutions across web and mobile technologies, and is now invested in creating innovative projects involving Self-Soverign Identity (SSI), Blockchain, and Atala PRISM.

Jon and Roberto have completed the Atala PRISM v2 Beta program, Atala PRISM Pioneer Programs 101, 102, and 103, and are launching a large Atala PRISM project in 2023.

Roberto is a polyglot, full stack, LAMP dev who can build an idea and scale it. His background in security and encryption is only matched by his ability to explain it to others. Roberto will translate the book into Spanish.

Jon started programming the web in 1996, and spent over 10 years as a full stack engineer. He has led web and mobile projects at several large public companies, and has specialized in iOS and Apple platforms since 2011.

Jon has also been working in the Identity industry and with Plutus since 2021 and has completed the Emurgo Academy Cardano Developer Professional and Cardano Solutions Architect programs.

Jon was a technical editor on The iOS5 Developer's Cookbook

Roberto Carvajal: <https://www.linkedin.com/in/robertocarvajal/>

Jon Bauer: <https://www.linkedin.com/in/jonbauer/>

What are the main goals for the project and how will you validate if your approach is feasible?

We hope to make upskilling, learning and building on Atala PRISM a matter of weeks, not months.

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

M1: Research

  • Gathering notes from our real world experiences building and launching Atala PRISM projects in production

M2/M3/M4: Write Drafts

  • Writing chapters and covering the topics we feel are critical to a developer's success.

M5/M6/M7: Example Code Development

  • Building out an example project in each of Atala PRISM's SDKs

M5/M6/M7: Technical Editors and Feedback

  • Technical editors and experts from the community to proofread our text, QA our code, and provide feedback.

M8: Revise Drafts into Final Form

  • Revise and incorporate feedback into final drafts

M8: Publishing

  • Publish the book and source code

Please describe the deliverables, outputs and intended outcomes of each milestone.

Research

  • Deliverables: Outline, Chapter list, Table of Contents

Writing Drafts

  • Deliverables: First draft of chapters and written material and/or graphs / flowcharts

Example Code Development

  • Deliverables: An example project in each of Atala PRISM's SDKs

Community Technical Editors

  • Deliverables: Feedback from community Atala PRISM experts

Revise Drafts into Final Form

  • Deliverables: Final drafts of written content

Publishing

  • Deliverables: Book and source code are published and available for download

Please provide a detailed budget breakdown of the proposed work and resources.

Writing / Editing: $30,000 - $15,000 (x2)

Spanish Translation: $5,000

Technical Editor Fee: $3,000 - $1,500 (x2)

Example Project Development:

  • Swift / iOS / Mac: $10,000
  • TypeScript: $10,000
  • Kotlin / Android: $10,000
  • API Server / Client: $10,000

Book Cover Design / Layout / Illustrations: $3000

Website / Domain Name / Hosting: $1,000

Marketing / Additional Editors / Misc: $5,000

Total: $87,000 USD / ~300,000 ADA

Who is in the project team and what are their roles?

Author: Roberto Carvajal - <https://www.linkedin.com/in/robertocarvajal/>

Author: Jon Bauer - https://www.linkedin.com/in/jonbauer/

Technical Editors: TBD (we will reach out to experts in the community once we are funded)

Designer: TBD (we will reach out to designer once we are funded)

Spanish Translation: Roberto Carvajal

Example Code:

  • iOS / Mac / Swift: Jon Bauer
  • TypeScript: Roberto Carvajal
  • Android / Kotlin: Jon Bauer / Roberto Carvajal
  • API / Cloud Agent: Roberto Carvajal

How does the cost of the project represent value for money for the Cardano ecosystem?

This is a highly technical document, and includes example source code in multiple languages and platforms. We believe we are budgeting a reasonable amount for each project, considering the freelance value of each effort could be much higher. The code will be given away freely under a permissive license so at the very least, the community will be able to modify and use it in their projects if they wish.

We are currently building a large-scale, production quality project with Atala PRISM which will launch in late 2023. The book will detail all the gotchas we encounter and our solutions. We believe this book will save other developers both time and money when building with Atala PRISM.

Receiving Catalyst funding will allow us to make the text and example code available to the community for free.

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