Solidity

如何為乙太坊地址建立通訊錄?

  • March 26, 2017

我想要一個簡單的地址簿,將使用者名引用到乙太坊地址,例如,

mapping (string => address) addressOf;

不幸的是,我無法將該映射作為公共呼叫訪問,因為字元串是動態大小的。

是否有任何現有的解決方案或解決方法來訪問沒有 .sendTransaction 的字元串鍵映射?

您可以像這樣使用 bytes32 :

contract NameRegistry {
   mapping(bytes32 => address) addressBook;

   function set(string a, address b){
       addressBook[sha3(a)] = b;
   }

   function get(string a) constant returns(address){
       return addressBook[sha3(a)];
   }
}

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