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.