以太坊-搭建私有鏈(Mac、Windows雙節(jié)點)

網上雖然有很多資料了马僻,但本文僅是作為學習筆記录语,況且自己也要敲一遍倍啥,就記錄自己在學習路上的點點滴滴吧。钦无。逗栽。

下載錢包

點擊鏈接,找到對應的錢包文件失暂,Mac就選Ethereum-Wallet-macosx-0-11-1.dmg,這是官方的,不用考慮安全問題了鳄虱,下載安裝即可弟塞。

創(chuàng)世區(qū)塊文件

創(chuàng)建一個json文件,內容如下:

{
    "nonce": "0x0000000000000042",     
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "0x00",     
    "gasLimit": "0x8000000",     
    "difficulty": "0x400",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "coinbase": "0x3333333333333333333333333333333333333333",     
    "alloc": {
     },
     "config": {
        "chainId": 666,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    }
}
參數(shù) 描述
nonce 64位隨機數(shù)
timestamp 時間戳
parentHash 上一個區(qū)塊的hash值拙已,創(chuàng)世區(qū)塊就是第一個决记,所以是0
extraData 附加信息,我把它理解成備注
gasLimit 代表用戶愿意花費在gas上的錢的最大值倍踪,并不是實際值系宫,這個在以前的文章有寫過
difficulty 難度值,代表挖礦的難度
mixhash 與隨機數(shù)nonce一起用于挖礦建车,具體參見“PoW(工作量證明)”
coinbase 礦工的賬號扩借,代表這個區(qū)塊是哪個礦工挖出來的
alloc 用來預置賬號以及賬號的以太幣數(shù)量
chainId 鏈的ID,networkid 參數(shù)需要與 chainId 的值一致缤至,可用來防止replay attack重發(fā)攻擊:惡意重復或拖延正確數(shù)據傳輸?shù)囊环N網絡攻擊手段
homesteadBlock Homestead 硬分叉區(qū)塊高度
eip155Block EIP 155 硬分叉高度
eip158Block EIP 158 硬分叉高度
  • Homestead是以太坊發(fā)展藍圖中的一個階段潮罪。第一階段是以太坊區(qū)塊鏈面世,代號為frontier,第二個階段即為當前階段嫉到,代號為Homestead(家園)沃暗,第三階段為Metropolis(大都會),大都會又細分為兩個小階段何恶,第一個是Byzantium(拜占庭)硬分叉(引入新型零知識證明算法以及pos權益證明共識算法)孽锥,第二個是Constantinople(君士坦丁堡)硬分叉(以太坊正式應用pow和pos混合鏈,解決拜占庭引發(fā)的問題)细层。最后一個階段代號Serenity(寧靜)惜辑,最終版本的以太坊穩(wěn)定運行。
  • EIPs(Ethereum Improvement Proposals)今艺,是以太坊更新改善的一些方案韵丑,對應后面的數(shù)字就是以太坊github源碼issue的編號,其中EIP155主要內容是讓不同的鏈定義不同的chainId, 防止同一筆交易在不同的共有鏈上進行兩次交易虚缎,防止重放攻擊

初始化創(chuàng)世區(qū)塊

geth --datadir "/Users/apple/Desktop/ETH/" init Genesis.json
其中--datadir是指定數(shù)據存放的目錄撵彻,/Users/apple/Desktop/ETH/是我電腦上json文件的路徑,Genesis.json是上一步的創(chuàng)世區(qū)塊文件名

啟動私有鏈

geth --datadir "/Users/apple/Desktop/ETH/" --networkid 666 --identity "node" --port 30303 --rpc --rpcport 8545 --rpcapi "db,eth,eth,net,web3,admin" --rpccorsdomain "*" --nodiscover --verbosity 4 console

