基于区块链的毕业设计Eth2xK8s: Ethereum Staking with Kubernetes – Eth2xK8s:以太坊与Kubernetes

本文提供基于区块链的毕业设计国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,基于区块链的毕业设计Eth2xK8s: Ethereum Staking with Kubernetes – Eth2xK8s:以太坊与Kubernetes 是一篇很好的国外资料

Eth2xK8s: Ethereum Staking with Kubernetes

This repository contains Kubernetes (k8s) manifests and Helm charts that help Ethereum 2.0 stakers easily and safely install, upgrade and roll back Ethereum 2.0 clients. There are many Ethereum 2.0 clients and this project starts with Prysm.

This project is still in development and it’s NOT recommended to be used on mainnet.

Install Prysm beacon node and validator with Helm

If the goal is to run Prysm on mainnet, we recommend to use

  • Production-grade k8s distribution to build a k8s cluster.
  • NFS as the persistent storage.
  • Helm to manage packages and releases.

Prerequisite

  • Install a k8s distribution and build a cluster.
  • Install Helm on the k8s controller node.

Install and configure NFS

  1. Set up NFS (Example: Guide for NFS installation and configuration on Ubuntu).

  2. Create beacon node and validator data folders with the correct ownership (our Helm chart uses uid 1001 and gid 2000 by default) on NFS.

  3. Create the wallet folder on NFS and import validator accounts (Example: Import your validator accounts into Prysm).

  4. Export created data and wallet folders as described in the NFS configuration guide.

Change the configurations to match your environment

  1. Clone this repo.

    git clone https://github.com/lumostone/eth2xk8s.git
  2. Change values in ./prysm/helm/values.yaml.

    We recommend checking each field in values.yaml to determine the desired configuration. Fields that need to be changed or verified before installing the chart are the following ones:

    • nfs.serverIp: NFS server IP address.
    • image.version: Prysm client version.
    • beacon.dataVolumePath: The path to the data directory on the NFS for the beacon node.
    • beacon.web3Provider and beacon.fallbackWeb3Providers: Ethereum 1 node endpoints.
    • validatorClients.validatorClient1.dataVolumePath: The path to the data directory on the NFS for the validator.
    • validatorClients.validatorClient1.walletVolumePath: The path to the data directory on the NFS for the wallet.
    • validatorClients.validatorClient1.walletPassword: The wallet password.

Install, upgrade, roll back and uninstall Helm chart

Replace [release-name] in the following command to the name you prefer.

  • Install the chart.

    helm install [release-name] ./prysm/helm -nprysm --create-namespace
  • Check installed manifests.

    helm get manifest [release-name] -nprysm
  • Upgrade a release.

    helm upgrade [release-name] ./prysm/helm -nprysm
  • Check release history.

    helm history [release-name] -nprysm
  • Roll back a release to the target revision. Retrieve the target revision from release history and replace the [release-revision].

    helm rollback [release-name] [release-revision] -nprysm
  • Uninstall a release.

    helm uninstall [release-name] -nprysm

Check client status

  • Check the status of beacon node.

    kubectl logs -f -nprysm -lapp=beacon
  • Check the status of the first validator (To check other validators, change -lapp to other validators’ names).

    kubectl logs -f -nprysm -lapp=validator-client-1

For Development or Testing

If you want to develop for this project or verify your configuration quickly without setting up NFS or other storage solution, we recommend the following setup:

  • kind as the k8s distribution.
  • hostPath as the persistent storage.
  • Helm to manage packages and releases.

How to run the Prysm client

  1. Clone the repo.

  2. Create data and wallet folders on the host machine and import validator accounts.

  3. Update the extraMounts in prysm/cluster-config/kind-single-node.yaml with the paths to the created data folders.

  4. Install kind and create a kind cluster.

    kind create cluster --config=prysm/cluster-config/kind-single-node.yaml 
  5. Change values in ./prysm/helm/values.yaml to match your environment.

    • Set persistentVolumeType to hostPath.
    • Follow the values.yaml configuration section for more details.
  6. Install the Helm chart ./prysm/helm.

Testing k8s manifests

