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