簡體   English   中英

這個 solidity 變量類型是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM