Mapping

Solidity 中的映射鍵優化

  • December 19, 2020

我在這裡查看了所有答案,但仍然對最新版本的 Solidity 有疑問。

也許,存在新的庫

是否可以優化這個

mapping(address => uint) balances;
mapping(address => bool) staked;

只使用一個映射,但具有檢查此時是否已抵押地址的功能?使用 Solidity 0.7.5 版

為什麼不將這些數據合併到一個結構映射中呢?例子:

struct sampleStruct {
   uint balance;
   bool staked;
}

mapping(address => sampleStruct) sampleStructs;

然後,您檢查地址是否已抵押的方法將如下所示:

function checkIfStaked(address _address) public view returns(bool) {
   if (sampleStructs[_address].staked) {
       return true;
   } else {
       return false;
   }
}

引用自:https://ethereum.stackexchange.com/questions/91294