filecoin-project/devgrants

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

  • How did you learn about the Open Grants Program? @eshon
  • Please provide the best email address for discussing the grant agreement and general next steps. hugomrdias [at] gmail.com

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.