ETH RPC搭建

news/2024/10/27 23:19:06/

配置选择

先是看了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.ppmy.cn/news/33262.html

相关文章

【数据分析之道】数据分析导读

文章目录专栏导读1、什么是数据分析?2、数据分析的应用3、数据分析的重要性4、数据分析基本流程总结专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》&#xff0…

训练自己的GPT2-Chinese模型

文章目录效果抢先看准备工作环境搭建创建虚拟环境训练&预测项目结构模型预测续写训练模型遇到的问题及解决办法显存不足生成的内容一样文末效果抢先看 准备工作 从GitHub上拉去项目到本地,准备已训练好的模型百度网盘:提取码【9dvu】。 gpt2对联训…

数据结构 | 栈的中缀表达式求值

目录 什么是栈? 栈的基本操作 入栈操作 出栈操作 取栈顶元素 中缀表达式求值 实现思路 具体代码 什么是栈? 栈是一种线性数据结构,具有“先进后出”(Last In First Out, LIFO)的特点。它可以看作是一种受限的…

线程安全(重点)

文章目录一.线程安全的概念1.1 线程安全的概念1.2 线程不安全的原因1.3 解决线程不安全二.synchronized-monitor lock(监视器锁)2.1 synchronized的特性(1)互斥(2)刷新内存(3)可重入2.2 synchronied使用方法1.直接修饰普通方法:2.修饰静态方法:3.修饰代码块:三.死锁3.1死锁的情…

在Intellij IDEA中使用Maven创建Java项目

1. Maven简介Maven是一个创建、管理Java项目的工具。它将项目开发和管理过程抽象成一个项目对象模型(POM:Project Object Model)。Maven项目结构如下:a-maven-project 项目名 ├── pom.xml 项目描述文件 ├── src │ ├── main │ │ ├─…

Android 进程间通信机制(三) 系统进程与应用进程通信

一. 概述 Android中有一个重要的系统进程(system_server),运行着系统中非常重要服务(AMS, PMS, WMS等), 针对Activity而言,系统进程需要不断地调度Activity执行,管理Activity的状态; 每一个APK都需要运行在一个应用进程中&#xf…

html+css 实现 熊猫样式

效果 html代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible"…

如何通过openssl生成公钥和私钥?

1、生成RSA秘钥的方法 生成RSA秘钥的方法&#xff1a; openssl genrsa -des3 -out privkey.pem 2048 注&#xff1a;建议用2048位秘钥&#xff0c;少于此可能会不安全或很快将不安全。 这个命令会生成一个2048位的秘钥&#xff0c;同时有一个des3方法加密的密码&#xff0c…