Solidity
如何比較兩個bytes32?
在我讀到使用字節更便宜之前,我一直在使用字元串。現在我將字元串更改為 bytes32 但我不知道如何比較它們。我需要檢查 require 語句中的兩個 bytes32 是否相等。我該怎麼做?使用正常 == 可以恢復並用 keccak256 包圍它說它是從 bytes32 到請求的字節的無效隱式轉換。
兩個 bytes32 之間的比較是可能的。考慮這個簡單的合約:
pragma solidity 0.5.4; contract Test { bytes32 public constant bytes32_ = "Hello World!"; bytes32 public constant anotherBytes32 = "Hello World!"; function areTheyEqual() public pure returns(bool) { return (bytes32_ == anotherBytes32); } }
該合約將編譯並返回正確答案(真)。您能否將您的程式碼與問題一起發布?問題出在其他地方,而不是比較本身。