Code snippet showing initialization of DSS
Creating a packet
Successful request creation
Signature collection page
Packet completed basic screen
Requests from oort portal, a new request is added for each document collection request created
Signature download in portal
Uploading documents via Oort to Storj
Storsign is a web3 implementation of esignature collection built on Storj and Oort blockchain.
Ported application of web2 to web3 that enables Docusign-like capabilities / use-cases using web3 infrastructure.
Built for the Webstack 2022 hackathon.
Categories: Everything Web3, or Next Big Thing (as the next open sourced secure and decentralized esignature solution).
Esignature platforms like Docusign and Hellosign exist however a) Require contracts that often charge regardless of usage. b) Entrust centralized storage and service availability, without distributed network backing. c) Have large development team overhead and maintenance with costs often baked into the per-usage fee.
Storsign is an application that enables anyone to create and collect esignature against documents without a vendor agreement or expertise of web3.
- Each packet of documents for esignature is made accessible at an STORJ url. Users are not required to connect or authorize transactions from a wallet to use the app.
- Hosted documents and the request are immutable.
- Request indexed on Oort which marks the progress/fulfillment of the esignature request. The contract can only be marked completed by the designated signer based on the ownership of the correct passphrase at time of final signature
- Differs from IPFS in permissioned urls and document assets behind an S3-compatible storage backend with unique client access/secret pair.
Oort: Use the Oort DSS to save and store documents, signatures, and images on Storj. See code snippet at bottom of page for sample of how the storage sdk is used for saving into the Storj network.
Storj: Used as the backbone for data storage for the Storsign app. Enables permissioned access to document and image assets hosted on the network.
How to run
You can deploy Storsign to work on Storj via your own Oort DSS account!
This app requires both the client and server code to run:
Define the following environment variables.
OORT_S3_URL= # (Optional) URL of s3 server - defaults to storj base url. OORT_ACCESS_KEY= # access key of s3 server (created in Oort portal). OORT_SECRET_KEY= # secret of s3 server (created in Oort portal). OORT_BUCKET_NAME= # (Optional) name of app bucket - defaults to 'storsign'.
yarn; yarn start
The server should now be running on port 8080.
Any created requests should be visible
Open a second terminal. From root project url (i.e. project home),
yarn; yarn start
The client should now be running on port 3000.
Potential future work
- Production hosting of backend and client website.
- Add per-usage fees tied to crypto/fiat payments.
- Tracking and analytics on user accounts / enableenable history profile.
- Generate NFTs at time of signing for the signer.
Example screenshot of a user-uploaded signature packet:
See full detail on the github here: https://github.com/cbonoz/stack22