UCAN development support
Closed this issue · 2 comments
Open Grant Proposal: UCAN development support
Project Name: UCAN development support
Proposal Category: Developer and data tooling
Individual or Entity Name: @hugomrdias
Proposer: @hugomrdias
Project Repo(s) https://github.com/ucan-wg
(Optional) Filecoin ecosystem affiliations: Hugo is ex-Fission, ex-NFT.storage, ex-Web3.storage
(Optional) Technical Sponsor: @eshon
Do you agree to open source all work you do on behalf of this RFP under the MIT/Apache-2 dual-license?: Yes.
Project Summary
The project will support UCAN development focused on adoption, developer tooling and current projects using UCANs like Storacha.
Current implementations and tooling were made for previous UCAN spec < 1.0 version, this grant will update or create implementations and tooling for the new UCAN 1.0 spec version and beyond.
Impact
- Solutions like SIWE, Metamask Delegation kit and Smart Account/wallet focus only on blockchain use cases while UCAN can also support p2p and dweb user flows beyond blockchain.
- There is currently no up to date implementations and tooling that developer can use to integration UCANs in apps and services.
- Hard to adopt UCAN in languages with no implementation and no way to “curl” an UCAN API
Outcomes
-
High fidelity, up to date (v1.0) website a la jwt.io with debugger builtin
-
JavaScript v1.0 core implementation that can be used or integrated in viem/walletconnect
- Support EIP-191(signature type) for Sign in with UCAN and SIWE integration
-
Generic Chrome extension for UCAN request analysis and debugging based on the HTTP bearer spec https://github.com/ucan-wg/ucan-http-bearer-token
-
Generic http server relay/json rpc generator
- Enable UCAN API terminal “curl” use cases like CLIs or any other http standard clients
- Bonus: From one base delegation with all the capabilities generates a json rpc schema with which clients and RPC relay server can be created
-
Support wallet EIP-191 UCAN based signatures with Metamask Signature Insights for fully descriptive description about the data being signed.
- Using filsnap or another UCAN specific snap
-
Developer example dapps, 101s, hackathon kit
- UCAN RPC apis, RPC endpoints with Authz/Authn builtin
- Secure channels with UCANs (AWAKE)
-
Support Storacha UCAN system in filsnap to hold delegations and delegate upload capabilities further to any other dapps on behalf of the user.
- Bonus: support wallet delegation sync using Walletconnect APIs like
https://specs.walletconnect.com/2.0/specs/clients/core/storage/
https://specs.walletconnect.com/2.0/specs/clients/core/sync/
-
Research generic support for UCAN in Wallets using WalletConnect enabling signing and delegation sync between wallet instances (multiple devices).
Adoption, Reach, and Growth Strategies
- Use the newly created Website to reach and engage with developers
- Enable new developers to build apps using the quickstarts and other resources created in the scope of this grant
Development Roadmap
Milestone 1 - JS UCAN 1.0 implementation
Milestone 2 - Website Design, Design implementation and inpage UCAN debugger, Infra
Milestone 3 - UCAN tooling: Chrome extension, HTTP Relay and Developer Resources
Milestone 4 - Support Storacha and Wallet Integration: Metamask Signature Insights, Filsnap Storacha and Walletconnect integration
Total Budget Requested
Milestone 1: 3 weeks 24,000$
Milestone 2: 2 weeks 16,000$
Milestone 3: 2 weeks 16,000$
Milestone 4: 4 weeks 32,000$
Team
Team Members
Hugo - hugomrdias@gmail.com - @hugomrdias - Lead developer
Chris Waring - @cwaring - Designer and developer
Team Member LinkedIn Profiles
https://www.linkedin.com/in/hugomrdias/
Collaborators and Advisors (External to this grant)
Brooklyn Zelenka - UCAN Spec Author
Alan Shaw - Storacha
Relevant Experience
Hugo has worked as a JS-savvy Sr. software engineer at Protocol Labs for several years and also more recently at Fission. He was the lead developer of the FilSnap architecture in 2023 and also of the iso-filecoin cryptographic library for Filecoin. He also worked on NFT.storage and IPFS JS.
Additional Information
HI @hugomrdias, thank you for your proposal! This proposal has reached the final round of our review. We will be in touch if our team has any questions before proceeding with a final decision.
Hi @hugomrdias, thank you for your patience! We would like to proceed with your proposal and will be in touch by email to go over the next steps of our process.