-
Notifications
You must be signed in to change notification settings - Fork 0
/
proofOfExistence.sol
36 lines (28 loc) · 918 Bytes
/
proofOfExistence.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
pragma solidity ^0.4.15;
contract ProofOfExistence{
bytes32[] private proofs;
address public owner;
// ho dovuto creare la variabile lenght dato che proofs.lenght chiamandola da checkDocument dà errore
uint256 private lenght;
// constructor
function ProofOfExistence() public {owner = owner_();}
function owner_() private view returns (address){
return msg.sender;
}
function notarize (string document) public {
bytes32 proof = proofFor(document);
storeProof(proof);
lenght++;
}
function storeProof(bytes32 proof) private {
proofs.push(proof);
}
function proofFor(string document) private pure returns (bytes32){
return sha256(document);
}
function checkDocument(string document) public constant returns(bool){
for(uint256 i=0; i < lenght; i++) {
if (proofs[i]==proofFor(document)) {return true;} }
return false;
}
}