DigiCurrency 板


LINE

圖文版:http://bit.ly/2MwWY7G Line@:https://line.me/R/ti/p/%40mibinews *非常建議各位閱讀圖文版,純文字很難懂... 大家也許還對節點如何挖礦運作、如何執行交易…等等,感到難以理解。身體力行也許是可以讓人最快理解的方式,就讓我們來試著建立一個私人以太坊,更進一步了解這個生態圈的運作方式 看完這篇文章你可以了解到以下幾點: 1) 如何建立一個私人的以太坊(建立於AWS linux) 2) 如何用挖礦賺取回報 3) 帳號之間如何進行匯款交易 *了解以上項目只需要花你15分鐘的時間* 第一步:登入 AWS 帳號,並啟動一台EC2 主機 重點1:選擇Ubuntu OS 作為安裝的 linux 版本 重點2:Instance Type 選擇至少 t2.medium 以上規格(相關文章指出此規格以上比較能讓以太坊正常運作,在這裡先不討論主機規格會對節點造成的影響) 重點3:設置正確的TCP port (節點之間預設互相Peering 的Port 是 30303,故要設定一port range 或單一port 皆可) 重點4:儲存好 key pair 並 launch instance 第二步:安裝以太坊節點 重點1:開啟你電腦裡的Terminal 軟體(中文是"終端機")並使用上一步驟產生的key pair 登入aws 主機(本登入步驟只適用Mac 使用者,如果你是Windows 使用者,建議使用PuTTY 軟體) 使用Terminal 進入存放key pair 的指令可用: cd 以我自己為例:cd /Users/ryanhu/Documents/Ethereum 重點2:安裝節點所需的相關軟體 輸入以下 4個指令 *此處安裝的是PPA(Personal Package Archive) 版本以太坊節點。有開發測試所需要的軟體,且預設不會與整個以太坊同步,可大大降低安裝時間* $ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa:ethereum/ethereum $ sudo apt-get update $ sudo apt-get install ethereum 輸入以下指令以產生一 Genesis.json 檔案(此檔案用於初始化節點) $ sudo vim Genesis.json 複製貼上下方json 文字於 Genesis.json 裡並存檔(相關設定參數暫不討論,會再另起文章詳細說明,此時只需先記住此節點 chainId 設定是 885(你可變更為任意數字)) *複製好json 文字後可用 :i 指令(分號+i+enter)讓vim 模式變成編輯模式,此時再用ctrl + v 即可貼上* *貼上後再用:wq 指令(分號+w+q+enter)存檔並離開vim 編輯模式* { "config": { "chainId": 885, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "nonce": "0x0000000000000042", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "difficulty": "0x200", "alloc": {}, "coinbase": "0x0000000000000000000000000000000000000000", "timestamp": "0x00", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0xffffffff", "alloc": { } } 使用geth 指令及 Genesis.json 檔案,開始初始化節點 $ sudo geth init Genesis.json 第三步:開始測試節點 重點1:進入geth console 模式 如果此時你不是管理者身份,無法使用指令,會出現permission denied 的錯誤訊息,所以請先用以下指令切換成管理者身份 $ sudo -s 用geth console 指令進入節點的指令模式。nodiscover 表示不搜尋其它節點與不與其它節點溝通 $ geth --nodiscover console 重點2:替此節點新增第一個帳號 > personal.newAccount() 輸入此指令後,會被要求替此帳號設定密碼。密碼設定完成後,即會產生第一組的public address,也就是所謂的創始帳號 用此指令查看一下第一組address 裡有多少ether > web3.fromWei(eth.getBalance(eth.accounts[0]), "ether") 雖然一開始創始帳號裡是沒有錢的,但是我們仍然還是有2種方式可以讓此帳號裡有ether: 在設定Genesis.json 時,指定一筆金額給創始帳號(之後的文章會詳細解說) 自己挖礦(本教學的其中一個目的,故我們一開始先不給創始帳號任何ether) 重點3:開始挖礦啦! 為了讓挖礦過程中的每個步驟都一目了然,我們先用以下指令離開指令模式 > exit 然後使用以下指令重新進入指令模式。此指令的用意在於讓geth 的每一步驟都輸出到 process.log 這個檔案裡 $ geth --nodiscover console 2>> process.log 這時侯再請打開另一個Terminal 視窗,然後同樣登入此aws instance,並輸入以下指令。此指令可讓你隨時查看最新的log $ tail -f process.log 於指令視窗輸入以下指令,開始挖礦! > miner.start() 此時可於log 視窗看出正在為創世區塊產生DAG(Directed Acyclic Graph 演算法,也就是以太坊目前所使用的按術) 等待幾分鐘後,節點就會開始進行挖礦 經過幾分鐘的挖礦,一但有區塊被挖取完畢,此時用指令再次查看帳號餘額會發現已經有ether 在內 挖礦測試完畢。此時可用以下指令讓節點停止挖礦 > miner.stop() 第四步:新增另一個節點,用於測試帳號之間的交易 重點1:重覆以上的第一步(登入 AWS 帳號,並啟動一台EC2 主機)及第二步(安裝以太坊節點) *於第二步安裝節點時,Genesis.json 裡的 chain id 仍需指定為885。故於此教學,直接複製第一個節點的Genesis.json 的內容即可* 重點2:也在第2個節點裡創立一個新的帳號 重點3:讓此2節點互相關聯 (Peering) 可以分別在兩個節點視窗輸入以下指令,查看目前有哪些節點與自己Peering > admin.peers 可以看得出來2個節點的結果均顯示為空,沒有任何的節點與之相關聯 開始關聯2個節點 用以下指令在 “第1個節點” 取得節點資料 > admin.nodeInfo.enode *enode 指的就是 Ethereum node* 以我的例子來說,第1個節點的資料長這樣 “enode://ddbae8da7bbcc5002341e919d05a88707dc15ea13ed5638c1297d8c6f744bb2232f7e0900833f0f2646ee7a97db011af83e8df3203fadec550779813dcb3a102@[::]:30303?discport=0” 此時請打開 “第2個節點” 的視窗,並依照你自己的節點資料,輸入如下指令 > admin.addPeer("enode://ddbae8da7bbcc5002341e919d05a88707dc15ea13ed5638c1297d8c6f744bb2232f7e0900833f0f2646ee7a97db011af83e8df3203fadec550779813dcb3a102@123.456.789.888:30303?discport=0") *把[::] 換成第1個節點的IP,port 用 30303。此處範例我的IP是123.456.789.888* *此指令的用意,是要告訴第2個節點讓它去Peering 第1個節點* *可以在aws instance 的頁面找到第1個節點的IP* 此時再分別去2個節點視窗輸入以下指令,可以看出目前2個節點已互相關聯(只需要作1次,讓Node 2 peering Node 1 即可) > admin.peers 重點4:開始讓2個節點互相轉帳吧 目前只有第1個節點有ether 所以我們先打開節點1 的視窗,然後再次輸入以下指令確認一下ether 金額 > web3.fromWei(eth.getBalance(eth.coinbase), "ether") 輸入以下指令解鎖創始帳號 (需先輸入密碼解鎖帳號,否則無法轉帳) > personal.unlockAccount(eth.coinbase) 輸入以下指令讓Node 1 的創始帳號轉帳400 ether 給Node 2 的創始帳號 (請更換成你自己Node 2的創始帳號) > eth.sendTransaction({from: eth.coinbase, to: "0x504008e1d457B7DAa4F247F51e7Bcc1F209E017e", value: web3.toWei(400, "ether")}) 忘了自己Node 2的創始帳號是什麼嗎?進到節點2 後,可以輸入以下指令查詢 > eth.coinbase 還記得我們剛才有開了個可以監看所有步驟的log 視窗嗎?打開它,你可以看到轉帳的指令有確實送出 但此時仍然尚未轉帳成功,可以到節點2 去查看ether 餘額,仍然是為0 為什麼呢?因為目前2個節點都沒有啟動礦工挖礦,所以交易轉帳不會被確認,節點2 自然也就收不到應該有的ether 再次用以下指令讓節點開始挖礦吧(此時不論用節點1 或節點2 啟動挖礦都能夠確認完成交易,但為了證明ether 是由節點1 轉帳過去,故我們仍然是由節點1 來進行挖礦) > miner.start() 過一點時間後 (我大概等不到30秒) 再去查看節點2 的餘額 有!錢!了! 以上就是本次的教學文章,有任何問題歡迎提出批評指教,也請持續支持關注密幣電報 :) Line@:https://line.me/R/ti/p/%40mibinews --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.20.181
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DigiCurrency/M.1535101336.A.8CE.html ※ 編輯: dodoshan (1.160.20.181), 08/24/2018 17:05:18
1F:推 DarkerDuck: 推~~ 08/24 17:06
2F:推 Fice: 推 08/24 17:06
3F:→ DarkerDuck: 不過你圖文版連結有問題 08/24 17:06
※ 編輯: dodoshan (1.160.20.181), 08/24/2018 17:07:31 ※ 編輯: dodoshan (1.160.20.181), 08/24/2018 17:11:16
4F:→ dodoshan: 感謝版大~已經修正好了,原文標題過長哈哈 08/24 17:12
5F:→ DarkerDuck: 本版也歡迎優文放BTC,ETH等加密貨幣打賞地址 08/24 17:13
6F:推 love010431: 推 08/24 18:49
7F:推 kvnjung: 推! 08/24 19:10
8F:推 Lun0103: 推 08/24 19:20
9F:推 Allen0835690: 推推 08/24 19:20
10F:推 aabb927: 推 08/24 19:58
11F:推 justben: 推~ 08/24 20:33
12F:推 now99: 推~ 08/24 20:47
13F:推 justinoqo: 推 08/24 21:28
14F:推 kugwa: 狂耶 私下測試網路懶人包 08/24 21:44
15F:推 ketao: 推 這真的要看圖文 08/24 23:27
16F:推 j0hcehqf: 進階模擬如何高gas引誘礦工優先處理進行ddos 08/25 03:53







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP