Solidity
REMIX:該合約沒有實現所有功能,因此無法創建
我該怎麼辦?
pragma solidity ^0.4.21; contract ScoreInterface { function hit() public; function score() public view returns (uint); }
該合約未實現所有功能,因此無法創建
那是一個介面合約。
它們很有用,但無法部署。它們包含沒有程式碼塊的函式簽名,因此 EVM 不知道該做什麼 - 不可接受。
介面可以為開發人員的錯誤提供一層保護。
contract Score is ScoreInterface { // now we are committed to implementing each function in ScoreInterface function hit() public { // do something } function score() public view returns (uint) { // do something } }
Score
當定義了這些功能中的每一個時,它將是可部署的。介面描述合約的表面區域而不描述內部程式碼。這對於想要互動的其他合約很有用。
contract Game { function recordHit(address scoreContract) public { ScoreInterface s = ScoreInterface(scoreContract); s.hit(); } }
希望能幫助到你。
閱讀抽象契約,您將更深入地了解為什麼會出現此錯誤。 https://solidity.readthedocs.io/en/v0.5.3/contracts.html#abstract-contract