1. Docker是什么? Docker是一種開源的容器化平臺(tái),能夠?qū)?yīng)用程序和開發(fā)環(huán)境依賴打包到容器中,從而實(shí)現(xiàn)在不同環(huán)境的服務(wù)器上快速部署和運(yùn)行。 2. Docker和虛...
19.1 selector 當(dāng)我們調(diào)用智能合約時(shí),本質(zhì)上是向目標(biāo)合約發(fā)送了一段calldata,在remix中發(fā)送一次交易后,可以在詳細(xì)信息中看見input即為此次交易的ca...
17.1 哈希運(yùn)算 哈希函數(shù)(hash function)是一個(gè)密碼學(xué)概念,它可以將任意長度的消息轉(zhuǎn)換為一個(gè)固定長度的值,這個(gè)值也稱作哈希(hash)。 Hash的性質(zhì) 一個(gè)...
16.1 在合約中創(chuàng)建合約 16.1.1 create create的用法很簡單,就是new一個(gè)合約,并傳入新合約構(gòu)造函數(shù)所需的參數(shù): Contract x = new Co...
15.1 call call 是address類型的低級(jí)成員函數(shù),它用來與其他合約交互。它的返回值為(bool, data),分別對應(yīng)call是否成功以及目標(biāo)函數(shù)的返回值。 ...
14.1 編寫測試合約 首先編寫一個(gè)測試合約,用于被其他合約調(diào)用: 測試合約有一個(gè)狀態(tài)變量x,同時(shí)有以下幾個(gè)函數(shù): setX():設(shè)置狀態(tài)變量x getX():獲取狀態(tài)變量x...
13.1 接受ETH 在智能合約中,對一個(gè)函數(shù)標(biāo)記payable關(guān)鍵詞,那么這個(gè)函數(shù)可以接受ETH(合約并不能接收ETH,需要添加回調(diào)函數(shù),下節(jié)介紹): 運(yùn)行結(jié)果: depo...
12.1 庫合約 庫合約是一種特殊的合約,為了提升solidity代碼的復(fù)用性和減少gas而存在。庫合約一般都是一些好用的函數(shù)合集(庫函數(shù)),由大神或者項(xiàng)目方創(chuàng)作。他和普通合...
11.1 抽象合約 抽象合約的形式為: 抽象合約在聲明時(shí)需要在前面加上關(guān)鍵字abstract。 如果合約中最少存在一個(gè)未實(shí)現(xiàn)函數(shù),則合約必須聲明為抽象合約,否則編譯不通過。...
10.1 單繼承 繼承是面向?qū)ο缶幊毯苤匾慕M成部分,可以顯著減少重復(fù)代碼。如果把合約看作是對象的話,solidity也是面向?qū)ο蟮木幊?,也支持繼承。 10.1.1 virt...
9.1 Solidity中的控制流 9.1.1 for循環(huán) 定義數(shù)組: for循環(huán)計(jì)算sum: 循環(huán)中的控制語句break和continue和大部分語言相同,不再贅述。 9....
8.1 構(gòu)造函數(shù) 構(gòu)造函數(shù)(constructor)是一種比較特殊的函數(shù),它在合約部署的時(shí)候被調(diào)用一次,之后不會(huì)再被調(diào)用。構(gòu)造函數(shù)一般用于初始化一些變量。在Solidity ...
7.1 報(bào)錯(cuò)控制 Solidity中拋出異常的方法有:require、revert、assert。本章分別介紹三種方法的使用。 7.1.1 require require命令...
6.1 映射的聲明 映射(mapping)是Solidity中的哈希表,實(shí)現(xiàn)通過key值查詢對應(yīng)的Value,例如:通過調(diào)用者的地址查詢其余額。聲明映射的格式為:mappin...
5.1 結(jié)構(gòu)體定義和初始化 Solidity支持通過構(gòu)造結(jié)構(gòu)體的形式定義新的類型。創(chuàng)建結(jié)構(gòu)體的方法: 定義狀態(tài)變量結(jié)構(gòu)體和結(jié)構(gòu)體數(shù)組: 5.2 新增 在內(nèi)存中初始化結(jié)構(gòu)體變量...
4.1 數(shù)組分類 動(dòng)態(tài)數(shù)組(可變長度數(shù)組) 定長數(shù)組 4.2 數(shù)組操作 length: 獲取數(shù)組長度 push() & push(x): 數(shù)組長度+1,push() 為添...
2.1 函數(shù)形式 1. function:聲明函數(shù)時(shí)的固定用法,想寫函數(shù),就要以function關(guān)鍵字開頭。2. <function name>:函數(shù)名。3. ( ):...
3.1 變量存儲(chǔ)類型 引用類型變量占空間大,賦值的時(shí)候直接傳遞地址(類似指針),在使用時(shí)必需聲明數(shù)據(jù)存儲(chǔ)位置。Solidity中引用類型包括:數(shù)組(array)、結(jié)構(gòu)體(st...