Coder Social home page Coder Social logo

komharproject's Introduction

komharPROJECT

The four sprints are intended to create a complete solution that provides notarization and document storage service supported by ethereum blockchain and IPFS content storage. High level Physical Architecture: The IPFS node and ethereum testnet will reside on infura http://infura.io . The Web Application will reside AWS EC2 cloud instance.

Functional Requirements:
User Registration: Parameters - Username, Wallet Password (With each registration, the user’s wallet is created and the key file should be stored on the server file system). On User registration a new ethereum account should be created and its address should be stored with the user name in the smart contract created for the same.
User Login: The user should supply the username and wallet password - the flow should verify that the user key is decrypted using the password supplied by the user. The user’s wallet address will need to be retrieved from the Smart Contract that holds the username and user wallet address. The application code will have to loop through all the usernames and match the requested username to reach the correct user wallet address. Once the wallet address is retrieved from the contract, the correct key should be selected from the file system and should be decrypted with the password from the user. If it succeeds user should reach his profile page.
User Profile: User profile should allow him to upload document files and sow his existing uploaded file hashes. A new file uploaded should be added to IPFS and the file hash should be added into the smart contract in a mapping against his username. Existing files hashes should be maintained as a mapping in the contract. The profile page should list the file hashes as links, when the user clicks on the link, the file content stored by the user should display (if it’s an image) or download if it cannot be displayed.
Ether funding: The file add smart contract function call should use gas from the user wallet. The server already has the user private key so the transaction needs to execute using that private key of the user. The user add smart contract function call should use and admin wallet which will be already created by the interns before any user registers. The wallet’s private key should also be on the server file system. After the registration, user’s wallet will need to be funded offline so the user is able to execute file upload without running out of funds, This funding can be done offline from the admin wallet.
Smart Contract: The basic design of the smart contract has to ensure that it holds a mapping of the users struct and within a single user struct it should hold a mapping of the user’s file hashes.


komharproject's People

Contributors

amish123 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.