Я пытаюсь создать умный контракт, в котором хэш файла хранится в виде пары ключ-значение хеша, указывающей на пару (временная метка, владелец), которая имеет форму структуры в солидности.
Я успешно скомпилировал и развернул этот умный контракт в локальной блокчейне на Ganache. Однако я не уверен, как взаимодействовать с этим умным контрактом, чтобы фактически загружать файлы в виде хеш-кода с их [отметкой времени и владельцем] в качестве значения в паре ключ-значение.
pragma solidity 0.5.8;
contract Ownership {
struct FileMap {
uint timestamp;
string owner;
}
mapping (string => FileMap) allFiles;
event FileLogStatus(bool status, uint timestamp, string owner, string fileHash);
function set(string memory owner, string memory fileHash) public
{
if(allFiles[fileHash].timestamp == 0){
allFiles[fileHash] = FileMap(block.timestamp, owner);
emit FileLogStatus(true, block.timestamp, owner, fileHash);
}else{
emit FileLogStatus(true, block.timestamp, owner, fileHash);
}
}
function get(string memory fileHash) internal view returns (uint timestamp, string memory owner)
{
return (allFiles[fileHash].timestamp, allFiles[fileHash].owner);
}
}
Мне нужен блокчейн, чтобы отразить мои файлы и владельца.