區塊鏈2.0以太坊錢包編譯詳解+連線私有鏈+修改

尹成發表於2018-04-30

安裝mist錢包:

方式1:

https://github.com/ethereum/mist

下載對應平臺的mist檔案即可:

方式2:原始碼安裝

使用原始碼安裝就需要下載必備的元件:

Dependencies

Torun mist in development you need:

  • Node.js v7.x (use the prefered installation method for your OS)
  • Meteor javascript app framework
  • Yarn package manager
  • Electron v1.7.11 cross platform desktop app framework
  • Gulp build and automation system

Installthe latter ones via:

curlhttps://install.meteor.com/ | sh

curl -o- -Lhttps://yarnpkg.com/install.sh | bash

yarn global addelectron@1.8.4

yarn global add gulp

上面的方法很顯然都是需要翻牆的

 

安裝完成後,下載mist原始碼:

git clonehttps://github.com/ethereum/mist.git

cd mist

git checkout -b v0.9.2

yarn

 

執行yarn的時候會遇到三個錯誤,錯誤一:

Excluding itfrom installation.
[3/4] Linking dependencies...
warning " > gulp-babel@7.0.1" has unmet peer dependency"babel-core@6 || 7 || ^7.0.0-alpha || ^7.0.0-beta || ^7.0.0-rc".
warning " > gulp-spawn-mocha@3.3.1" has unmet peer dependency"istanbul@^0.4.3".
[4/4] Building fresh packages...
[1/7]
sha3
[2/7]
secp256k1
[3/7]
keccak
[6/7]
electron
error /home/tsinghua-yincheng/mist/node_modules/sha3: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /home/tsinghua-yincheng/mist/node_modules/sha3
Output:
module.js:549
throw err;
^

Error: Cannotfind module '/home/tsinghua-yincheng/.nvm/versions/node/v8.11.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Function.Module.runMain (module.js:693:10)

 

這是由於找不到檔案lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js'

通過檢視檔案發現node-gyp 模組在

node_modules/npm/node_modules/lifecircle/node_modules檔案中,所以執行了拷貝操作:

 sudo cp -rf node-gyp/ ./../../

 

錯誤二:

提示預設的許可權不夠,但是yarn前面又不能加上sudo,解決的辦法是首先使用

sudosu

提升許可權

錯誤三:

必須使用代理翻牆。

 

如果想在未來更新mist:

cd mist

git pull

yarn

 

啟動 Mist,連線到 Geth

  新開一個視窗,用以下命令執行 Mist 的後臺程式:

 

cd interface

meteor--no-release-check

第一次執行會慢一些,會啟動proxy、MongoDB等程式,同時下載一些依賴元件

開啟私有鏈

首先需要開啟私有鏈,關於搭建私有鏈:

 

新建一個檔案:

 

cd進入:

geth --networkid 123 --dev--datadir data3 --rpc --rpcaddr 192.168.1.6 --rpcport 8989 --port 3000

這時專案下出現了data1。

我們啟用以太坊私有鏈以後,在 private 目錄上會建立私有鏈的一些資料,裡面有一個 geth.ipc 檔案。

新開一個視窗,在mist目錄下執行以下命令, Mist 連線我們用 Geth 啟動的私有鏈:注意替換為自己的路徑

yarn dev:electron --rpc/Users/桌面/private/data/geth.ipc

如果在另一臺機器是使用RPC方式執行,也可以使用下面的方法連線到 Geth:

yarn dev:electron --rpchttp://localhost:8545

 

              執行完以後,會開啟一個比較像App的網頁,如下圖:

 

新建一個賬戶,選擇我們建立的賬戶:

合約程式碼:

部署:

 

部署後在geth控制檯執行挖礦:

miner.start();

miner.stop();

合約確認:

 

通過創世區塊的方式建立

新建一個檔案genesis.json,

輸入創世區塊資訊:

 

{
"
config": {
"
chainId": 15,
"
homesteadBlock": 0,
"
eip155Block": 0,
"
eip158Block": 0
},
"
difficulty": "4",
"
gasLimit": "2100000",
"
alloc": {
"
7df9a875a174b3bc565e6424a0050ebc1b2d1d82":{
"
balance": "300000"
},
"
f41c74c9ae680c1aa78f42e5647a62f353b7bdde":{
"
balance": "400000"
}
}
}

初始化:

geth init genesis.json--datadir data6

 

這是目錄下產生了data6資料夾:

開啟終端:

geth --networkid 123 --datadir data6 console

查詢:

eth.getBalance("7df9a875a174b3bc565e6424a0050ebc1b2d1d82")

設定挖礦賬戶:

miner.setEtherbase("7df9a875a174b3bc565e6424a0050ebc1b2d1d82")

開始挖礦:

miner.start()

 

在原來的視窗中執行以下命令,用 Mist 連線我們用 Geth 啟動的私有鏈:注意替換為自己的路徑

yarn dev:electron --rpc/Users/桌面/private/data/geth.ipc

如果在另一臺機器是使用RPC方式執行,也可以使用下面的方法連線到 Geth:

yarn dev:electron --rpchttp://localhost:8545

 


網址:http://www.qukuailianxueyuan.io/



欲領取造幣技術與全套虛擬機器資料

區塊鏈技術交流QQ群:756146052  備註:CSDN

尹成學院微信:備註:CSDN


相關文章