geth --datadir /usr/install/geth/db/dev/ --dev console 2>>/usr/install/geth/log/dev/output.log執行命令後,進入geth控制台,像這樣:
引數說明:
--dev 啟用開發者網路(模式),開發者網路會使用poa共識,預設預分配乙個開發者賬戶並且會自動開啟挖礦。
--datadir 後面的引數是區塊資料及秘鑰存放目錄。
console 進入控制台
2>> output.log 表示把控制台日誌輸出到output.log檔案
為了方便檢視日誌,我們另起乙個終端檢視geth輸出的日誌資訊
檢視私鏈中當前存在的賬戶:
eth.accounts這裡是由於我之前建立過賬戶,所以有兩個賬戶。personal.listaccounts
檢視賬戶中的餘額:
eth.getbalance(eth.accounts[0])accounts[0]表示檢視第乙個賬戶即開發者賬戶的餘額。可以看到擁有大量的餘額。
開發者賬戶因餘額太多,如果用這個賬戶來部署合約時會無法看到餘額變化,為了更好的體驗完整的過程,這裡選擇建立乙個新的賬戶。
personal.newaccount("123456為新賬戶的密碼,回車後,返回乙個新賬戶。123456
")
檢視鏈上的賬戶數,可以看到賬戶陣列包含了3個賬戶,新賬戶在第三個(索引為2)位置。
現在檢視新賬戶的新餘額,可以發現是0.
沒有餘額的賬戶是沒法部署合約的,那我們就從開發者賬戶轉99以太幣給新賬戶。
eth.sendtransaction()我這裡轉了兩次,可以看到現在新賬戶有198個以太幣了。
web3.towei(99,"ether"),這個是geth提供的單位轉換工具,1ether = 10^18 wei,轉賬時的單位是wei
在部署合約(需要花費以太幣)前需要先解鎖賬戶(就像銀行轉賬要輸入密碼一樣),使用以下命令:
personal.unlockaccount(eth.accounts[2],"如果不解鎖,則無法進行轉賬等交易,解鎖後則可以進行交易。123456
")
這裡我們用新賬戶給開發者賬戶轉了98個以太幣,在轉賬的過程中消耗了gas,因此轉換後新賬戶的餘額並不是100以太幣。
開啟:
編寫第乙個智慧型合約,solidity**如下:
pragma solidity ^0.4.21;點選右側下拉框,選擇乙個編輯器版本,等待編輯器版本載入完成後,點選start to compile,開始編譯contract hello
function
say() constant public returns (string)
}
編譯完成後,點選details,找到web3deploy部分,點拷貝。
修改第一行初始化資料為: var _greeting = "hello world" ,將_greeting賦值為自己的值
修改第六行資料為:from: web3.eth.accounts[2],預設的第一賬戶,我們改為第三個賬戶(剛剛新建的賬戶)
var _greeting = "hello world";拷貝會geth控制台裡,回車後,看到輸出,說明合約已經部署成功。,var hellocontract = web3.eth.contract(,"payable":false,"statemutability":"view","type":"function"},],"payable":false,"statemutability":"nonpayable","type":"constructor"}]);
var hello = hellocontract.new
( _greeting,
, function
(e, contract)
})
這裡我們可以看到在部署合約之前,新賬戶是99個以太幣,在合約部署之後,以太幣減少了。
hello.say()我們會看到輸出的內容就是我們之前定義的_greeting的值
參考文章:
以太坊私鏈搭建
搭建私有鏈官方文件 network id 隔離網路 ethereum options networkid value network identifier integer,1 frontier,2 morden disused 3 ropsten,4 rinkeby default 1 networ...
搭建一條以太坊私鏈
建立乙個json檔案,放到你想要放的位置,內容如下 difficulty 200000000 gaslimit 2100000 alloc f41c74c9ae680c1aa78f42e5647a62f353b7bdde 我在這裡建立了乙個叫test genesis.json的檔案,內容就是上面的 ...
以太坊區塊鏈開發 私鏈
1.首先檢視我們兩個私鏈錢包的以太坊wei餘額,後續我們寫轉賬到區塊鏈位址 2.然後我們啟動私鏈 geth identity secbro etherum rpc rpccorsdomain datadir 私鏈資料資料夾絕對路徑 port 30303 rpcapi db,eth,net,web3 ...