99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

智能合約示例

2022-05-10 17:03 更新

讓我們從一個基本示例開始,該示例設置變量的值并將其公開以供其他合約訪問。如果您現(xiàn)在不了解所有內(nèi)容也沒關(guān)系,我們稍后會詳細介紹。

存儲示例

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;

contract SimpleStorage {
    uint storedData;

    function set(uint x) public {
        storedData = x;
    }

    function get() public view returns (uint) {
        return storedData;
    }
}

第一行告訴您源代碼是在 GPL 3.0 版下獲得許可的。機器可讀的許可證說明符在默認發(fā)布源代碼的設置中很重要。

下一行指定源代碼是為 Solidity 版本 0.4.16 或更高版本的語言編寫的,但不包括版本 0.9.0。這是為了確保合約不能與新的(破壞性的)編譯器版本一起編譯,因為它的行為可能會有所不同。 Pragma是編譯器關(guān)于如何處理源代碼的常用指令(例如pragma once)。

Solidity 意義上的合約是位于以太坊區(qū)塊鏈上特定地址的代碼(其功能)和數(shù)據(jù)(其狀態(tài))的集合?uint storedData;?行聲明了一個?uint?類型(256位的無符號整數(shù))的狀態(tài)變量?storedData?。您可以將其視為數(shù)據(jù)庫中的單個插槽,您可以通過調(diào)用管理數(shù)據(jù)庫的代碼的函數(shù)來查詢和更改它。在此示例中,合約定義了可用于修改或檢索變量值的函數(shù)?set?和 get。

要訪問當前合約的成員(如狀態(tài)變量),通常不需要添加this.前綴,只需通過名稱直接訪問即可。與其他一些語言不同,省略它不僅僅是風格問題,它會導致訪問成員的方式完全不同,稍后會詳細介紹。

除了(由于以太坊構(gòu)建的基礎(chǔ)設施)允許任何人存儲世界上任何人都可以訪問的單個數(shù)字之外,該合約還沒有做太多事情,而沒有(可行的)方法來阻止你發(fā)布這個數(shù)字。任何人都可以用不同的值再次調(diào)用set并覆蓋您的號碼,但該號碼仍存儲在區(qū)塊鏈的歷史記錄中。稍后,您將看到如何施加訪問限制,以便只有您可以更改號碼。

警告
使用 Unicode 文本時要小心,因為看起來相似(甚至相同)的字符可能有不同的代碼點,因此被編碼為不同的字節(jié)數(shù)組。
筆記
所有標識符(合約名稱、函數(shù)名稱和變量名稱)都僅限于 ASCII 字符集。可以將 UTF-8 編碼的數(shù)據(jù)存儲在字符串變量中。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號