利用 Remix 來建立智能合約(二)
Remix
是以太坊提供開發 Solidity 智能合約線上開發環境
開發環境 Remix
使用語言 Solidity
錢包 MetaMask
如果還沒有建立MetaMask
錢包,可以參考這篇 Blockchain - 建立智能合約(一)
Remix
開啟後介面會如下圖
- 左邊為檔案目錄
- 中間為程式編輯區
- 右邊為部署 測試 調試區
剛進去Remix
裡, 會有預設的 browser.sol
我們把它關閉,自行創建一個新的檔案
最左上角有一個 +
的符號
建立一個名為 Storage
智能合約 - 資料存取
我們要來做一個有關資料(數據)存取的智能合約
ex : 在店家消費 100元 的時候,我們要如何紀錄這筆消費,來做驗證 説有來過這家店家消費 100元
以下為資料存取的智能合約
pragma solidity ^0.4.21; // 宣告 solidity 版本為 0.4.21 ^只要是0.4.21以後的版本都相容
contract Storage //宣告主體 Storage
{
uint data; // uninteger 非負整數(正整數)
function set(uint x) public //公開存一個正整數為data
{
data = x;
}
function get() public constant returns (uint) //取 data 值 公開並回傳非負整數(constant不用付費用
{
return data;
}
}
完成後按下右邊 Start to compile
如果語法沒有錯會顯示綠色
語法有錯會顯示紅色,代表沒有 compile 成功
compile 成功後,切換到 Run
- Envroment 是合约的運行環境,預設是Injected web3
- Account 是當前錢包的地址
- Gas limit 合約所準備的 Gas
- value 合約帳戶的轉帳金額
設定好之後,按下 Deploy
會跳出是否要提交合約,從中會收取一些手續費
接者按下 Confirm
在下面訊息區域會跳出一個連結,點進去
會進到 Etherscan 交易所
TimeStamp 等待合約交易時間
交易成功之後,Block Height
是這份合約交易成功區塊的識別碼
以後不論多久想要在查看這份合約交易,進 TESTNET Ropsten
在搜尋地方打上 Block Height
合約區塊的識別碼
會進入到當時交易的相關合約
完成合約交易後,在 Remix
右下角會出現 get
set
是這份合約程式裡取的函數
我們就完成第一份智能合約了