Events
查詢主題最大值的事件
我的事件輸出一個索引參數
uint id
。
id
我可以在不返回並蒐索所有日誌記錄的情況下查詢日誌的最大值嗎?我猜不是,因為索引值儲存為散列,所以值比較是不可能的,但也許我遺漏了一些東西。
否則如何將單個 uint 值“記憶體”到日誌中而無需檢索該類型的所有日誌?
除非您將值儲存在合約中,否則您將不得不遍歷所有事件。話雖這麼說,您必須擁有一個非常完整的節點來保存所有事件的日誌(通常當日誌太舊時會從節點中刪除)。
可能是一個更簡單的解決方案(不承受天然氣成本)是將最大值儲存在您的契約中。
// store the max val uint maxVal = 0; // an event to notify that val has changed event ValChange(uint _val); function storeValue(uint _val) { // store biggest _val if (_val > maxVal) { maxVal = _val; } // trigger event ValChange(_val); }