Giter Club home page Giter Club logo

road22's Introduction

Polysign

Polysign is a prototype web3 implementation of esignature collection built on Polygon smart contracts and IPFS.

Enables Docusign-like capabilities / use-cases using web3 infrastructure.

Built for the Road to Web3 hackathon 2022.

Benefits

  • Polysign enables anyone to create and collect esignature against documents without a vendor agreement. A polygon smart contract is deployed for each request.
  • Each packet of documents for esignature is made accessible at an IPFS url.
  • When the esignature is completed, an NFT is generated that links both the signer's signature and the documents being agreed on.
  • Hosted documents and the request are immutable.
  • Smart contract deployed on Polygon which marks the progress/fulfillment of the esignature request. The contract can only be marked completed by the designated signer address at time of final signature.
  • View history of requests and completed esignatures using the covalent chain history API directly from the app.
  • An individual in the context of the Polysign application is the pairing of a canvas (handwritten) signature and wallet signature/address.

Technologies used

  • Covalent: Enables in-app history queries of past esignature requests and fulfillment for a given polygon address.
  • NFTPort: Generation of the esignature record / proof. Attaches the final esignature/agreement to an NFT and saves a link to it in the smart contract.
  • Moralis: Serves as main backend for the app - uses IPFS to enable support/hosting of the document packets for each request.
  • Polygon: In-app deployment of the request smart contract and marked completed upon completion of the each request based on receival of signer's signature. A new Polygon contract is deployed for each new esignature request.
  • Sequence: Wallet for facilitating polygon and submitting final sign request. Deployment can toggle between sequence wallet or metamask.

This project is a hackathon prototype and would require additional work / deployment to be production ready.


To run/demo the project locally, Polysign requires the following environment variables.

    REACT_APP_MORALIS_ID={YOUR_MORALIS_APP_ID} # Moralis app id
    REACT_APP_MORALIS_SERVER={YOUR_MORALIS_SERVER_URL} # Moralis server url
    REACT_APP_COVALENT_KEY={YOUR_COVALENT_API_KEY} # Covalent key for the history page.
    REACT_APP_NFT_PORT_KEY={YOUR_NFT_PORT_API_KEY} # NFT port api key for receipt creation.
    REACT_APP_USE_SEQUENCE={TRUE_OR_FALSE (optional)} # Indicates whether to use sequence or metamask as primary wallet provider.

After declaring the above environment variables, use the below command to start the project:

yarn
yarn start

Recompiling contract: cd contracts; npx hardhat compile

Example esignature requests contracts: http://localhost:3000/sign/QmUAS9XJyf9gPgadoVeExESiVnVJmVJW6qtcU4dzJzwG96

Screenshots

Home page

Creating a request

Request saved via Moralis on IPFS and as smart contract

Esigning

Completion esignature NFT

Deployed Contract

Contract source

Dev Notes

Sequence wallet

TODO:

Useful links

road22's People

Contributors

cbonoz avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.