LIT-Protocol / LitGrants

Apply for a Lit grant and be part of the Lit ecosystem!
25 stars 2 forks source link

Open Grant: JS Worker SDK #75

Open drpitman76 opened 8 months ago

drpitman76 commented 8 months ago

name: Open Grants Application about: Lit Protocol's open grant proposal application. title: 'Open Grant: JS Worker SDK' labels: 'grants:devtools-libraries' assignees: ''


Open Grant Proposal: JS Worker SDK

Name of Project: JS Worker SDK

Proposal Category: integration-adoption

Proposer: drpitman76

Do you agree to open source all work you do on behalf of this grant and dual-license under MIT, APACHE2, or GPL licenses?: Yes

Project Description

The JS Worker SDK will be a light-weight JavaScript SDK designed from the ground-up to be drop-in compatible with vanilla JavaScript in the web browser, including within browser service workers. Strict out-of-the-box web standards compliance, small download footprint, zero dependencies, intuitive ease of use and performance will be priorities. It will be available to use directly in the browser as a module via the built-in import statement or the dynamic import() function.

In addition to first-class browser compatibility, it will also be tested and verified to work on poplular non-NodeJS server-side JavaScript runtimes including Cloudflare Workers, Deno() and wasmer.io JS Service Workers.

This project is necessary because the current official JavaScript SDK, while useful and complete, is only suitable to be used within either a NodeJS environment, or within a project which includes a NodeJS-based build step. Many web developers (including myself) do not use such environments, and either prefer to write code which can be directly deployed to serverless environments without external build steps or runtime dependencies, or in some cases can not use those frameworks. Creating an SDK which is compatible with vanilla JS directly opens up Lit Protocol to ALL developers regardless of their server-side or client-side frameworks and runtime environments.

Value

What are the benefits of getting this right?

What are the risks if you don't get it right?

What are the risks that will make executing this project difficult?

Deliverables

A working SDK according to the specifications as above, which captures all the functionality of the Lit Protocol API as documented in https://developer.litprotocol.com/v3 . Along with this, compete SDK-specific documentation on usage, examples on all supported runtimes and integration instructions. It will be available as a repository on Github, and thus also via CDNs such as JsDelivr.

Development Roadmap

Milestone 1: Base SDK Architecture and Ability to Connect to Network Demonstrated

Milestone 2: All Lit Protocol Operations Implemented

Milestone 3: Browser Testing and Optimzation including Service Workers

Milestone 4: Server-Side Runtime Testing

Milestone 5: Documentation and Examples

Total Budget Requested

The total budget requested across all 5 milestones is $10,000 USD. This will be used to pay for the development time required to implement.

Maintenance and Upgrade Plans

This SDK will have to be maintained as the underlying Lit Protocol updates, it is proposed that it be upgraded whenever Lit Protocol undergoes a major update. I will check in at least quarterly for minor updates, and ensure that the SDK remains compatible with the latest version of Lit Protocol.

I will personally be using this SDK in several upcoming products with commercial value, so ensuring that this SDK remains updated will be a requirement of keeping those products alive in the long term. The cost of future updates and ongoing maintainance of this SDK can be absorbed as part of the budgets for those products.

Team

Team Members

Developer: David Pitman

Team Member LinkedIn Profiles

David Pitman

Team Website

No website for this project, will eventually be a Github repository.

Relevant Experience

I have been a full-stack web developer for 20 years, with several years specialising in internal business application development and business system integrations.

Many years ago (2010) I was the author of the first php SDK for the Xero accounting application (the SDK is now obsolete), which is viewable on a now unused github repository: https://github.com/drpitman/PHP-Xero . More recently I was involved in the creation of a number of NFT projects, writing the code to produce the artefacts, the smart contracts and the web site integrations with the contracts and OpenSea.

These days I am focused on building the Element web development framework and its ecosystem. Further information about that is available at https://elementhtml.dev . The benchmarks (at https://elementhtml.dev/docs/overview/benchmarks) show that it outperforms all leading frameworks in both Lighthouse Performance scores and Lines of Code - making it currently the best performing JavaScript framework known today for the metrics tested.

That focus on best practices, performance and lowest possible lines of code for developers to maintain is bought into the creation of this JS Worker SDK. Enjoy!

Team code repositories

https://github.com/elementhtml

Additional Information

How did you learn about the Lit Open Grants Program?

From your main website, have been following Lit Protocol for a while with a view to using it within some upcoming projects.

Please provide the best email address for discussing the grant agreement and general next steps.

david.pitman@cloudouble.com

Please include any additional information that you think would be useful in helping us to evaluate your proposal.

Have a great day!