Giter Site home page Giter Site logo

mitchtodo / e-wills Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 38.23 MB

E-Wills, an immutable electric Wills storage system, enables authenticity and ownership power through the Concordium Blockchain.

License: Apache License 2.0

Rust 38.20% HTML 1.43% CSS 3.33% JavaScript 57.04%

e-wills's Introduction

alt text

Network Smart Contract Dapp Licence

E-Wills is the next generation of Will notarization, verification & discovery powered by a smart contract on the Concordium blockchain.



Requirements

Note: check out branches task 1 | 2 for more details on setup requirements, also recommended watch Concordium's in-depth how to.

Concordium Overview

Building Smart Contracts

Building dApps


Optional


Future Improvements

Notarization

Third party SDK's are need to excel the user experance and allow for a smooth notarization process to take place.

  • Docsign : Enables the capability of remote document signing.

  • Zoom : Enables face to face video chat for remote notarization.

Will Encryption

Will encryption is a complex problem to solve do to the senstive of the contents. The most suitable solution is to use proofs Id from the identity as means of encryption. In turn would allow the e-will to be decrypted during the revoke anonymity process.

Will Discovery

As of now the discovery of a e-will is untested this is do to how the revoke anonymity process works and the ability to simulate. A solution is to treat each e-will as a NFT. Allowing e-will's to be treated as a respected asset.

UI/UX

Improving site themes and the over all user experience. This can be done by hiring content creators on Fiverr bring design, animation and themes.

How It works

Terminology

Testator : A person who has made a will.

Notary : A impartial witness to the signing of a legal document.

Witness : A individual who personally knows the signer and can vouch for the signer's identity to the Notary.

Creation

The testator starts the process by calling the smart contract mint method taking in three arguments; will url, hash of the will & the notary address. Values are saved within the contract state and mapped to the testator address, representing ownership. The will file is then encoded and upload to IPFS. A testator can keep minting will's but only a single will can be the active will. The active will is the latest will that was notorized. This allows for an immutable digital history of wills.

Notarization & Verification

Trustator grants permission to a notary to allow the notarization of the E-Will. After the notary witnesses the remote 'Will' notarization. The notary will confirm the E-Will By calling the notarize method in the smart contract. The notarize method takes in three arguments; will url, hash of the will & witness address. The smart contract will verify the inputs and create an Eseal. Eseal is a blockchain-based verification and fraud protection process that assures the authenticity of a document and validation. The Eseal can be verified at any time.

Discovery

The discovery of a E-Will relies heavily on a feature only known to the Concordium Block called revoking anonymity. Where an identity of a user can only be revealed to a qualified authority as part of a valid legal process. A qualified authority is a governmental body that has authority to act in a relevant jurisdiction. In such cases of an deceased relative, a judge would need to graint a court order to reveal the identity of the decease. This discloses ownership of a E-Will, that would be presented to the court showing authenticity and validation. Additionally the judge could reveal identitys of the notary and witness.

Quick Start

Quick start & Dapp Walk Through video

1. Download & install

Open your terminal and git clone the repo.

git clone https://github.com/MitchTODO/E-Wills.git

cd into the repo directory

cd E-Wills

2. (Optional) Compiling & deploying E-Will Contract

This section is optional as the dapp uses a predeployed E-Wills contract on the Concordium testnet. Please defer to the quick start video for how this process is done.

3. Start the dapp

cd into the demo directory

cd demo-v2

Install npm packages, wait until complete.

npm install 

Start the live-server with the following command.

Note: You will need a browser open as it will be used to view the dapp.

npm start

You should be present with the following within your brower.

alt text

4. Conncting your Concordium Browser Wallet

Within the dapp press the connect wallet button. You will then to confirm the connection of your wallet address.

Once connected the dapp checks if the user has any existing e-wills. If so, contents of the E-will's are then requested and presented. Otherwise the user is presented with the will creation view.

alt text

5. Minting your 'Will' as a digital asset

Note: You will need testnet tokens in order to write to the smart contract.

Minting takes in three inputs.

  • Will File Url : The digital storage location of the 'will'.

For this demo I use a mock 'will' text file uploaded to the Github repo and set to be the default url within the dapp.

  • Will Hash : SHA-256 Hash of the 'will' file.

The file hash is generated by pressing the Get button. This requests the file and hashes the contents.

  • Notary Address : Address authorized to notarize the 'will'.

Notary address must be different from the sender address. Therefor create and use another address within the wallet.

alt text

6. E-Will notarization

In order for the 'will' in be succeussfully notorized we must switch to the address that was given authorization. Once are notary address is connected to the dapp we can continue to the notary view by toggling the notary view button. Presented with an input view we then paste the address of the 'will' owner. As each will is mapped to the address who created it.

alt text

Notarization takes in one input parameter from the notary and additional parameters are passed into the contract method during transaction initialization (will hash & will id).

  • Witness : Address of the Identity who witness the notarization.

  • Will Hash : Current SHA-256 hash of the 'will' file.

  • Will Id : Integer also repsents amount of wills.

  • testator : Address of the owner of the E-Will being notarized.

Once the transaction finishes we can refesh the E-Will and find that it has been successfully notortized and Esealed.

alt text

7. Will History

An idenitiy can own mutplie e-wills but can only hold one active will. This allows for record keeping on past e-wills for courts. The active will is that latest will to be notarized and esealed.

alt text

Licence

The project is available under Apache licence

e-wills's People

Contributors

mitchtodo avatar

Watchers

 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.