Obol

Obol Network 是一种协议,可通过多运营商验证帮助最大限度地降低信任率。这将提供对以太坊质押收益的低信任访问,可以用作各种 Web3 产品的主要构建块。Obol Network 由专门从事公共区块链网络所有权验证基础设施的研究人员和软件开发人员团队构建。特别关注互联网债券、分布式验证器技术和多运营商验证等主题。该团队目前由分散在世界各地的 20 人组成。

在 A 轮中,该项目从 Pantera、Coinbase Ventures、Spartan、Ethereal Ventures 等筹集了 1250 万美元。

PS鉴于项目的特殊性,不可能维护单个节点,所有操作员聚集在 4 到 10 人的集群中。您可以与朋友一起创建自己的集群,也可以在#bia-find-a-cluster频道中加入第三方集群此外,要运行您的集群,您将需要 32 ETH Goerli。

专业术语:

领导者(或验证者) ——创建集群并验证以太节点(Goerli 网络)的节点。您需要 32 个歌尔力 ETH 才能启动。

操作员– 集群成员之一,检查集群事务。要使集群正常工作,必须有 75% 的操作员处于活动状态。

网站

推特

不和谐


[crypto-connect label=”Connect to Login” class=”fl-button fl-is-info fl-is-light”]

[crypto-block]


服务器准备

这个节点需要相当多的资源。最低要求:CPU – 4+ 核,RAM – 16 GB+,SSD – 1 TB+(使用空间会不断增长,(2023 年 2 月 2 日)节点占用 360GB)。不要尝试在参数较小的服务器上运行,因为您的节点将无法工作

更新包

sudo apt-get update && sudo apt-get upgrade -y

安装开发人员工具和所需的包

# 在一个命令中下载必要的依赖项
sudo apt-get install curl wget git screen jq libpq-dev libssl-dev \
build-essential pkg-config openssl ocl-icd-opencl-dev \
libopencl-clang-dev libgomp1 -y

一键安装 docker 和 docker-compose

