Solidity

在區塊鏈上儲存 ASCII

  • August 11, 2022

在乙太坊區塊鏈上儲存 ASCII 字元/字元串的最佳方式是什麼?場景:有些使用者只想將 ASCII 字元串上傳到區塊鏈。這些字元串不包含私人資訊,因此可以將它們儲存為明文。這是我的實現,有更好的解決方案嗎?


contract storagex {
   mapping(address => string[]) public users;

   function add(string memory _data) public {
       users[msg.sender].push(_data);
   }

   function retrieve(address ad) public view returns (string[] memory) {
       return users[ad];
   }
}

就是這樣,這就是你所需要的。Soliditystring設計為僅保存 ASCII 可列印字元,範圍從 0x20 到 0x7E,十進制為 32 到 126,即從“空格”到“~”。

看看文件:

https://docs.soliditylang.org/en/v0.8.14/types.html#string-literals-and-types

ASCII 表:

https://www.asciitable.com/

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