摘要:本項(xiàng)目旨在建立基于部署的生產(chǎn)環(huán)境使用的私鏈集群,在盡可能簡(jiǎn)化使用的前提下保留足夠的靈活性,方便業(yè)務(wù)快速組建區(qū)塊鏈私有網(wǎng)絡(luò)集群,并基于此開(kāi)發(fā)私有區(qū)塊鏈平臺(tái)應(yīng)用。因是高性能輕量級(jí)的程序,一般啟動(dòng)一個(gè)角色的容器即可。啟動(dòng)時(shí)須指定等命令參數(shù)。
項(xiàng)目地址:https://github.com/tabalt/doc...,歡迎Star和參與完善。
本項(xiàng)目旨在建立基于Docker部署的生產(chǎn)環(huán)境使用的Ethereum私鏈集群,在盡可能簡(jiǎn)化使用的前提下保留足夠的靈活性,方便業(yè)務(wù)快速組建區(qū)塊鏈私有網(wǎng)絡(luò)集群,并基于此開(kāi)發(fā)私有區(qū)塊鏈平臺(tái)應(yīng)用。
因用到了“多階段鏡像構(gòu)建”的特性,需要Docker 17.05 以上的版本 編譯鏡像。
支持的環(huán)境變量我們的Docker鏡像做到了開(kāi)箱即用,但為了能讓業(yè)務(wù)使用特有的配置,我們提供了一些環(huán)境變量,可在啟動(dòng)容器時(shí)指定并修改默認(rèn)值。支持的環(huán)境變量如下表所列:
變量名 | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
HOSTNAME | localhost | 容器的主機(jī)名 |
ETHEREUM_HOME | /usr/local/ethereum | 集群根目錄 |
ETHEREUM_DATADIR | ${ETHEREUM_HOME}/data | 集群數(shù)據(jù)目錄 |
ETHEREUM_GENESIS_JSON | ${ETHEREUM_DATADIR}/genesis.json | 初始化文件路徑 |
ETHEREUM_BOOTNODE_KEY | ${ETHEREUM_DATADIR}/bootnode.key | 啟動(dòng)節(jié)點(diǎn)的key文件路徑 |
ETHEREUM_NODE_DATADIR | ${ETHEREUM_DATADIR}/nodes/${HOSTNAME} | 節(jié)點(diǎn)數(shù)據(jù)目錄 |
ETHEREUM_NODE_INITFLAG | ${ETHEREUM_NODE_DATADIR}/init.SUCCESS | 節(jié)點(diǎn)初始化標(biāo)志文件 |
ETHEREUM_NODE_ROLE | mine | 節(jié)點(diǎn)角色 |
啟動(dòng)節(jié)點(diǎn) bootnode
啟動(dòng)節(jié)點(diǎn)是用來(lái)幫助網(wǎng)絡(luò)中其他節(jié)點(diǎn)發(fā)現(xiàn)彼此進(jìn)而連接彼此的引導(dǎo)節(jié)點(diǎn),容器中啟動(dòng)的是專(zhuān)用的bootnode程序,通過(guò) ETHEREUM_BOOTNODE_KEY 環(huán)境變量指定啟動(dòng)時(shí)所需的key文件。
因bootnode是高性能輕量級(jí)的程序,一般啟動(dòng)一個(gè)bootnode角色的容器即可。
挖礦節(jié)點(diǎn) mine
顧名思義,挖礦節(jié)點(diǎn)是用來(lái)實(shí)際挖礦產(chǎn)生區(qū)塊并記錄數(shù)據(jù)到區(qū)塊鏈上的節(jié)點(diǎn),容器中啟動(dòng)的是geth程序,通常需要跨多個(gè)機(jī)房部署4個(gè)以上挖礦節(jié)點(diǎn)組成集群。
啟動(dòng)時(shí)須指定 --networkid 、--etherbase、--bootnodes 等命令參數(shù)。
接口節(jié)點(diǎn) rpc
接口節(jié)點(diǎn)是用來(lái)處理業(yè)務(wù)方接口請(qǐng)求的節(jié)點(diǎn),接口節(jié)點(diǎn)和挖礦節(jié)點(diǎn)互相鏈接,容器中啟動(dòng)的是geth程序,通常需要在與調(diào)用業(yè)務(wù)方相同的機(jī)房部署多個(gè)挖礦節(jié)點(diǎn)組成集群。接口節(jié)點(diǎn)和挖礦節(jié)點(diǎn)拆分開(kāi)是為了提高接口吞吐量和避免和挖礦節(jié)點(diǎn)互相干擾。
啟動(dòng)時(shí)須指定和挖礦節(jié)點(diǎn)相同的 --networkid 、--bootnodes 等命令參數(shù)。
集群架構(gòu)示例 自定義配置項(xiàng)目代碼中data目錄有僅供測(cè)試的配置文件,如 bootnode.key 和 genesis.json,可自行修改后再做編譯,
也可掛載有自定義配置的共享存儲(chǔ)到容器內(nèi)的/usr/local/ethereum/data目錄 覆蓋配置文件
項(xiàng)目地址:https://github.com/tabalt/doc...,歡迎Star和參與完善。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27426.html
摘要:本文通過(guò)宏觀和微觀兩個(gè)層面窺探以太坊底層執(zhí)行邏輯。開(kāi)發(fā)等前端還是好,和就免了不太好用全局安裝初始化一個(gè)基于的項(xiàng)目項(xiàng)目里安裝依賴(lài)是的庫(kù),通過(guò)方式與以太坊節(jié)點(diǎn)交互。 本文通過(guò)宏觀和微觀兩個(gè)層面窺探以太坊底層執(zhí)行邏輯。宏觀層面描述創(chuàng)建并運(yùn)行一個(gè)小型帶錢(qián)包的發(fā)幣APP的過(guò)程,微觀層面是順藤摸瓜從http api深入go-ethereum源碼執(zhí)行過(guò)程。 分析思路:自上而下,從APP深入EVM。 ...
摘要:不要用百度搜索中文資料,一定要看最新的英文資料。感謝感謝能容忍我無(wú)數(shù)次搞掛生產(chǎn)環(huán)境的老板。群蝸牛大神所建中文交流群,基本配置過(guò)程中遇到的問(wèn)題都能得到解決。 前言 最近花了將近一個(gè)月的時(shí)間研究了 Docker 在生產(chǎn)環(huán)境中的使用,作為新手,期間走了無(wú)數(shù)的彎路,這里紀(jì)錄一下,希望給別人帶來(lái)微小的幫助。 前面幾部分,介紹了在搭建集群之前需要做的一些工作,后面 一塊結(jié)合實(shí)際應(yīng)用,介紹如何架構(gòu)...
摘要:環(huán)境復(fù)雜性生態(tài)系統(tǒng)易變性跨不同分布式基礎(chǔ)架構(gòu)的部署本文將為你解析生產(chǎn)環(huán)境部署容器的五大挑戰(zhàn)及應(yīng)對(duì)之策。因此,在整個(gè)生產(chǎn)環(huán)境中創(chuàng)建監(jiān)視和銷(xiāo)毀的組件需求總量呈指數(shù)級(jí)增長(zhǎng),從而顯著增加了基于容器的管理環(huán)境的復(fù)雜性。 Docker容器使應(yīng)用程序開(kāi)發(fā)變得更容易,但在生產(chǎn)中部署容器可能會(huì)很難。環(huán)境復(fù)雜性、生態(tài)系統(tǒng)易變性、跨不同分布式基礎(chǔ)架構(gòu)的部署......本文將為你解析生產(chǎn)環(huán)境部署容器的五大挑戰(zhàn)...
摘要:在谷歌不是這樣,谷歌不會(huì)把特定的應(yīng)用裝在某臺(tái)服務(wù)器上,業(yè)務(wù)應(yīng)用和服務(wù)器的強(qiáng)綁定對(duì)于谷歌這種量級(jí)的數(shù)據(jù)中心的維護(hù)難度太高了。但是金融機(jī)構(gòu)的數(shù)據(jù)中心規(guī)模不像谷歌這么大,所以能做到業(yè)務(wù)應(yīng)用和硬件的強(qiáng)綁定。 復(fù)雜的基礎(chǔ)IT架構(gòu)是傳統(tǒng)金融的現(xiàn)狀,如何快速響應(yīng)用戶(hù)需求,加快新業(yè)務(wù)上線(xiàn)速度,縮短產(chǎn)品的迭代周期? 數(shù)人云在容器落地金融云的2年實(shí)踐中,實(shí)現(xiàn)金融核心業(yè)務(wù)技術(shù)WebLogic、J2EE、Or...
摘要:年正在柏林盛大舉行,來(lái)自等多個(gè)開(kāi)源云原生社區(qū)的領(lǐng)先技術(shù)專(zhuān)家正匯聚一堂,以進(jìn)一步推動(dòng)云原生計(jì)算的教育和發(fā)展。例如,你還需要諸如負(fù)載均衡器和的服務(wù)來(lái)運(yùn)行應(yīng)用程序。負(fù)載均衡器可以進(jìn)行高級(jí)定制,以滿(mǎn)足用戶(hù)的各類(lèi)需求。 想要在生產(chǎn)環(huán)境中成功部署容器,你需要的不僅僅是容器編排。 2017年CloudNativeCon+KubeCon Europe正在柏林盛大舉行,來(lái)自Fluented、Kubern...
閱讀 3729·2021-11-24 09:39
閱讀 1359·2021-09-30 09:48
閱讀 3366·2021-09-09 11:51
閱讀 2976·2021-09-08 10:41
閱讀 1391·2019-08-30 14:06
閱讀 2870·2019-08-30 14:01
閱讀 928·2019-08-29 17:11
閱讀 3232·2019-08-29 15:37