Please see Testing manifests with Prysm and hostPath and Testing manifests with Prysm and NFS for details.


Eth2xK8s:Ethereum与Kubernetes绑定

此存储库包含Kubernetes(k8s)清单和Helm图表,可帮助Ethereum 2.0 stakers轻松安全地安装、升级和回滚Ethereum 2.0客户端。有许多以太坊eth2.0客户端,这个项目从Prysm开始

此项目仍在开发中,不建议在mainnet上使用

安装Prysm信标节点和带头盔的验证器

如果目标是在mainnet上运行Prysm,我们建议使用

  • NFS作为持久存储
  • 负责管理包和发布
  • 安装k8s分发并构建群集

先决条件

  • 在k8s控制器节点上安装Helm
  • 设置NFS(示例:Ubuntu上的NFS安装和配置指南)

安装和配置NFS

  1. 在NFS上创建具有正确所有权的信标节点和验证器数据文件夹(我们的Helm图表默认使用uid 1001和gid 2000)
  2. 在NFS上创建wallet文件夹并导入验证程序帐户(例如:将验证程序帐户导入Prysm)
  3. 按照《NFS配置指南》中的说明导出创建的数据和钱包文件夹
  4. 克隆此回购。git克隆https://github.com/lumostone/eth2xk8s.git

更改配置以匹配您的环境

  1. 更改./prysm/helm中的值/values.yaml. 我们建议检查中的每个字段values.yaml 以确定所需的配置。安装图表前需要更改或验证的字段如下:nfs.serverIp:NFS服务器IP地址。image.version:Prysm客户端版本。beacon.dataVolumePath:指向NFS上信标节点的数据目录的路径。beacon.web3Provider 以及beacon.fallbackWeb3Providers:以太坊eth1节点终结点。validatorClients.validatorClient1.dataVolumePath:验证程序的NFS上数据目录的路径。validatorClients.validatorClient1.walletVolumePath:NFS上钱包的数据目录的路径。validatorClients.validatorClient1.walletPassword:钱包密码
  2. nfs.serverIp:NFS服务器IP地址

