Events
事件字元串參數中的垃圾
我有一個這樣定義的事件:
event Created( address indexed target, string indexed name );
我願意
emit Created(..., _name); // called function with _name = "comment"
這使
0xd69ce70c72e2e7191b71ef82881773fbf30510f24a3450f02d555b5f04ac9702
或者
0x2361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60
在 Ganache 事件瀏覽器中:
我怎樣才能將其轉換回
comment
?web3.toAscii()
只是返回垃圾。
發生這種情況是因為所有數組類型(包括
string
和bytes
)都是散列的。請參閱文件:如果你使用數組(包括字元串和字節)作為索引參數,它的 Keccak-256 散列被儲存為一個主題,這是因為一個主題只能包含一個單詞(32 個字節)。
如果您需要原始值,則必須
indexed
從事件參數中刪除該選項並自己過濾事件。