使用官方的go 版本,的直接安裝,也能夠經過源碼(git clone https://github.com/ethereum/go-ethereum)構建;git
brew tap ethereum/ethereum brew install ethereum
安裝好之後就能夠啓動了,由於是在本地開發因此啓動的時候要加一些自定義啓動參數,來配置一下。github
查看幫助命令web
geth -h
以太坊客戶端啓動:json
geth --datadir "~/ethdev" --dev
指定一個數據存儲目前避免和公有鏈數據衝突,—dev指定爲開發模式這樣就不用同步公有鏈上的區塊,公有鏈的數據量幾十個G太大了,共識速度 也比較慢bash
以上命令啓動成功以後,須要另打一個終端進入登陸併發
geth --dev console 2>> file_to_log_output
進入開發模式的控制檯,並把日誌輸出到 一個文本文件區塊鏈
Last login: Sat Nov 5 09:17:42 on ttys000 localhost:~ pro1$ geth --dev console 2>> file_to_log_output Welcome to the Geth JavaScript console! instance: Geth/v1.4.18-stable-c72f5459/darwin/go1.7.3 coinbase: 0x73e8655a84a37685d98891b7a9333a7423e12cb3 at block: 0 (Thu, 01 Jan 1970 08:00:00 CST) datadir: /var/folders/8z/kp024pxd4j9194b34z_v06_c0000gn/T/ethereum_dev_mode modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 shh:1.0 txpool:1.0 web3:1.0 >
以上是登陸成功的畫面,登陸成功之後能夠查看賬戶信息,當前有哪些賬戶debug
> eth.accounts ["0x73e8655a84a37685d98891b7a9333a7423e12cb3", "0xa9d6dfff13c1050f19a8ffc2811c68842797d01c"] >
我本地建立已經建立了兩個賬戶日誌
再建立一個:code
> personal.newAccount('11111111') "0xe30cecc37776895389b94033ac65eb3b98294659" >
以上經過personal.newAccount 傳入密碼參數便可建立一個新賬戶並返回新的賬戶地址;
新打開一個終端能夠查看本地建立了多少個賬戶:
localhost:~ pro1$ geth account list Account #0: {73e8655a84a37685d98891b7a9333a7423e12cb3} /Users/wangtao/Library/Ethereum/keystore/UTC--2016-11-04T06-48-39.698325708Z--73e8655a84a37685d98891b7a9333a7423e12cb3 Account #1: {a9d6dfff13c1050f19a8ffc2811c68842797d01c} /Users/wangtao/Library/Ethereum/keystore/UTC--2016-11-04T06-49-00.457262369Z--a9d6dfff13c1050f19a8ffc2811c68842797d01c Account #2: {e30cecc37776895389b94033ac65eb3b98294659} /Users/wangtao/Library/Ethereum/keystore/UTC--2016-11-05T01-35-55.852748174Z--e30cecc37776895389b94033ac65eb3b98294659 localhost:~ pro1 $
我本地已經有三個了.
而後再切回已經登陸成功的控制檯客戶端
在以太坊客戶端 能夠把某個賬戶賦值給一個變量
> user1=eth.accounts[0] "0x73e8655a84a37685d98891b7a9333a7423e12cb3" >
而後能夠查看當前賬戶的餘額:
> eth.getBalance(user1) 0 > eth.blockNumber 0 >
能夠查看當前user1的餘額爲0,默認也是0個區塊,由於尚未啓動礦挖礦
如今咱們啓動挖礦,挖礦前咱們先打開實時監控日誌,就是剛纔控制檯輸出的日誌文本文件:
localhost:~ pro1$ geth --dev console 2>> file_to_log_output
這個文件我指定在了個人根目錄下: 打開
tail -f file_to_log_out
啓動挖礦
> miner.start() true >
在上面打開發文件監控界面就會看到 挖礦建塊兒狀況:
再 切回以太坊挖制臺,查看用戶餘額:
> eth.getBalance(user1) 1.25890625e+21 > eth.getBalance(user2) 0 >
已經看到 賬戶1,已經有餘額了,賬戶2 仍是0,由於挖礦的獎勵進入第一個賬戶中。
如今中止挖礦:
> miner.stop() true >
已經中止成功,另外日誌界面也中止輸出
再 查看一下當前的區塊高度:
> eth.blockNumber 288 >
如今賬戶2中沒有餘額,咱們從賬戶1轉發幾個以太幣到 賬戶2中:
> eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")}) account is locked at web3.js:3119:20 at web3.js:6023:15 at web3.js:4995:36 at <anonymous>:1:1 >
因爲默認賬戶是鎖定的,首要解鎖賬戶,而後再 轉賬,先查看 下下當前賬戶,再解鎖:
> eth.accounts ["0x73e8655a84a37685d98891b7a9333a7423e12cb3", "0xa9d6dfff13c1050f19a8ffc2811c68842797d01c", "0xe30cecc37776895389b94033ac65eb3b98294659"] > personal.unlockAccount('0x73e8655a84a37685d98891b7a9333a7423e12cb3','11111111') true >
上面已經提示解鎖成功,而後繼教轉賬:
> eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")}) "0x8f164a1296b618bdd64fcc007f6d39ce022b57e257beefeb76288cdef220ad80" > eth.getBalance(user2) 0 >
上面已經提示轉賬成功了,可是user2賬戶餘額依然是0,是由於沒有礦工來挖礦處理,咱們啓動一個礦工,並在另外一個終端查看日誌
日誌已經顯示開始挖礦併發交易進行了處理在,區塊293中,
> miner.start() true > miner.stop() true > eth.getBalance(user2) 3000000000000000000 >
咱們再 次查看餘額的時候user2已經 有三個以太幣了,這樣一個轉賬的交易就完成 了;
已是在本地開發環境的方式 ,我看網上還有本身初始化環境的。初始化json文件,來改變監聽端口的方式來創建本身的區塊鏈系統,這種方式只是初始化方式不一樣,開發方式相似。有興趣能夠搜索一下看看