安装、升级,回滚并卸载Helm chart检查客户端状态以进行开发或测试如何运行Prysm客户端测试k8s清单以构建k8s集群
  • NFS作为持久存储
  • 负责管理包和发布
  • 安装k8s分发并构建群集
  • 在k8s控制器节点上安装Helm
  • 设置NFS(示例:Ubuntu上的NFS安装和配置指南)
  • 在NFS上创建具有正确所有权的信标节点和验证器数据文件夹(我们的Helm图表默认使用uid 1001和gid 2000)
  • 在NFS上创建wallet文件夹并导入验证程序帐户(例如:将验证程序帐户导入Prysm)
  • 按照《NFS配置指南》中的说明导出创建的数据和钱包文件夹
  • 克隆此回购。git克隆https://github.com/lumostone/eth2xk8s.git
  • 更改./prysm/helm中的值/values.yaml. 我们建议检查中的每个字段values.yaml 以确定所需的配置。安装图表前需要更改或验证的字段如下:nfs.serverIp:NFS服务器IP地址。image.version:Prysm客户端版本。beacon.dataVolumePath:指向NFS上信标节点的数据目录的路径。beacon.web3Provider 以及beacon.fallbackWeb3Providers:以太坊eth1节点终结点。validatorClients.validatorClient1.dataVolumePath:验证程序的NFS上数据目录的路径。validatorClients.validatorClient1.walletVolumePath:NFS上钱包的数据目录的路径。validatorClients.validatorClient1.walletPassword:钱包密码
  • nfs.serverIp:NFS服务器IP地址
  • image.version:Prysm客户端版本
  • beacon.dataVolumePath:指向NFS上信标节点的数据目录的路径
  • beacon.web3Provider 以及beacon.fallbackWeb3Providers:以太坊eth1节点终结点
  • validatorClients.validatorClient1.dataVolumePath:验证程序的NFS上数据目录的路径
  • validatorClients.validatorClient1.walletVolumePath:NFS上钱包的数据目录的路径
  • validatorClients.validatorClient1.walletPassword:钱包密码
  • 安装图表。helm install[release name]./prysm/helm-nprym—创建名称空间
  • 检查已安装的清单。头盔获取清单[release name]-nprysm升级一个版本。头盔升级[发布名称]。/prysm/helm-nprysm
  • 检查发布历史。头盔历史[版本名称]-nprysm
  • 将版本回滚到目标版本。从发行历史中检索目标版本并替换[release revision]。helm rollback[release name][release revision]-nprysm
  • 卸载版本。helm uninstall[release name]-nprysm检查信标节点的状态。kubectl logs-f-nprysm-lapp=beacon检查第一个验证器的状态(要检查其他验证器,请将-lapp更改为其他验证器的名称)。kubectl logs-f-nprysm-lapp=validator-client-1类似于k8s发行版
  • 主机路径作为持久存储
  • 负责管理包和发布
  • 克隆回购
  • 在主机上创建数据和钱包文件夹并导入验证程序帐户
  • 更新prysm/cluster config/kind single中的额外装载-node.yaml 创建的数据文件夹的路径
  • 安装kind并创建kind集群。kind create cluster–config=prysm/cluster config/kind single-node.yaml
  • 更改./prysm/helm中的值/values.yaml 以匹配您的环境。将persistentVolumeType设置为hostPath。跟随values.yaml 有关更多详细信息,请参阅配置部分
  • 将persistentVolumeType设置为hostPath
  • 遵循values.yaml 有关更多详细信息,请参阅配置部分
  • 安装舵图。/prysm/Helm
  • 我们建议检查中的每个字段values.yaml 以确定所需的配置。安装图表前需要更改或验证的字段如下:

    • 检查已安装的清单。头盔获取清单[release name]-nprysm升级一个版本。头盔升级[发布名称]。/prysm/helm-nprysm
    • 检查发布历史。头盔历史[版本名称]-nprysm
    • 将版本回滚到目标版本。从发行历史中检索目标版本并替换[release revision]。helm rollback[release name][release revision]-nprysm
    • 卸载版本。helm uninstall[release name]-nprysm检查信标节点的状态。kubectl logs-f-nprysm-lapp=beacon检查第一个验证器的状态(要检查其他验证器,请将-lapp更改为其他验证器的名称)。kubectl logs-f-nprysm-lapp=validator-client-1类似于k8s发行版
    • 主机路径作为持久存储
    • 负责管理包和发布

    Check client status

    • 克隆回购
    • 在主机上创建数据和钱包文件夹并导入验证程序帐户

    For Development or Testing

    检查第一个验证器的状态(要检查其他验证器,请将-lapp更改为其他验证器的名称)

    • 更新prysm/cluster config/kind single中的额外装载-node.yaml 创建的数据文件夹的路径
    • 安装kind并创建kind集群。kind create cluster–config=prysm/cluster config/kind single-node.yaml
    • 更改./prysm/helm中的值/values.yaml 以匹配您的环境。将persistentVolumeType设置为hostPath。跟随values.yaml 有关更多详细信息,请参阅配置部分

    How to run the Prysm client

    1. 将persistentVolumeType设置为hostPath
    2. 遵循values.yaml 有关更多详细信息,请参阅配置部分
    3. 安装舵图。/prysm/Helm
    4. 更新prysm/cluster config/kind single中的额外装载-node.yaml 创建的数据文件夹的路径

      kind create cluster --config=prysm/cluster-config/kind-single-node.yaml 
    5. 安装kind并创建kind集群

      • Set persistentVolumeType to hostPath.
      • Follow the values.yaml configuration section for more details.
    6. 在/prysm/helm中更改值/values.yaml 以匹配您的环境

    Testing k8s manifests

    安装舵图。/prysm/Helm

    部分转自网络,侵权联系删除区块链源码网

    www.interchains.cc

    https://www.interchains.cc/21906.html

    区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
    区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 基于区块链的毕业设计Eth2xK8s: Ethereum Staking with Kubernetes – Eth2xK8s:以太坊与Kubernetes

    提供最优质的资源集合

    立即查看 了解详情