小编Vis*_*tel的帖子

如何知道映射表中是否存在特定值?

我有一个映射表,其中将多个哈希存储到该表中。我想做的是让用户使用setinstructors()函数添加另一个哈希,然后尝试查看映射表中是否已经存在相同的哈希。如果表中已经存在相同的哈希,则应返回true,否则返回false。这是我的代码:

pragma solidity ^0.4.18;

contract Hash{
bytes32 comphash;

struct hashstruct{
bytes32 fhash;

}
mapping (uint => hashstruct) hashstructs;
uint[] public hashAccts;



function setinstructor(uint _uint,string _fhash) public {
      var a = hashstructs[_uint];
   a.fhash = sha256(_fhash);  
     hashAccts.push(_uint) -1;


}



function getInstructor(uint ins) view public returns (bytes32) {
    return (hashstructs[ins].fhash);
}

   function count() view public returns (uint) {
    return hashAccts.length;
}



function setinstructors(string _comphash) public {
    comphash = sha256(_comphash);

}

function getInstructors() public constant returns (bytes32) {
    return (comphash);
}



}
Run Code Online (Sandbox Code Playgroud)

ethereum solidity smartcontracts

1
推荐指数
1
解决办法
2855
查看次数

标签 统计

ethereum ×1

smartcontracts ×1

solidity ×1