Coder Social home page Coder Social logo

fantom23's Introduction




FantomSign

FantomSign is a web3 implementation of esignature collection built on Fantom smart contracts and IPFS.

Enables Docusign-like capabilities and takes advantage of the low costs, speed, and throughput of the Fantom blockchain to facilitate secure esigning on web3 infrastructure.

Submitted to the Fantom Q1 hackathon 2023 on devpost.

Try it out here! (note: requires Metamask connected to Fantom testnet or Fantom Opera).

Demo video: https://youtu.be/v6PPFMlGXYA

Benefits

  • FantomSign enables anyone to create and collect esignature against documents without a vendor agreement. A fantom 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 Fantom 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 FantomSign 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 fantom 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.
  • Metamask: Wallet connection. Follow guides to connect your metamask account here: https://docs.fantom.foundation/wallet/set-up-metamask
  • Fantom: 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 Fantom contract is deployed for each new esignature request.

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

    REACT_APP_COVALENT_KEY={YOUR_COVALENT_API_KEY} # Covalent key for the transaction history page. See https://www.covalenthq.com/docs/networks/fantom/
    REACT_APP_NFT_PORT_KEY={YOUR_NFT_PORT_API_KEY} # NFT port api key for receipt creation (nftport.com)
    REACT_APP_STORAGE_KEY={YOUR_WEB3_STORAGE_KEY} # web3.storage key for web3-based file hosting.

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

Recompiling FantomSign contract: cd contracts; npx hardhat compile

Example esignature requests contract: https://testnet.ftmscan.com/address/0xDDC2Fd0930150dA06f9FEC09c77aAd1675fB49a0

First transaction shown is the deployment, second is the signing.

Example request url: https://fantomsign.surge.sh/sign/bafybeibm22omnto4xi7by6vvkrkzni3tw6c5rkwk3nrpkbhl5q62qkkiia.

Example hosted document artifacts: https://bafybeibm22omnto4xi7by6vvkrkzni3tw6c5rkwk3nrpkbhl5q62qkkiia.ipfs.w3s.link/

Useful links

Screenshots

Home page

Creating a request

Request saved via IPFS (both the docs and request metadata).

Fantomsign enforces the signer is logged in with the intended address

Esigning

Signature saved as an NFT with a transaction recorded to Fantom

Completion esignature NFT

Both the creation of the request and the signature get saved as events on a smart contract

Contract source snapshot

Viewing signing history via Covalent.

Future work ideas

  • Integration with additional blockchain networks to expand the availability of the platform and its features.
  • Adding support for multi-party signature requests to facilitate document collaboration.
  • Enhancing the user interface to make it more intuitive and user-friendly, with features such as document templates, drag-and-drop functionality, and customizable branding.
  • Developing an API to allow businesses to integrate FantomSign with their existing workflows and systems.
  • Building advanced security features, such as two-factor authentication, encryption, and access controls, to enhance the platform's security.
  • Integrating with third-party identity verification services to further strengthen the platform's authentication process.
  • Native app support to allow users to connect to Fantom and complete signatures from an app
  • Expanding the platform's capabilities to include additional document types, such as contracts and legal agreements.
  • Building analytics and reporting features to provide users with insights into their esignature requests and usage.
  • Developing a feature that allows users to send reminders and follow-ups to signers who have not yet completed their signature requests. These reminders could be facilitated on web3 push networks.

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.