Eth 部署智慧合約
阿新 • • 發佈:2018-12-23
首先要開發以太坊的智慧合約,需要EVM(以太坊虛擬機器),也就是需要執行的環境,我們可以通過 geth 來設定開發環境:
geth --datadir testNet --dev console 2>> test.log
命令引數說明(更多命令詳解可閱讀Geth命令用法-引數詳解篇):
–dev 啟用開發者網路(模式),開發者網路會使用POA共識,預設預分配一個開發者賬戶並且會自動開啟挖礦。
–datadir 後面的引數是區塊資料及祕鑰存放目錄。
第一次輸入命令後,它會放在當前目錄下新建一個testNet目錄來存放資料。
console 進入控制檯
2>> test.log
然後就進入了以太坊客戶端 console 介面。
在 console 裡,你可以通過相關命令來建立賬戶、挖礦、轉賬、檢視區塊高度等。
接著,建立智慧合約:
pragma solidity >=0.4.22 <0.6.0; contract man { uint amount; constructor(uint i) public { amount = i; } function say(uint s) public returns (uint) { amount+= s; return amount; } }
可以在 remix (線上 solidity 編譯器)編譯你的程式碼
選擇編譯器版本,然後編譯,再點選 detail ,彈出詳細資訊,
將文字複製起來,修改其中的變數,from 地址等,然後在 geth console 中輸入,則部署成功
執行合約,發現error
解決方式:
eth.defaultAccount=eth.coinbase;