
Proposal “pshenmic-dev-sdk-may-2025“ (Completed)Back
Title: | pshenmic.dev SDK & Extension Funding Proposal May 2025 |
Owner: | pshenmic |
One-time payment: | 500 DASH (11631 USD) |
Completed payments: | 1 totaling in 500 DASH (0 month remaining) |
Payment start/end: | 2025-04-13 / 2025-05-18 (added on 2025-04-13) |
Votes: | 626 Yes / 37 No / 5 Abstain |
Proposal description
pshenmic.dev SDK & Extension Funding Proposal May 2025
Updated on 15 April 2025
This is funding proposal for Dash Platform SDK and Extension a pshenmic.dev DFO.
General
There was a good progress in my last proposal, during which we’ve been trying to
compose a lightweight Dash Platform SDK and example applications with it. Although
there wasn’t a lot of outcome in apps, we’ve made a huge progress in the Dash Platform
SDKs towards a nice user and developer experiences.
We’ve created a new lightweight Dash Platform SDK and an extension for Web browsers
(proof of concept), that let users securely store access to their identities in browser and
provide a transaction approval interface for developers.
Our backend dev (owl352) created a new, highly optimised WASM Dash Platform Protocol
Rust bindings, with the acceptable size for a Web applications (2-3 Mb), that works great
across different environments (Web, Mobile, Node.js).
It works the same as platform’s WASM-DPP package by exporting a set of Rust functions
for creating and signing transactions in JS using WebAssembly. It has been basically
reimplemented that allowed us to highly reduce total bundle size and quickly implement
all the necessary functions we need.
https://github.com/owl352/pshenmic-dpp
Then I have integrated it into a new Dash Platform SDK that allows developers to create,
sign, and retrieve information about platform entities (data contract, documents, identities,
etc.) from DAPI. It is designed as an isomorphic library that is working and tested across
different Javascript environments (Node.js, Browser, Extension, React Native).
Unlike Dash SDK, it does not support Core layer by design, and do not have any SPV or
Wallet functionality, allowing users to start interacting with DApps as soon as page is
loaded. That makes it lightweight, fast, and very easy to use (and we can support proofs
in the future!).
It’s currently pretty raw and in the early development, but it is already possible to submit
and retrieve documents from the network (currently only hardcoded testnet)
https://github.com/pshenmic/dash-platform-sdk
That significantly improved the stability and overall SDK developer experience, making it
more cross compatible and clear, but it still had require user to input authentication
information (private key).
We wish to have the best user experience for people when interacting with DApps and we
certainly don’t want to ask user’s private keys or seed phrase in each web app. I believe it
has to be delegated to mobile app or an extension.
So I grabbed all the tools we did and sketched a Chrome extension where you can import
your Platform Identity and then you can use it on any DApp you visit. It securely stores the
authentication information in the browser’s extension storage and provides Javascript
interface for a developers to invoke a transaction signing dialogue, where you can check
and approve the transaction you are making from DApp.
It works very much similar to Metamask, it list your accounts (identities), your balance,
transaction history, and when user visits a DApp, the extension injects a small Javascript
code that allows devs to call functions.
https://github.com/pshenmic/dash-platform-extension
Plan
So far so good, we have created a new toolset that already works, but it is currently pretty
ugly and unstable. We would like to improve the stability, UX, and provide clear documentation
for a user-ready flow for starting using DApps.
Although it already works in the most simple case (submit document), we still need to implement
a lot of things and handle all possible errors, so that we can give it out to the users.
The rough plan is to go through:
Budget
The budget for this proposal is 500 Dash that will be mainly distributed between me (pshenmic) and
owl352 (backend dev).
Updated on 15 April 2025
This is funding proposal for Dash Platform SDK and Extension a pshenmic.dev DFO.
General
There was a good progress in my last proposal, during which we’ve been trying to
compose a lightweight Dash Platform SDK and example applications with it. Although
there wasn’t a lot of outcome in apps, we’ve made a huge progress in the Dash Platform
SDKs towards a nice user and developer experiences.
We’ve created a new lightweight Dash Platform SDK and an extension for Web browsers
(proof of concept), that let users securely store access to their identities in browser and
provide a transaction approval interface for developers.
Our backend dev (owl352) created a new, highly optimised WASM Dash Platform Protocol
Rust bindings, with the acceptable size for a Web applications (2-3 Mb), that works great
across different environments (Web, Mobile, Node.js).
It works the same as platform’s WASM-DPP package by exporting a set of Rust functions
for creating and signing transactions in JS using WebAssembly. It has been basically
reimplemented that allowed us to highly reduce total bundle size and quickly implement
all the necessary functions we need.
https://github.com/owl352/pshenmic-dpp
Then I have integrated it into a new Dash Platform SDK that allows developers to create,
sign, and retrieve information about platform entities (data contract, documents, identities,
etc.) from DAPI. It is designed as an isomorphic library that is working and tested across
different Javascript environments (Node.js, Browser, Extension, React Native).
Unlike Dash SDK, it does not support Core layer by design, and do not have any SPV or
Wallet functionality, allowing users to start interacting with DApps as soon as page is
loaded. That makes it lightweight, fast, and very easy to use (and we can support proofs
in the future!).
It’s currently pretty raw and in the early development, but it is already possible to submit
and retrieve documents from the network (currently only hardcoded testnet)
https://github.com/pshenmic/dash-platform-sdk
That significantly improved the stability and overall SDK developer experience, making it
more cross compatible and clear, but it still had require user to input authentication
information (private key).
We wish to have the best user experience for people when interacting with DApps and we
certainly don’t want to ask user’s private keys or seed phrase in each web app. I believe it
has to be delegated to mobile app or an extension.
So I grabbed all the tools we did and sketched a Chrome extension where you can import
your Platform Identity and then you can use it on any DApp you visit. It securely stores the
authentication information in the browser’s extension storage and provides Javascript
interface for a developers to invoke a transaction signing dialogue, where you can check
and approve the transaction you are making from DApp.
It works very much similar to Metamask, it list your accounts (identities), your balance,
transaction history, and when user visits a DApp, the extension injects a small Javascript
code that allows devs to call functions.
https://github.com/pshenmic/dash-platform-extension
Plan
So far so good, we have created a new toolset that already works, but it is currently pretty
ugly and unstable. We would like to improve the stability, UX, and provide clear documentation
for a user-ready flow for starting using DApps.
Although it already works in the most simple case (submit document), we still need to implement
a lot of things and handle all possible errors, so that we can give it out to the users.
The rough plan is to go through:
- Improve extension UX (so that we can let users download it)
- Stabilize SDK and tools, and add everything what’s missing
- Prepare minimal but detailed documentation on how to use it
- Implement it in our DApps and make sure everything work right
Budget
The budget for this proposal is 500 Dash that will be mainly distributed between me (pshenmic) and
owl352 (backend dev).
Show full description ...
Discussion: Should we fund this proposal?
Submit comment
![]() |
No comments so far?
Be the first to start the discussion! |
https://www.youtube.com/watch?v=dW0A_MbZ0GY
(refer to the timestamps in the video for the specific chapters)