[英]What is this solidity variable type?
我正在學習 16 小時的堅固課程,但我被卡住了。 我不知道 SimpleStorage 是什么。 是不是class,是不是導入的文件,我不知道。 它多次使用,但使用方式不同,我很困惑。 如果這還不足以解決這個問題,我很樂意分享更多信息。
SimpleStorage[] public simpleStorageArray;
SimpleStorage simpleStorage = SimpleStorage(address(simpleStorageArray[_simpleStorageIndex])).store(_simpleStorageNumber);
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "./SimpleStorage.sol";
contract StorageFactory is SimpleStorage {
SimpleStorage[] public simpleStorageArray;
function createSimpleStorageContract() public {
SimpleStorage simpleStorage = new SimpleStorage();
simpleStorageArray.push(simpleStorage);
}
function sfStore(uint256 _simpleStorageIndex, uint256 _simpleStorageNumber) public {
SimpleStorage simpleStorage = SimpleStorage(address(simpleStorageArray[_simpleStorageIndex])).store(_simpleStorageNumber);
}
SimpleStorage 是從import "./SimpleStorage.sol"
的合約。 solidity 中的合約由contract
關鍵字定義,可以認為是class
。 我們在 a.network 中部署這個合約,這些部署的版本可以被認為是 class 的實例。如果你看任何合約,它都有 class 的定義。主要區別是,在類中我們創建一個新實例,如下所示:
my_instance=MyClass() # in python
cont myInstance=new MyClass() // javascript
但在合同中,我們在部署合同時創建實例。 我們不能像創建 class 實例那樣創建合約實例。
contract StorageFactory is SimpleStorage{}
這是inheritance
意味着我們可以在這里訪問SimpleStorage
state 變量和函數。
SimpleStorage[] public simpleStorageArray;
我們正在創建一個存儲SimpleStorage
合約實例的數組,我們將此數組命名為simpleStorageArray
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.