Solidity

從 OpenZeppelin 眾籌合約中的“getTokenAmount”函式中刪除“view”修飾符是否安全?

  • February 8, 2018

openzeppelin 眾籌範例中的這個函式被標記為視圖,如下所示:

// Override this method to have a way to add business logic to your crowdsale when buying

 function getTokenAmount(uint256 weiAmount) internal view 
returns(uint256) {
   return weiAmount.mul(rate);
 }

如果我想添加邏輯以根據時間更改速率(對於分層 ICO),刪除視圖約束並將該邏輯放置在此函式中是否安全?

我不確定它是否出於性能/成本原因而具有視圖修飾符,或者它是否是一個安全功能,如果我刪除它可能會導致問題。

我想實現邏輯,我認為它比其他任何地方都更適合計算代幣數量的函式?

不過,我對此很陌生,並感謝您可能獲得的任何幫助或答案。

謝謝你。

view用於表示函式不修改狀態。

除非您編輯會修改狀態本身,否則不建議將其用於 getter 函式,實際上保留它就可以了。

如果您的函式編輯會改變狀態,我建議您只創建一個新函式並作為良好實踐,不要使用get作為函式名稱的開頭(通常代表 getter)。

無論哪種方式,你去……它是相對安全的刪除。

更多資訊在這裡:http ://solidity.readthedocs.io/en/develop/contracts.html#view-functions

引用自:https://ethereum.stackexchange.com/questions/38981