Solidity
在 Solidity 中實現事件(混音)
我有一個關於 Remix 的測試程式碼,並且得到了 ParseError: Expected Primary Expression。錯誤發生在函式查詢 - 在事件定義 - 行。
ParserError:預期的主要表達式。事件 itemsListDisplay (bytes32 itemId, bytes32 itemDescription, bytes32uctionStatus); ^
我使用事件的原因是在批准的參與者呼叫該函式時顯示一個列表。每個項目列表都將在一個新行中。
任何其他改程序式碼風格的建議也會有所幫助。
謝謝。下面是測試程式碼。
contract Request is MasterContract, ApprovedParticipantsContract, ApprovedItemsContract { function Enquiry (address _address) returns (bool flag) { event itemsListDisplay (bytes32 itemId, bytes32 itemDescription, bytes32 auctionStatus); if (approvedParticipantsList[_address].isValue) { uint len = itemsList.keys.length; for (uint i = 0; i < len; i++) { bytes32 myItemId = itemsList.keys[i].itemId; bytes32 myItemDescription = itemsList.keys[i].itemDescription; bytes32 myAuctionStatus = itemsList.keys[i].auctionStatus; itemsListDisplay(myItemId, myItemDescription, myAuctionStatus); } return true; } return false; } }
您應該使用/在您的狀態變數之後定義函式外部的事件日誌。然後在事務發生時發出事件。
contract Thing { event LogSomethingHappened(address sender, uint amount); function doSomething(uint qty) public returns(bool success) { LogSomethingHappened(msg.sender, qty); return true; } }
希望能幫助到你。