Solidity
在對象內部添加的不是函式參數的值
我已經在 Solidity 中多次看到這個,但我在文件中找不到它,也不知道如何在搜尋引擎中描述它。假設您有一個功能:
function buyItem(uint256 _upc) public payable // Call modifier to check if upc has passed previous supply chain stage forSale(_upc) // Call modifer to check if buyer has paid enough paidEnough(items[_upc].productPrice) // Call modifer to send any excess ether back to buyer checkValue(_upc) { // Update the appropriate fields - ownerID, distributorID, itemState items[_upc].ownerID = msg.sender; items[_upc].distributorID = msg.sender; items[_upc].itemState = State.Sold; // Transfer money to farmer items[_upc].distributorID.transfer(items[_upc].productPrice); // emit the appropriate event emit Sold(_upc); }
當您在測試中呼叫該函式時,您向它傳遞了一個帶有 from 和 value 屬性的對象。我如何知道何時需要使用這些屬性以及文件中的何處描述?
// Mark an item as Sold by calling function buyItem() await supplyChain.buyItem(upc, { from: distributorID, value: productPrice, });
它們被稱為應付函式,因為它們具有應付修飾符。
額外的參數 from是簽署交易的地址,value是發送到交易的乙太幣數量。