. <(wget -qO- https://api.dannywiki.com/docker.sh)

安装装备

sudo apt install apparmor-profiles -y

开始

screen -S obol

地址集合

如果你打算创建自己的集群,你需要从你所有的运营商那里收集以太地址(格式:0x……………………………….. ………………)。操作员的最少数量为 3(除您之外),最多为 9。

创建私钥

克隆存储库

git clone https://github.com/ObolNetwork/charon-distributed-validator-node.git

转到节点文件夹

cd charon-distributed-validator-node

授予创建目录的权限

mkdir .charon
chmod a=rwx /root/charon-distributed-validator-node/.charon

生成私钥

docker run --rm -v "$(pwd):/opt/charon" obolnetwork/charon:v0.13.0 create enr

该过程需要一些时间,成功完成后您将看到以 enr 开头的私钥:

#Created ENR private key: .charon/charon-enr-private-key 
#enr:-JG4QGQpV4qYe32QFUAbY1UyGNtNcrVMip83cvJRhw1brMslPeyELIz3q6dsZ7GblVaCjL_8FKQhF6Syg-O_kIWztimGAYHY5EvPgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQKzMe_GFPpSqtnYl-mJr8uZAUtmkqccsAx7ojGmFy-FY4N0Y3CCDhqDdWRwgg4u

将密钥复制到记事本并备份.charon/charon-enr-private-key文件

创建 DKG 配置文件

我们访问网站https://bia.launchpad.obol.tech/并使用 32 Goerli ETH 连接一个钱包。

创建集群

然后我们同意所有条件并到达集群配置页面,我们在其中输入集群名称、运营商数量及其地址(我们在第一步中收集的)

您还可以添加另一个验证器(他们的帐户中也必须有 32 个 ETH),但这不是必需的。我们留下一个验证器并输入我们的 enr 密钥(格式为 enr:-………………………………………… .)

输入有以太币的地址,以及奖励将滴落到的地址(或多个地址)。下面的截图显示了所有奖励都发送到一个钱包时的配置(2% 被 Obol 池拿走)。您可以选择任意数量的地址和奖励百分比。单击“创建集群配置”按钮。

在下一页,我们检查数据,点击“部署取款经理”按钮并确认数据。

在打开的窗口中,复制链接并将其发送给所有验证器

我们将此链接发送给我们的运营商,等待大家加入。

按“继续”按钮

我们在我们的服务器上执行接收到的命令。要成功完成该步骤,所有操作员都必须运行此命令并完成集群配置。此命令对所有集群成员都是相同的。

DKG 完成后,会出现需要备份的新文件-deposit-data.jsoncluster-lock.json. validator_keys/它们都在.charon文件夹中

节点启动

要启动节点,请使用以下命令

rm -r ./data/lighthouse
cd $HOME/charon-distributed-validator-node && docker-compose up -d

安装完成后,查看日志

cd $HOME/charon-distributed-validator-node && docker-compose logs -f

很多varns和错误都是正常的,主要是日志走了。检查Grafana中节点的性能

http:// <你的 IP> :3000/d/singlenode/single-charon-node-dashboard?orgId=1&refresh=10s

如果你看到这样的东西,那么一切都很好,你的节点正在工作并正在同步

同步完成后(约10小时,目录大小350-370GB)即可进行充值。

我们点击链接,同意条款,上传文件deposit-data.json,连接钱包并存入 32 ETH。

在 graphana 仪表板中,向下滚动你会看到你的验证者地址,点击它你可以看到你的集群将活跃多久(我花了大约 10 个小时)。


操作员

给领导发个地址

在元掩码中复制您的广播地址并将其发送给您的领导。

创建私钥

克隆存储库

git clone https://github.com/ObolNetwork/charon-distributed-validator-node.git

转到节点文件夹

cd charon-distributed-validator-node

生成私钥

docker run --rm -v "$(pwd):/opt/charon" obolnetwork/charon:v0.13.0 create enr

该过程需要一些时间,成功完成后您将看到以 enr 开头的私钥:

#Created ENR private key: .charon/charon-enr-private-key 
#enr:-JG4QGQpV4qYe32QFUAbY1UyGNtNcrVMip83cvJRhw1brMslPeyELIz3q6dsZ7GblVaCjL_8FKQhF6Syg-O_kIWztimGAYHY5EvPgmlkgnY0gmlwhH8AAAGJc2VjcDI1NmsxoQKzMe_GFPpSqtnYl-mJr8uZAUtmkqccsAx7ojGmFy-FY4N0Y3CCDhqDdWRwgg4u

将密钥复制到记事本并备份.charon/charon-enr-private-key文件

创建 DKG 配置文件

我们收到来自领导者的注册链接,格式为https://goerli.launchpad.obol.tech/dv#0x…

我们点击链接并执行所有操作。

注册完成后,您将收到一条要在服务器上执行的命令

节点启动

要启动节点,请使用以下命令

rm -r ./data/lighthouse
cd $HOME/charon-distributed-validator-node && docker-compose up -d

安装完成后,查看日志

cd $HOME/charon-distributed-validator-node && docker-compose logs -f --tail 10

很多varns和错误都是正常的,主要是日志走了。检查Grafana中节点的性能

http:// <你的 IP> :3000/d/singlenode/single-charon-node-dashboard?orgId=1&refresh=10s

如果你看到这样的东西,那么一切都很好,你的节点正在工作并正在同步


离开集群

用纪元号创建一个变量

export EXIT_EPOCH=162304

输入命令退出集群

cd && cd charon-distributed-validator-node
docker exec -ti charon-distributed-validator-node-teku-1 /opt/teku/bin/teku voluntary-exit --beacon-node-api-endpoint="http://charon:3600/" --confirmation-enabled=false --validator-keys="/opt/charon/validator_keys:/opt/charon/validator_keys" --epoch=$EXIT_EPOCH

成功退出集群后,您将获得以下输出

2/3退出集群后,开始退出流程,可以在explorer中追踪

27 小时后,您可以通过链接查看

https://bia.launchpad.obol.tech/bia-claim?configHash= <your_config_hash>

Config_hash 位于 .charon 文件夹中的 cluster-lock.json 文件中


更新 比如0.13升0.14

让集群中的其他操作员知道您计划升级。这将避免出问题

停止节点

cd $HOME/charon-distributed-validator-node
docker-compose down

编辑配置

nano docker-compose.yml

找到线图:obolnetwork/charon:${CHARON_VERSION:-v0.13.0}

并将其替换为:

image: obolnetwork/charon:57ca044

结果,

重新组装容器

cd $HOME/charon-distributed-validator-node && docker-compose up -d

检查日志

cd $HOME/charon-distributed-validator-node && docker compose logs -f --tail 10

检查grafana中的版本 – http:// <your IP> :3000/d/singlenode/single-charon-node-dashboard?orgId=1&refresh=10s

grafana版本可能不会立即显示,在App Info块中报错。这是正常的,请等待 ~10 分钟。


删除节点

停止节点

cd  $HOME /charon-distributed-validator-node &&  docker-compose down -v

注意!!!将.charon文件夹保存到您的计算机

删除数据

rm -rf $HOME/charon-distributed-validator-node
rm -rf $HOME/.charon

有用的命令

检查日志

cd  $HOME /charon-distributed-validator-node &&  docker-compose logs -f

重新加载节点

cd  $HOME /charon-distributed-validator-node &&  docker-compose restart

删除节点

cd $HOME/charon-distributed-validator-node && docker-compose down
cd && rm -rf charon-distributed-validator-node
[/crypto-block]