欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Solidity合約結(jié)構(gòu)是什么

這篇文章主要講解了“Solidity合約結(jié)構(gòu)是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Solidity合約結(jié)構(gòu)是什么”吧!

我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、臨潭ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的臨潭網(wǎng)站制作公司

Solidity合約結(jié)構(gòu)主要包括:狀態(tài)變量、局部變量、構(gòu)造函數(shù)、析構(gòu)函數(shù)

1、什么是智能合約?

        在以太坊區(qū)塊鏈上運行的程序,通常稱為智能合約(Smart Contract),所以通常會把寫區(qū)塊鏈程序改稱、寫智能合約。

2、一個完整的合約示例

pragma solidity ^0.4.23;
contract Counter {
	uint count = 0;    
	address owner;

    constructor () public {       
    	owner = msg.sender;    
    } 
    function increment() public {
    	uint step = 10;
        if(owner == msg.sender) {
	    	count = count + step;       
	    }    
	}
	function getCount() constant public returns (uint) {
    	return count; 
    }
 	function kill() public {
 	if (owner == msg.sender) {
       	selfdestruct(owner);
       }
 	}
}

3、版本聲明

        pragma solidity代表solidity版本聲明,0.4.23代表solidity版本,^表示向上兼容,^0.4.23表示solidity的版本在0.4.23 - 0.5.0(不包含0.5.0)的版本都可以對本合約代碼進行編譯,0.4.24、0.4.25等等版本可以用來修復前面的solidity存在的一些bug。

4、合約聲明

contract是合約聲明的關(guān)鍵字,Counter是合約名字,contract Counter就是聲明一 個Counter合約。

contract相當于其他語言中的class,Counter相當于類名,contract Counter相當 于 class Counter 。

5、狀態(tài)變量

uint count = 0;

address owner;

count 和 owner就是狀態(tài)變量,合約中的狀態(tài)變量相當于類中的屬性變量。

6、構(gòu)造函數(shù)(Contructor)

constructor () public 也可寫成 function Counter(),函數(shù)名和合約名相同時,此函數(shù)是合約的構(gòu)造函數(shù),當合約被部署時, 會先調(diào)用構(gòu)造函數(shù)對相關(guān)數(shù)據(jù)進行初始化處理,構(gòu)造函數(shù)在整個生命周期內(nèi)只會在部署時執(zhí)行一次。

7、成員函數(shù)

        function increment() public

        function getCount() constant returns (uint)

        以上兩個都是Counter合約的成員函數(shù),成員函數(shù)在iOS里面叫做方法、行為,合約實例可以調(diào)用成員函數(shù) 處理相關(guān)操作。當調(diào)用increments函數(shù)時,會讓狀態(tài)變量count增加step。當調(diào)用getCount()時會得到狀態(tài)變量count的值。

8、本地變量

function increment() public { 
    uint step = 10; 
    if (owner == msg.sender) { 
        count = count + step;
    }
}

increment)方法中聲明的step就是局部變量。局部變量只在離它最近的{}內(nèi)容使用。

9、析構(gòu)函數(shù)(selfdestruct)

        析構(gòu)函數(shù)和構(gòu)造函數(shù)對應,構(gòu)造函數(shù)是初始化數(shù)據(jù),而析構(gòu)函數(shù)是銷毀數(shù)據(jù)。在counter合約 中,當我們手動調(diào)用kill函數(shù)時,就會調(diào)用selfdestruct(owner)銷毀當前合約。

感謝各位的閱讀,以上就是“Solidity合約結(jié)構(gòu)是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Solidity合約結(jié)構(gòu)是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

當前名稱:Solidity合約結(jié)構(gòu)是什么
URL分享:http://chinadenli.net/article40/gepieo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化虛擬主機網(wǎng)站設(shè)計公司品牌網(wǎng)站制作定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司