This proof of concept Signature Storage Ethereum Dapp uses the SignatureStorage.sol contract.
Problem Description:
It costs companies a lot of time and money to send paper contracts by postal service to customers (signees) for signing in order to close a deal.
Each customer also needs a copy of this contract, with all the signatures.
This Dapp will offer a cheaper and faster solution to this problem.
How to use this Dapp:
Prerequisites:
The owner and signees must have MetaMask installed.
The owner and signees Ethereum addresses must have enough ethers assigned to them.
The owner and signees must connect to the correct network. In this example Rinkeby test network.
The signee names and their corresponding Ethereum addresses, the signees have sends this information earlier to the owner.
For privacy reasons it is recommended that the signee uses a different Ethereum address each time a contract needs to be signed.
The contract also contains the deployed solidity contract address, in case a signee wants to verify the solidity contract.
The owner selects the action: "Add contract".
Owner enters the unique contract number.
Owner uploads the document to calculate the sha-256 hash.
The owner selects the action: "Delete contract".
The owner can only delete contracts with no signees assigned.
The owner selects the action: "Add signees".
Owner selects the contract number.
In the textbox the owner enters all signees Ethereum addresses.
Each address should be on a separate line.
After the button "Add signees" is pressed, the owner can not delete the contract or modify the signees.
The owner sends the contract (Word, PDF, etc) per email to the signees, and the URL where they can sign the contract with their Ethereum address.
To sign the contract, the signee must use its correct Ethereum address in MetaMask.
The signee selects the action: "Sign contract".
Signee selects the contract number.
After the button "Sign contract" is pressed, the signee can not change it.
To show the contract information, the owner or signee selects the action: "Show contract information".
Owner or signee selects the contract number and presses the "Show information" button.
The contract can be in one of the following statusses:
Created - Contract is created with no signees assigned.
Activated - Contract has signees assigned and not all signees have signed the contract.
Completed - All signees have signed the contract.
The contract information is displayed on the right side.
To transfer ownership, the owner selects the action: "Transfer ownership".
The owner enters a new owner address and presses the "Transfer ownership" button.
After the transaction is processed, the new current owner address is displayed.