You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Michele Sessa cc657aa7c3 docs(blockchain): improve audit style and titles 2 years ago
..
audit docs(blockchain): improve audit style and titles 2 years ago
README.md docs(blockchain): add blockchain branch subjects to public 2 years ago

README.md

Sign Service

The goal of this raid is to create a web service that allows users to upload, sign and store the hash of documents on the blockchain and to

Functionalities

Our signing service consist of three sections.

  • Title and short presentation of the service
  • Upload a document and connect a wallet
  • Actions : sign, publish and verify

Presentation This section introduces the service and redirects to the two other pages

Connection

  • a button to upload a document to the webpage
  • a button Connect Wallet to connect an Ethereum wallet. It should handle MetaMask. Optionnaly you could use wallet connet

Action

  • a button sign offline to sign the document offline
    • The resulting signature is displayed on the page or in a modal
  • a button publish to store hash of the transaction on the blockchain
    • The transaction is created to add the hash to a smart contract.
    • The transaction is signed by the wallet and send
    • Optionally : The document can be stored in the database of your choice
  • a button verify to check if a document has been stored previously. - It hashes the document, reads if the smart contract contains it, and displays the data at which the document was added Optionally
  • A retrieve section allows to recover a document from its hash. The document must have been stored

Result

The overall appearance can be basic but it should be clear and easy to use.

Example of interface

==== Introduction ====
This is a signing service
==== Upload and connection ====
[connect wallet]
<Current document>  [upload document]
==== Actions ====
[sign]      | [publish]         | [verify]
<Signature> | <Confirmation>    | <Result>

<> are displays [] are buttons

Structure

The structure of the project is

project
│ README.md
│ package.json
└── server
│   │ index.js
└── interface
│   │ index.html
│   │ style.css
│   └── js
│       | main.js
|       | blockchain.js
└── Contracts
   │ storage.sol

Scripts and documentation

Package.json must contain following scripts:

  • deploy that compile and deploy the smart contract with the tooling of your choice on a local blockchain (that must be launched too)
    • If the tooling is not available it should instruct the user how to install it
  • serve that launches the server that serves the page on localhost:3000
  • start that does all of the above

The project must contain a readme file that introduces the project and instructs how to use i