參數(shù) 描述
networkid 與Genesis.json中的chainId一致
identity 設置節(jié)點ID
port 節(jié)點端口实牡,默認是30303
rpc 啟用 rpc 服務
rpcport rpc 服務端口陌僵,默認是8545
rpcapi rpc的api
rpccorsdomain “*”是允許通過任意域名訪問,相當于域名白名單
nodiscover 關閉節(jié)點自動發(fā)現(xiàn)
verbosity 日志等級:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (默認是3)
console 進入控制臺

如果設置的是默認值的話可以省略參數(shù)创坞,啟動成功會進入控制臺碗短,在控制臺下可以使用eth.getBlock(區(qū)塊號)查看區(qū)塊信息等命令,以后可以通過geth console命令再次進入控制臺题涨,這里也有個坑偎谁,默認用geth console命令進入的是第一步我們安裝的以太坊錢包的控制臺,如果需要進入我們剛才創(chuàng)建的控制臺需要使用geth --datadir "/Users/apple/Desktop/ETH/" console

創(chuàng)建賬號

personal.newAccount("Steven")創(chuàng)建的賬號密碼為Steven

查看信息

eth.accounts查看賬號
eth.getBalance(eth.accounts[0])查看第0個賬戶的余額纲堵,可以將eth.accounts[0]進行傳值調用
eth.blockNumber查看當前區(qū)塊總數(shù)
eth.getBlock(6)通過區(qū)塊號查看區(qū)塊
eth.getTransaction("0xdc9d03b5f8798b4c29648fafb26b9bc0d03f141c876a182a6e4c32bfac64911d")通過哈希值來查看交易巡雨,沒有交易會返回null
net.listening查看是否在監(jiān)聽
net.peerCount查看peer數(shù)量
admin.peers查看peer信息
admin.nodeInfo查看自己的網絡信息

發(fā)送交易

personal.unlockAccount(eth.accounts[0])發(fā)送交易前要先解鎖,解鎖一段時間后也會自動再鎖上
eth.sendTransaction({from:address1,to:address2,value:amount})address1給address2發(fā)送amount個以太坊

挖礦

miner.start() 開始挖礦
miner.stop() 停止挖礦
miner.setEtherbase(eth.accounts[1])指定挖礦的獎勵給哪個賬戶席函,默認給第0個
miner.start(1);admin.sleepBlocks(1);miner.stop();挖出一個區(qū)塊就停止挖礦

添加節(jié)點

admin.addPeer("enode://key@ip:port")添加靜態(tài)節(jié)點可加快同步速度铐望,key/ip/port需要替換

還有個小坑不知道該怎么寫,網上也有解決辦法茂附,我記錄在另一篇文章里了正蛙。今天就到這,接下來開始智能合約了营曼。


上面是Mac節(jié)點乒验,現(xiàn)在更新下Windows節(jié)點(Win10的虛擬機)

下載錢包

點擊鏈接,找到對應的錢包文件溶推,這里我選的是Mist-win64-0-11-1.zip,這是官方的徊件,不用考慮安全問題了奸攻,下載點擊Mist.exe安裝即可。

為了方便使用geth虱痕,將其加入環(huán)境變量中

我的電腦右鍵屬性-左側高級系統(tǒng)設置-環(huán)境變量-Path-新建將geth的路徑粘貼進去睹耐,由于用戶不同,路徑不一樣部翘,我的是C:\Users\steven\AppData\Roaming\Mist\binaries\Geth\unpacked

復制json文件-初始化創(chuàng)世區(qū)塊-啟動私有鏈(cd到該路徑下執(zhí)行geth --datadir "./" console)-添加節(jié)點

同mac硝训,注意替換路徑即可,添加節(jié)點成功會返回true,然后會自動同步數(shù)據新思,通過查詢窖梁,區(qū)塊數(shù)量一樣,這樣就創(chuàng)建了兩個節(jié)點的私鏈了,在兩個節(jié)點上創(chuàng)建賬號夹囚,挖礦纵刘,發(fā)送交易也都沒問題,相互會自動同步荸哟,就是虛擬機上挖礦比較慢假哎。


