以太坊私有網路叢集搭建
一、安裝geth客戶端
geth是以太坊的官方客戶端,它是一個命令列工具,提供很多命令和選項,可以執行以太坊節點、建立和管理賬戶、傳送交易、挖礦、部署智慧合約等。
geth客戶端可使用三種方法進行安裝:
- 原始碼編譯安裝
- 直接下載可執行檔案
一、原始碼編譯安裝
在前面Go語言學習筆記章節中詳細介紹了Go語言開發環境的搭建,搭建好Go語言開發環境之後,我使用的是ubuntu系統搭建,通過
沒有安裝git的需要先安裝git,Ubuntu下使用sudo apt-get install git安裝。
下載以太坊原始碼,原始碼需要放在之前Go語言開發環境設定的$GOPATH/src目錄下。
cd go-ethereum
make geth
make會執行build目錄下的編譯指令碼,會在** go-ethereum/build/bin**目錄下編譯生成geth程式。
二、直接下載可執行檔案
直接只用命令:
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
或者去官網或國內映象下載適合你係統版本的壓縮包,解壓縮後直接執行就可以。
二、搭建私有鏈
一、私有網路初始化啟動
如果不加任何引數直接執行 geth ,會自動連線到以太坊公網,此時會開始同步區塊,在Linux系統中,區塊資料預設儲存在~/.ethereum中。
在以太坊的共有鏈上部署智慧合約、發起交易需要花費以太幣。而通過修改配置,可以在本機搭建一套以太坊私有鏈,因為與公有鏈沒關係,既不用同步公有鏈龐大的資料,也不用花錢購買以太幣,很好地滿足了智慧合約開發和測試的要求,開發好的智慧合約也可以很容易地切換介面部署到以太坊公有鏈上。
下面開始建立私有以太坊網路:
mkdir private-geth
cd private-geth
建立創世紀區塊檔案,是一個json格式的檔案:
在創世紀區塊的json檔案中填入以下內容, 並儲存:
{ "config": { "chainId": 15, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x40000", "extraData" : "", "gasLimit" : "0xffffffff", "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00", "alloc": { } }
初始化創世紀節點,並設定data目錄:
geth --datadir ./data init genesis.json
創世紀節點檔案引數說明:
alloc:用來預設定賬號以及賬號的 ether 數量。因為私有鏈挖礦比較容易,所以我們不需要預設定賬號。比如,{“0x880004bb64282fb01a3a2500ddf1f4bb5ad4b64a”:{“balance”:“100000000000000000000000000000”}}
nonce:一個64位隨機數,用於挖礦。
mixhash:和 nonce 配合用於挖礦,由上一個區塊的一部分生成的 hash。
difficulty:設定當前區塊的難度,如果難度過大,cpu挖礦就很難,所以這邊設定的很小,不要跟自己過不去嘛。
coinbase:預設挖礦的礦工賬號。
timestamp:設定創世塊的時間戳。
parentHash:上一個區塊的hash值,因為是創世塊,所以值是0。
extraData:附加資訊,隨便填。
gasLimit:設定對GAS的消耗總量限制,用來限制區塊能包含的交易資訊總和。因為我們是私有鏈,所以可以寫的大一些,方便開發測試。
初始化後目錄結構為:
其中keystore目錄用來儲存賬戶資訊,geth目錄用來儲存區塊資訊。
啟動節點, 加上console 表示啟動後,啟用命令列:
geth --datadir ./data/00 --networkid 15 console
networkid表示網路id,主網路為1
現在私有網路就搭建成功,下面就可以在這個剛剛搭建出來的私有以太坊網路中執行挖礦操作了。
二、挖礦
挖礦首先必須有一個賬戶,輸入下面的命令,檢視當前node中的所有賬戶:
# 檢視一下系統有的使用者
> eth.accounts
[]
# 檢視詳細的使用者資訊
> personal
# 建立兩個賬號用於轉賬,或者使用 personal.newAccount() 也會提示輸入密碼
> personal.newAccount('123456')
> personal.newAccount('123456')
> eth.accounts
["0x18a6581a285f40ac3faaa646e13d7c6dd87276f4", "0x2455572ef500cf8634a4090d6d6096c588013e2a"]
# 此時可以看下 keystore 目錄,多出了兩個檔案,也就是我們剛才建立的兩個賬戶金鑰(丟了它,你就等於丟了幣)
賬號建立好了,但是一開始賬號都沒有 ether,這時就需要挖礦獲取幣了。
使用miner.start()命令開啟挖礦,預設挖出的 ether 是存到 eth.coinbase 賬戶中的,也就是第一個賬戶。
# 檢視賬號1下的餘額
> eth.getBalance(eth.accounts[0])
# 檢視coinbase賬號
> eth.coinbase
0x18a6581a285f40ac3faaa646e13d7c6dd87276f4
# 如果想要把挖到的礦存入其他賬戶,可以使用
> miner.setEtherbase(eth.accounts[1])
true
開始挖礦,我們先把coinbase改成賬號1
> miner.setEtherbase(eth.accounts[0])
true
# 如果出現 miner.start() 直接返回 null 的情況,請先檢視是否還未建立過賬戶。
> miner.start(1)
INFO [05-31|19:57:17] Updated mining threads threads=0
INFO [05-31|19:57:17] Transaction pool price threshold updated price=18000000000
INFO [05-31|19:57:17] Starting mining operation
INFO [05-31|19:57:17] Commit new mining work number=12 txs=0 uncles=0 elapsed=194.667µs
INFO [05-31|19:57:19] Successfully sealed new block number=12 hash=82d29d…65290c
INFO [05-31|19:57:19] mined potential block number=12 hash=82d29d…65290c
INFO [05-31|19:57:19] Commit new mining work number=13 txs=0 uncles=0 elapsed=159.066µs
INFO [05-31|19:57:19] Successfully sealed new block number=13 hash=e91844…e962a6
INFO [05-31|19:57:19] mined potential block number=13 hash=e91844…e962a6
等到 percentage 達到100就能挖出來了,請耐心等待~,出現小錘頭的時候意味著你挖到了!
# 已經挖到了,我們先暫停挖礦,注意:輸入的字元會被挖礦刷屏資訊沖掉,沒有關係,只要輸入完整的miner.stop()之後回車,即可停止挖礦。正在執行的挖礦程序不會立即暫停,仍然會等到當前完整快寫完後才會暫停
> miner.stop()
true
然後檢視賬戶餘額
> eth.getBalance(eth.accounts[0])
112000000000000000000
# 不要被這個零的個數嚇到,這裡預設顯示的以 wei 為單位的,而 1 ether = 10^18 wei,所以我們轉換一下單位立馬就清晰了,
> web3.fromWei(eth.getBalance(eth.accounts[0]), 'ether')
112
# 嗯,其實我們目前就挖了112個ether
三、轉賬
在轉賬前,我們需要先解鎖賬號
> personal.unlockAccount(eth.accounts[0])
# 我們先轉8個ether給賬號2
> eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],value:web3.toWei(8,'ether')})
INFO [03-12|20:24:15] Submitted transaction fullhash=0x996a3037b75585415ece5b1dc28181833691760176b3f24066c93e7093a967e5 recipient=0x29a079BdbC6D4d122178FBe01558E5DF2D008523
我們可以看到目前只是向區塊鏈提交了這筆轉賬交易,誰來執行這筆交易呢?礦工。我們還是得開啟挖礦模式,把這筆轉賬交易執行掉。然後我們再來看看好朋友的賬戶裡面有多少 ether 了,
> miner.start(1)
# 持續幾秒
> miner.stop()
# 然後檢視賬號2的餘額,已經有餘額
> eth.getBalance(eth.accounts[1])
8000000000000000000
四、連線到其他節點
以太坊節點之間能夠互相連結需要滿足兩個條件:
- (1)相同的協議版本;
- (2)相同的networkid,所以搭建私有網路最方便的方法就是通過geth命令中的–networkid選項,設定一個與主網不同的networkid(主網的networkid為1),這也是官方推薦的方法。
為了在本地網路執行多個以太坊節點的例項,必須確保一下幾點:
- 每個例項都有獨立的資料目錄(–datadir)
- 每個例項執行都有獨立的埠.(eth和rpc兩者都是)(–port 和 --rpcprot)
- 在叢集的情況下, 例項之間都必須要知道彼此.
- 唯一的ipc通訊端點,或者禁用ipc.
節點之間相互連線有三種辦法:
- 使用admin.addPeer新增;
- 通過bootnodes選項;
- 通過static-nodes.json檔案新增。
一、通過admin.addPeer新增
首先在節點一上檢視enode資訊:
admin.nodeInfo
enode: “enode://5b3b7c5d65a4cf3e65875b15cd14a1abdc30f94931e67e68bf606941cc1630624[email protected][::]:61910”,
然後在節點二上執行admin.addPeer新增節點一:
admine.addPeer(“enode://5b3b7c5d65a4cf3e65875b15cd14a1abdc30f94931e67e68bf606941cc1630624[email protected][::]:61910”)
true
返回true就說明執行成功,我們可以通過admin.peers檢視新增的節點資訊,同步操作是非同步的,可能不能立馬看到節點一的資訊。
連線成功後,兩個節點都可以通過admine.peers檢視到對方的節點資訊,節點二就會開始同步節點一的區塊,同步完成後,任意一個節點開始挖礦,另一個節點會自動同步區塊,向任意一個節點發送交易,另一個節點也會收到該筆交易。
二、通過bootnodes 新增
啟動節點的時候指定–bootnodes選項連線到其他節點。
可以先啟動一個節點,通過admin.nodeInfo檢視 enode資訊,其他節點啟動的時候新增配置 --bootnodes “enode://5b3b7c5d65a4cf3e65875b15cd14a1abdc30f94931e67e68bf606941cc1630624[email protected][::]:61910” 可以都和這個節點形成連線,從而相互之間相互連線。
如節點一啟動:
geth --datadir ./data/01 --networkid 15 --ipcdisable --port 61910 --rpcport 8200 --bootnodes “enode://5b3b7c5d65a4cf3e65875b15cd14a1abdc30f94931e67e68bf606941cc1630624[email protected][::]:61910” console
三、通過static-nodes.json檔案
節點data的所在路徑(剛才啟動時–datadir路徑),預設:
Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%\Ethereum
在此目錄下建立名為:static-nodes.json的檔案。
檔案內容及格式如下:
[
"enode://91922b12115c067005c574844c6bbdb114eb262f90b6355cec89e13b483c3e466[email protected]120.27.164.92:13333"
"enode://6427b7e7446bb05f22fe7ce9ea175ec05858953d75a5a6e4f99a6aec0779a8bd6[email protected]121.201.14.181:30303",
"enode://91922b12115c067005c574844c6bbdb114eb262f90b6355cec89e13b483c3e4669c6d63ec66b6e3ca7a3a462d28edb3c659e9fa05ed4[email protected]:13333",
"enode://3dde41a994b3b99f938f75ddf6d48318c78ddd869c70b48d00b922190bb434fc5[email protected]207.226.141.212:30303",
"enode://7ab8fa90b204f2146c00939b8474549c544caa3598a0894fa639a5cdbd992cbc6[email protected]121.201.24.236:30303",
"enode://db81152a8296089b04a21ad9bf347df3ff0450ffc8215d9f50c400ccf8d189631[email protected]139.198.1.244:30303",
"enode://68dd1360f0a4ac362b41124692e31652ffe26f6f06a284ca11f3b514b3968594a[email protected]113.106.85.172:30303",
"enode://58f6b6908286cefe43c166cfc4fed033c750caa1bc3f6e1e1e1507752c0b91248[email protected]45.113.71.186:30303",
"enode://87190a01c02cafb97e7f49672b4c3be2937cf79c3969e0b8e7b35cac28cebfbda[email protected]119.29.207.90:30303",
"enode://d1fdd05a62fd9544eeb455e4f4d4bd8bb574138d82d8f909f3041d0792e3401f8[email protected]120.26.129.121:30303",
"enode://a1e9cf99eca94590ae776c8dd5c6c043a8c1f0375e9e391c9fb55133385bf453a[email protected]182.254.209.254:30303",
"enode://562796b19d43d79dfb6160abd2d7bb78a2f2efd9501a0a767c00677e0fb3a4407[email protected]121.40.199.54:30303",
"enode://fa2c17dcc83a6e2825668210abf7480452de4b13d8bdea8f301c3b603701918bc[email protected]120.26.124.58:30303",
"enode://0b331b27e2976d797aed1d1464ac483a7f262860334cb5737a01a0188da08d792[email protected]47.89.49.61:30303",
"enode://fd2a5d30e4f3917ee640876cc57d72a8bf5ecf049e9106c95e60cf306dd7a5dd6[email protected]121.201.29.82:30303",
"enode://0d1b9eed7afe2d5878d5d8a4c2066b600a3bcac2e5730586421af224e93a58cd0[email protected]209.9.106.245:30303"
]
static-nodes.json的檔案中的節點將組網形成叢集。
以太坊客戶端預設啟動連線的節點數位11-13個,如果覺得不夠,可以使用在啟動時增加啟動引數 –maxpeers 100命令,讓連線啟動節點數增加到100上限,當然,也會大量消耗你的硬碟和CPU。
自動叢集部署指令碼下載
五、Geth命令用法引數詳解
命令用法
geth [選項] 命令 [命令選項] [引數…]
命令
命令 | 詳解 |
---|---|
account | 管理賬戶 |
attach | 啟動互動式JavaScript環境(連線到節點) |
bug | 上報bug Issues |
console | 啟動互動式JavaScript環境 |
copydb | 從資料夾建立本地鏈 |
dump | Dump(分析)一個特定的塊儲存 |
dumpconfig | 顯示配置值 |
export | 匯出區塊鏈到檔案 |
import | 匯入一個區塊鏈檔案 |
init | 啟動並初始化一個新的創世紀塊 |
js | 執行指定的JavaScript檔案(多個) |
license | 顯示許可資訊 |
makecache | 生成ethash驗證快取(用於測試) |
makedag | 生成ethash 挖礦DAG(用於測試) |
monitor | 監控和視覺化節點指標 |
removedb | 刪除區塊鏈和狀態資料庫 |
version | 列印版本號 |
wallet | 管理Ethereum預售錢包 |
help,h | 顯示一個命令或幫助一個命令列表 |
ETHEREUM選項
選項 | 詳解 |
---|---|
–config value | TOML 配置檔案 |
–datadir “xxx” | 資料庫和keystore金鑰的資料目錄 |
–keystore | keystore存放目錄(預設在datadir內) |
–nousb | 禁用監控和管理USB硬體錢包 |
–networkid value | 網路識別符號(整型, 1=Frontier, 2=Morden (棄用), 3=Ropsten, 4=Rinkeby) (預設: 1) |
–testnet | Ropsten網路:預先配置的POW(proof-of-work)測試網路 |
–rinkeby | Rinkeby網路: 預先配置的POA(proof-of-authority)測試網路 |
–syncmode “fast” | 同步模式 (“fast”, “full”, or “light”) |
–ethstats value | 上報ethstats service URL (nodename:[email protected]:port) |
–identity value | 自定義節點名 |
–lightserv value | 允許LES請求時間最大百分比(0 – 90)(預設值:0) |
–lightpeers value | 最大LES client peers數量(預設值:20) |
–lightkdf | 在KDF強度消費時降低key-derivation RAM&CPU使用 |
開發者(模式)選項
命令 | 詳解 |
---|---|
–dev | 使用POA共識網路,預設預分配一個開發者賬戶並且會自動開啟挖礦。 |
–dev.period value | 開發者模式下挖礦週期 (0 = 僅在交易時) (預設: 0) |
ETHASH 選項
命令 | 詳解 |
---|---|
–ethash.cachedir | ethash驗證快取目錄(預設 = datadir目錄內) |
–ethash.cachesinmem value | 在記憶體儲存的最近的ethash快取個數 (每個快取16MB ) (預設: 2) |
–ethash.cachesondisk value | 在磁碟儲存的最近的ethash快取個數 (每個快取16MB) (預設: 3) |
–ethash.dagdir “” | 存ethash DAGs目錄 (預設 = 使用者hom目錄) |
–ethash.dagsinmem value | 在記憶體儲存的最近的ethash DAGs 個數 (每個1GB以上) (預設: 1) |
–ethash.dagsondisk value | 在磁碟儲存的最近的ethash DAGs 個數 (每個1GB以上) (預設: 2) |
交易池選項
命令 | 詳解 |
---|---|
–txpool.nolocals | 為本地提交交易禁用價格豁免 |
–txpool.journal value | 本地交易的磁碟日誌:用於節點重啟 (預設: “transactions.rlp”) |
–txpool.rejournal value | 重新生成本地交易日誌的時間間隔 (預設: 1小時) |
–txpool.pricelimit value | 加入交易池的最小的gas價格限制(預設: 1) |
–txpool.pricebump value | 價格波動百分比(相對之前已有交易) (預設: 10) |
–txpool.accountslots value | 每個帳戶保證可執行的最少交易槽數量 (預設: 16) |
–txpool.globalslots value | 所有帳戶可執行的最大交易槽數量 (預設: 4096 |
–txpool.accountqueue value | 每個帳戶允許的最多非可執行交易槽數量 (預設: 64) |
–txpool.globalqueue value | 所有帳戶非可執行交易最大槽數量 (預設: 1024) |
–txpool.lifetime value | 非可執行交易最大入隊時間(預設: 3小時) |
效能調優的選項
命令 | 效能 |
---|---|
–cache value | 分配給內部快取的記憶體MB數量,快取值(最低16 mb /資料庫強制要求)(預設:128) |
–trie-cache-gens value | 保持在記憶體中產生的trie node數量(預設:120) |
帳戶選項
命令 | 效能 |
---|---|
–unlock value | 需解鎖賬戶用逗號分隔 |
–password value | 用於非互動式密碼輸入的密碼檔案 |
API和控制檯選項
命令 | 效能 |
---|---|
–rpc | 啟用HTTP-RPC伺服器 |
–rpcaddr value | HTTP-RPC伺服器介面地址(預設值:“localhost”) |
–rpcport value | HTTP-RPC伺服器監聽埠(預設值:8545) |
–rpcapi value | 基於HTTP-RPC介面提供的API |
–ws | 啟用WS-RPC伺服器 |
–wsaddr value | WS-RPC伺服器監聽介面地址(預設值:“localhost”) |
–wsport value | WS-RPC伺服器監聽埠(預設值:8546) |
–wsapi value | 基於WS-RPC的介面提供的API |
–wsorigins value | websockets請求允許的源 |
–ipcdisable | 禁用IPC-RPC伺服器 |
–ipcpath | 包含在datadir裡的IPC socket/pipe檔名(轉義過的顯式路徑) |
–rpccorsdomain value | 允許跨域請求的域名列表(逗號分隔)(瀏覽器強制) |
–jspath loadScript | JavaScript載入指令碼的根路徑(預設值:“.”) |
–exec value | 執行JavaScript語句(只能結合console/attach使用) |
–preload value | 預載入到控制檯的JavaScript檔案列表(逗號分隔) |
網路選項
命令 | 效能 |
---|---|
–bootnodes value | 用於P2P發現引導的enode urls(逗號分隔)(對於light servers用v4+v5代替) |
–bootnodesv4 value | 用於P2P v4發現引導的enode urls(逗號分隔) (light server, 全節點) |
–bootnodesv5 value | 用於P2P v5發現引導的enode urls(逗號分隔) (light server, 輕節點) |
–port value | 網絡卡監聽埠(預設值:30303) |
–maxpeers value | 最大的網路節點數量(如果設定為0,網路將被禁用)(預設值:25) |
–maxpendpeers value | 最大嘗試連線的數量(如果設定為0,則將使用預設值)(預設值:0) |
–nat value | NAT埠對映機制 (any |
–nodiscover | 禁用節點發現機制(手動新增節點) |
–v5disc | 啟用實驗性的RLPx V5(Topic發現)機制 |
–nodekey value | P2P節點金鑰檔案 |
–nodekeyhex value | 十六進位制的P2P節點金鑰(用於測試) |
礦工選項
命令 | 效能 |
---|---|
–mine | 開啟挖礦 |
–minerthreads value | 挖礦使用的CPU執行緒數量(預設值:8) |
–etherbase value | 挖礦獎勵地址(預設=第一個建立的帳戶)(預設值:“0”) |
–targetgaslimit value | 目標gas限制:設定最低gas限制(低於這個不會被挖?) (預設值:“4712388”) |
–gasprice value | 挖礦接受交易的最低gas價格 |
–extradata value | 礦工設定的額外塊資料(預設=client version) |
GAS價格選項
命令 | 效能 |
---|---|
–gpoblocks value | 用於檢查gas價格的最近塊的個數 (預設: 10) |
–gpopercentile value | 建議gas價參考最近交易的gas價的百分位數,(預設: 50) |
虛擬機器的選項:
命令 | 效能 |
---|---|
–vmdebug | 記錄VM及合約除錯資訊 |
日誌和除錯選項
命令 | 效能 |
---|---|
–metrics | 啟用metrics收集和報告 |
–fakepow | 禁用proof-of-work驗證 |
–verbosity value | 日誌詳細度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3) |
–vmodule value | 每個模組詳細度:以 =的逗號分隔列表 (比如 eth/*=6,p2p=5) |
–backtrace value | 請求特定日誌記錄堆疊跟蹤 (比如 “block.go:271”) |
–debug | 突出顯示呼叫位置日誌(檔名及行號) |
–pprof | 啟用pprof HTTP伺服器 |
–pprofaddr value | pprof HTTP伺服器監聽介面(預設值:127.0.0.1) |
–pprofport value | pprof HTTP伺服器監聽埠(預設值:6060) |
–memprofilerate value | 按指定頻率開啟memory profiling (預設:524288) |
–blockprofilerate value | 按指定頻率開啟block profiling (預設值:0) |
–cpuprofile value | 將CPU profile寫入指定檔案 |
–trace value | 將execution trace寫入指定檔案 |
WHISPER實驗選項
命令 | 效能 |
---|---|
–shh | 啟用Whisper |
–shh.maxmessagesize value | 可接受的最大的訊息大小 (預設值: 1048576) |
–shh.pow value | 可接受的最小的POW (預設值: 0.2) |
棄用選項
命令 | 效能 |
---|---|
–fast | 開啟快速同步 |
–light | 啟用輕客戶端模式 |
其他選項
–help, -h 顯示幫助
相關推薦
以太坊私有網路叢集搭建
一、安裝geth客戶端 geth是以太坊的官方客戶端,它是一個命令列工具,提供很多命令和選項,可以執行以太坊節點、建立和管理賬戶、傳送交易、挖礦、部署智慧合約等。 geth客戶端可使用三種方法進行安裝: 原始碼編譯安裝 直接下載可執行檔案 一、原始碼編譯安裝
《我學區塊鏈》—— 三、以太坊私有網路搭建
三、以太坊私有網路搭建 此次搭建以太坊私鏈的環境為 Ubuntu 16.04.4,CentOS 上大體相同,需要注意的注意的一點是,由於區塊鏈生態中的相關軟體都較新,所以這裡推薦作業系統方面也儘可能使用較新的穩定版本。 1、安裝以太坊客戶端
區塊鏈(以太坊私有鏈環境搭建)、
最近一直在學習區塊鏈技術、區塊鏈中三種鏈(公有鏈、私有鏈、聯盟鏈)、 私有鏈環境搭建: 1、window系統 64 位、 2、以太坊錢包 (0.8.1) 點選開啟連結 3、以太坊geth客
以太坊私有鏈環境搭建
本文先以Windows為例,後面上線到Ubuntu,再補充Ubuntu的搭建方法。 Windows必須64位系統,從官方網站下載編譯好的win64客戶端,解壓縮即可執行,下載地址如下: http://upyun-assets.ethfans.org/geth/1-7
以太坊私有鏈搭建,建立節點叢集,部署智慧合約,攻擊智慧合約
本文目的: 1.搭建Ethereum私有鏈和節點叢集; 2.熟悉以太坊智慧合約的部署和使用流程; 3.瞭解以太坊智慧合約的應用和常見安全性問題; 一、以太坊私有鏈搭建 參考:https://blog.csdn.net/sportshark/article
以太坊私有鏈搭建節點叢集 到 簡單helloworld智慧合約編寫 操作流程
1.選擇一種以太坊客戶端Go-ethereum客戶端通常被稱為Geth,它是個命令列介面,執行在Go上實現的完整以太坊節點。Geth得益於Go語言的多平臺特性,支援在多個平臺上使用(比如Windows、Linux、Mac)。Geth是以太坊協議的具體落地實現,通過Geth,你
區塊鏈入門(2):搭建以太坊私有鏈(private network of ethereum),以及挖礦的操作..
percent symbol 令行 sans miners margin ima ear 建立 在做一些測試工作的時候, 為了方便控制以及更快的進入真正的測試工作,可能需要搭建一個私有的以太坊網絡. 而以太坊節點之間能夠互相鏈接需要滿足1)相同的協議版本2)相同的netwo
使用 Go-Ethereum 1.7.2搭建以太坊私有鏈
lean nic 腳本 ica welcome accounts oot db4 upgrade 1、什麽是Ethereum(以太坊) 以太坊(Ethereum)並不是一個機構,而是一款能夠在區塊鏈上實現智能合約、開源的底層系統,以太坊從誕生到2017年5月,短短3年
docker 搭建以太坊私有鏈搭建
min self odi auto ora ucc lib color 技術 最近區塊鏈,火得不行,身邊也有朋友準備玩這個,說是搭了一個星期,沒有把環境搭建起來,叫我幫忙看看環境怎麽搭建 於是我找到了官方的地址 https://github.com/ethereum
區塊鏈,使用 Go-Ethereum 搭建以太坊私有鏈
區塊鏈 私有鏈 以太坊 go語言 1、什麽是Ethereum(以太坊) 以太坊(Ethereum)並不是一個機構,而是一款能夠在區塊鏈上實現智能合約、開源的底層系統,以太坊從誕生到2017年5月,短短3年半時間,全球已有200多個以太坊應用誕生。以太坊是一個平臺和一種編程語言,使開發人員能夠
CentOS7搭建以太坊私有鏈
系統版本 難度 adb alloc tab ffi web lB golang 1、 環境準備:Win10 64位安裝 VM VirtualBox,操作系統版本: CentOS-7-x86_64-Everything-1611.iso(7.71G)。 切換root賬號,方
如何搭建以太坊私有鏈
version ans 就是 logs top 過程 log info ini 在開發以太坊時,很多時候需要搭建一條以太坊私有鏈,通過本文一起看看如何在Mac上進行搭建。 寫在前面 閱讀本文前,你應該對以太坊語言有所了解,如果你還不了解,建議你先看以太坊是什麽 go-eth
[區塊鏈]1.Ubuntu Geth 搭建以太坊私有鏈環境
前言 1.1 本文基於Ubuntu 作業系統。 1.2 geth的全稱是go-ethereum,是一個以太坊客戶端,用go語言編寫,應該是目前最常用的客戶geth。 1.3 ubuntu預設root用不啟用的,終端下輸入sudo passwd root(即
以太坊私有節點搭建
開發 console home disco difficult gin ase nba datadir 我們可以通過搭建以太坊的私有節點,模擬以太坊挖礦、交易、部署運行智能合約,從而達到測試開發的目的。下面具體說明搭建過程: 1. 創建新帳號 geth --da
Windows 環境下搭建以太坊私有鏈節點
1.搭建以太坊私有鏈節點 下載Geth ,下載地址: https://geth.ethereum.org/downloads/ 2.安裝Geth,在安裝的過程中不要安裝C盤中 3.建立創世區塊檔案 在安裝目錄下建立一個genesis.json檔案,內容如下:
Ubuntu 命令環境下搭建以太坊私有鏈節點
前言:本文使用以太坊解壓版搭建,桌面環境則可以直接使用瀏覽器進行下載,無需使用 Winscp 進行傳輸 1.搭建以太坊私有鏈節點 下載Geth ,下載地址: https://geth.ethereum.org/downloads/ 使用 Winscp 傳輸到 Ubunt
以太坊最靠譜搭建私有鏈方法(翻譯setup-the-private-chain-miners)
原文:https://chainskills.com/2017/03/10/part-3-setup-the-private-chain-miners/ 第1步 - 建立datadir資料夾 執行專用區塊鏈時,強烈建議使用特
以太坊(1)--在CentOS 6.5上搭建以太坊私有鏈的步驟(圖文詳細)
我們在研究和使用以太坊的過程中,碰到了許多坑,走了許多的彎路。用以太坊作為關鍵詞去百度或者谷歌搜尋,雖然能夠搜到許多結果,但其實對於我們來說,這些結果存在2個問題:1,網上的這些文章互相拷貝,雖然看起來很多,但其實就那麼兩篇;2,一些文章裡介紹的步驟雖然看起來很合理,很順
如何在10分鐘內搭建一個以太坊私有鏈?
閱讀本文前,你應該對以太坊語言有所瞭解,如果你還不瞭解,建議你先看以太坊是什麼。 go-ethereum客戶端安裝 Go-ethereum客戶端通常被稱為Geth,它是個命令列介面,執行在Go上實現的完整以太坊節點。Geth得益於Go語言的多平臺特性,支援在多個平臺上使用(比如
ubuntu16.04搭建以太坊私有鏈並在私有鏈中進行挖礦及轉賬
1.前言 以太坊作為區塊鏈技術應用的龍頭,需要對該專案深入的學習,才好在工作中更好的使用區塊鏈來解決實際的問題。 不管是以太坊,還是CAM區塊鏈,在學習的時候都習慣的要先了解這些系統的執行流程以及系統功能,那麼搭建私有鏈是一個很好的方式,可以在私有鏈上進行任意的操作,轉賬、