当前位置: 首页 > news >正文

ETH RPC搭建

配置选择

先是看了aws、谷歌云、阿里云

这个配置都要1-2wrmb一个月,太贵了

问了很多朋友,打算用hetzner,50欧一个月足以

我选的配置:64gb,2tb ssd

开好后在邮箱收到信息

链接后

按以下步骤安装系统:https://0o0.me/server/hetzner-reinstall-with-raid0.html

系统选ubuntu 22


搭建RPC节点

搭建eth rpc指令:

mkdir /data
cd /data
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.11.2-73b01f40.tar.gz
tar -zxvf geth-linux-amd64-1.11.2-73b01f40.tar.gz
mkdir prysm
cd prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh
chmod +x prysm.sh
./prysm.sh beacon-chain generate-auth-secret
cd /data/
cd geth-linux-amd64-1.11.2-73b01f40
输入完,按两次回车:
nohup ./geth  --datadir "/data/eth/" --maxpeers 75  --cache=2048 --authrpc.jwtsecret /data/prysm/jwt.hex  --http --http.addr "127.0.0.1" --http.port "18181" >&1 &
cd /data/prysm/
输入完,按两次回车:
nohup ./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=./jwt.hex --suggested-fee-recipient=0x91a0982397BEB2B65DFF9a6436695e362135cBa6  --accept-terms-of-use   &
查看eth执行层日志 tail -f /data/geth-linux-amd64-1.11.2-73b01f40/nohup.out
查看eth共识层日志 tail -f /data/prysm/nohup.out

等待同步最新块,over~

大概要1周内


使用老版本执行层同步

eth执行层如果只想太慢可以用老版本

用老版本同步到分叉的那个块,再运行新版本

运行老版本之前要先关掉新版本的进程并且删除eth文件夹

ps -ef | grep geth
kill -9 123456
rm -rf /data/eth
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.24-972007a5.tar.gz
tar -zxvf geth-linux-amd64-1.10.24-972007a5.tar.gz
cd geth-linux-amd64-1.10.24-972007a5/
nohup ./geth --datadir "/data/eth/" --maxpeers 75 --cache=2048 --http --http.addr "127.0.0.1" --http.port "18181" 1>&1 &

使用Python3执行脚本

等两个层都同步完成之后

就可以用python3来调用自己的rpc节点了

像我搭建的节点

ipc地址:/data/eth/geth.ipc

http地址:http://127.0.0.1:18181/

这里会出现pip3不存在的情况

需要先安装pip3

然后再安装web3

wget https://bootstrap.pypa.io/get-pip.py get-pip.py && sudo python3 get-pip.py

pip3 -V

pip3 install web3

python3 demo 代码:

from web3 import Web3
my_provider = Web3.IPCProvider('/data/eth/geth.ipc')
my_provider = Web3.HTTPProvider("http://127.0.0.1:18181/")
w3 = Web3(my_provider)
# 当前区块高度
blockNumber = w3.eth.blockNumber
print(blockNumber)

更多的操作可以在网上找资料

还可以用nodejs写,用golong的话最快

博客原文: https://sumubai.cc/post/96

http://www.lryc.cn/news/40975.html

相关文章:

  • 南京邮电大学数据库第一次课后作业
  • 近期投简历、找日常实习的一些碎碎念(大二---测试岗)
  • ThreadLocal的使用
  • Java ~ Reference【总结】
  • 最快方法求最长上升子序列(LIS)+最长公共子序列(LCS)模板(C/C++)
  • 012+limou+C语言深入知识——(4)“结构体”与“枚举体”与“联合体”
  • Canvas百战成神-圆(1)
  • 详解分库分表设计
  • 动态规划-基础(斐波那契数、爬楼梯、使用最小花费爬楼梯、不同路径、不同路径II、整数拆分、不同的二叉搜索树)
  • 深入理解WebSocket协议
  • Vector的扩容机制
  • 22讲MySQL有哪些“饮鸩止渴”提高性能的方法
  • 10.0自定义SystemUI下拉状态栏和通知栏视图(六)之监听系统通知
  • 怎样在外网登录访问CRM管理系统?
  • Activity工作流(三):Service服务
  • 算法--最长回文子串--java--python
  • ElasticSearch-第二天
  • 【AI大比拼】文心一言 VS ChatGPT-4
  • 美团笔试-3.18
  • 【12】SCI易中期刊推荐——计算机信息系统(中科院4区)
  • 好不容易约来了一位程序员来面试,结果人家不做笔试题
  • 这几个过时Java技术不要再学了
  • EEPROM芯片(24c02)使用详解(I2C通信时序分析、操作源码分析、原理图分析)
  • Django4.0新特性-主要变化
  • MySQL高级面试题整理
  • 【Java】面向对象三大基本特征
  • 蓝桥杯C++组怒刷50道真题(填空题)
  • Shell自动化管理 for ORACLE DBA
  • Unity学习日记13(画布相关)
  • 初阶C语言:冒泡排序