iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 18
0

Day 18 :

     8.全域變數
		全域變數可以在Solidity中的任何區域使用。
		Example:
			(1).this
			表示引用此合約。
			this.balance; /* 合約的餘額,一般在合約執行結束時,
			會將合約裡的餘額再發送給合約所有人 */
			this.; /* this.是外部的呼叫函數,非內部呼叫 */

			(2).msg
			msg.sender; 	//發送者的地址
			msg.value; // 發送者給合約的以太幣,單位為wei
			msg.data;  // 呼叫資料
			msg.gas;   // 剩餘的gas

			(3).tx
			tx.origin;  // 交易發送者的地址
			舉例:帳戶A呼叫合約B,合約B則透過程式碼呼叫合約C,
			在合約C中,tx.origin = 帳戶A,msg.sender = 合約B。
			tx.gasprice; // 交易的gas價格

			(4).block
			block.number; // 當下區塊的號碼
			block.diffculty; // 當下區塊的難度
			block.blockhash(1); /* return bytes32,給定區塊編號的
			                       hash值 */
			block.gasLimit(); // 當下區塊的gasLimit
			block.coinbase; // 當下區塊礦工的地址
			block.timstamp; // 當下區塊的時間戳

	9.列舉
		列舉是Solidity中的自定義資料型態。
		Example:
			// 第一個元素預設為0,遞增1,元素 = {0,1,2}
			enum State { Created, Locked, Inactive};
			State public state; // 宣告列舉變數
			state = State.Created; //賦值

			// 轉為整數,createdState = 0
			uint createdState = uint(State.Created);

上一篇
Day 17 Solidity 語法類型(三)
下一篇
Day 19 Solidity 語法類型(五)
系列文
以太坊-探索智能合約的多種面向20

尚未有邦友留言

立即登入留言