Record of History Hash Value

Since “SSTORE” is the most expensive3^3 which is used at the time of storage among EVM’s Opcodes, “event” is sufficient to achieve this purpose.

The parameters (TOPIC) of “event” are as follows.

eventSig : Event name. Similar to Ethereum's function signature, specifying the first 4 bytes of the Keccak256 hash of the event name to be recorded.

createdAt : Date and time of record

ipfsHash : IPFS hash

To prevent irrelevant or unauthorized logging, the OpenZeppelin library (WhitelistAdminRole.sol) is used to ensure that only the smart contract owner can execute.

An excerpt of the source code is shown below.

 // eventSig is the first 4 bytes of the Keccak256 hash of event name
 // auction_bidding: 0x636fe49e
 // auction_receipt: 0x4997644b
 // bancor_trading: 0x285a30e1
 event Recorded (bytes4 indexed eventSig, uint256 indexed createdAt, bytes32 ipfsHash);

 /**
  * @dev Write ipfsHash as log
  */
 function writeHash(bytes4 _eventSig, bytes32 _ipfsHash) public onlyWhitelistAdmin {
   emit Recorded(_eventSig, uint256(now), _ipfsHash);
 }

Through FiNANCiE Lightning, CT is offered by a combination of off-chain + public transaction history + on-chain hash values. At this time, CT cannot be withdrawn to an on-chain wallet for the reasons previously mentioned. All distribution and uses of CT are closed within FiNANCiE (Crowdfunding 2.0).

Last updated