再次更新:由于終端的geth和客戶端的geth并不是一個,所以在終端用的沒問題鞍历,打開客戶端就連到主鏈上去了舵抹,走了很多彎路就不說了,直接說解決方法(Mac):
通過命令"/Applications/Ethereum Wallet.app/Contents/MacOS/Ethereum Wallet" --rpc /Users/apple/Desktop/ETH/geth.ipc啟動客戶端即可劣砍,需要注意我 裝的是Ethereum Wallet惧蛹,不是Mist其中/Users/apple/Desktop/ETH/geth.ipc這個是前文中我寫的私鏈的路徑,放個截圖慶祝一下:

Windows:
Mist-win64-0-11-1\Mist.exe --rpc \\.\pipe\geth.ipc路徑終端會顯示刑枝, 只有一個路徑是geth.ipc

版權聲明:本文為 Crazy Steven 原創(chuàng)出品香嗓,歡迎轉載,轉載時請注明出處!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末装畅,一起剝皮案震驚了整個濱河市陶缺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洁灵,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掺出,死亡現(xiàn)場離奇詭異徽千,居然都是意外死亡,警方通過查閱死者的電腦和手機汤锨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門双抽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闲礼,你說我怎么就攤上這事牍汹☆砦” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵慎菲,是天一觀的道長嫁蛇。 經常有香客問我,道長露该,這世上最難降的妖魔是什么睬棚? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮解幼,結果婚禮上抑党,老公的妹妹穿的比我還像新娘。我一直安慰自己撵摆,他們只是感情好底靠,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著特铝,像睡著了一般暑中。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上苟呐,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天痒芝,我揣著相機與錄音,去河邊找鬼牵素。 笑死严衬,一個胖子當著我的面吹牛,可吹牛的內容都是我干的笆呆。 我是一名探鬼主播请琳,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赠幕!你這毒婦竟也來了俄精?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤榕堰,失蹤者是張志新(化名)和其女友劉穎竖慧,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逆屡,經...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡圾旨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了魏蔗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砍的。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖莺治,靈堂內的尸體忽然破棺而出廓鞠,到底是詐尸還是另有隱情帚稠,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布床佳,位于F島的核電站滋早,受9級特大地震影響,放射性物質發(fā)生泄漏夕土。R本人自食惡果不足惜馆衔,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怨绣。 院中可真熱鬧角溃,春花似錦、人聲如沸篮撑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赢笨。三九已至未蝌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茧妒,已是汗流浹背萧吠。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留桐筏,地道東北人纸型。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像梅忌,于是被迫代替她去往敵國和親狰腌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容

  • 雖然以太坊是一個公有鏈系統(tǒng)牧氮,但是我們可以通過設置一些參數(shù)來運行自己的私有鏈節(jié)點琼腔,在自己的私有鏈上進行開發(fā)和測試不需...
    duanyu閱讀 6,853評論 2 26
  • 1.前言 以太坊作為區(qū)塊鏈技術應用的龍頭,需要對該項目深入的學習踱葛,才好在工作中更好的使用區(qū)塊鏈來解決實際的問題丹莲。 ...
    zerowood閱讀 840評論 0 1
  • 【讀經】 撒上24章 【金句】 跟隨的人對大衛(wèi)說:“耶和華曾應許你說:‘我要將你的仇敵交在你手里,你可以任意待他尸诽。...
    chanor閱讀 187評論 0 0
  • 1去六旗玩一次 2去蹦極or跳傘 3完成考試 4按順序看完漫威圾笨、以及收藏的歐美電影、和紀錄片逊谋,結合筆記! 5每周看...
    Yina_af26閱讀 199評論 1 0
  • 2017年4月1日 星期六 農歷三月初五 晴 愚人節(jié)要上班土铺,這可真夠愚弄人的胶滋,可是板鬓,事實就是如此…不過想來,中國哪...
    朱砂紅塵閱讀 686評論 0 1