wnmp搭建后怎么做网站,凡客诚品是品牌吗,网络服务类型有哪几种,无锡企业网站排名文章目录 官方参考资料编译环境搭建编译Optimism Monorepo编译op-geth 执行下载数据快照生成op-geth和op-node通信密钥op-geth执行脚本 op-node执行脚本 启动日志op-gethop-node 本文是按照官方参考资料基于源码的方式成功搭建optimism主网节点。 官方参考资料
源码#xff1… 文章目录 官方参考资料编译环境搭建编译Optimism Monorepo编译op-geth 执行下载数据快照生成op-geth和op-node通信密钥op-geth执行脚本 op-node执行脚本 启动日志op-gethop-node 本文是按照官方参考资料基于源码的方式成功搭建optimism主网节点。 官方参考资料
源码https://github.com/ethereum-optimism/optimism/ 文档https://community.optimism.io/docs/developers/nodes/mainnet/
编译
环境搭建 按照要求安装以上软件。
编译Optimism Monorepo
下载源码
git clone https://github.com/ethereum-optimism/optimism.git安装模块
cd optimism
pnpm install编译op-node
make op-node
pnpm build这个过程需要一些时间可以在这个时候继续做下边步骤。
编译op-geth
下载源码
git clone https://github.com/ethereum-optimism/op-geth.git编译
cd op-geth
make geth执行
下载数据快照
一定要做可大大减少数据同步的时间。 下载
wget https://datadirs.optimism.io/mainnet-bedrock.tar.zst解压 进入op-geth目录下新建datadir并把下载的mainnet-bedrock.tar.zst解压到datadir下
mkdir datadir
cd datadir
tar xvf PATH_TO_DATA_DIRPATH_TO_DATA_DIR 就是mainnet-bedrock.tar.zst的文件路径
生成op-geth和op-node通信密钥
进入op-geth目录下执行
openssl rand -hex 32 jwt.txt把jwt.txt文件拷贝到op-node目录下保证geth和node用jwt内容相同。其实我感觉路径下边的jwt路径设置相同就行
cp jwt.txt ../optimism/op-nodeop-geth
新建一个scripts 用来存放执行脚本 新建脚本文件并修改文件属性为可执行
touch run-op-geth.sh
chmod x run-op-geth.sh执行脚本
#! /usr/bin/bashSEQUENCER_URLhttps://mainnet-sequencer.optimism.io/cd /data/op/src/op-geth./build/bin/geth \--datadir./datadir \--http \--http.port8545\--http.addr0.0.0.0 \--authrpc.addrlocalhost \--authrpc.jwtsecret./jwt.txt \--verbosity3 \--rollup.sequencerhttp$SEQUENCER_URL \--nodiscover \--syncmodefull \--maxpeers10 \--port30303 \--authrpc.port8551\--gcmodefull \--history.state0 \--history.transactions0
参数解释 Path to op-geth directory自己的op-geth文件夹路径 –maxpeers10最大的邻节点数量官网写的0感觉有问题我这里写10。 –gcmodefull 我也不知道干嘛的官网没写其他地方有人写这个我就写上了不写应该也没事。 –history.state0 –history.transactions从0开始为所有交易建立索引不然一年之前的交易会查不到。 –datadir: 为自己存放数据库的地址前面已经做过了这里就不用改了。
最后执行 ./run-op-geth.sh这里可以使用nohup 后台启动不然窗口一关程序就停了
op-node
和op-geth方法类似这里简写了。
touch run-op-node.sh
chmod x run-op-node.sh执行脚本
关键是这个配置文件啊自己在这里卡了很久这里放上我的配置文件。
#!/usr/bin/bashL1URLhttps://eth-mainnet.g.alchemy.com/v2/xxxxxxxxxxxxxxxxxxxxxxxxxxx
L1KINDany
NETmainnetcd /data/op/src/optimism/op-node./bin/op-node \--l1$L1URL \--l1.rpckind$L1KIND \--l2http://localhost:8551\--l2.jwt-secret./jwt.txt \--network$NET \--rpc.addr127.0.0.1 \--l1.trustrpc \--rpc.port8547主要是这个–l1可以写https://ethereum.publicnode.com/但因为用的人很多所以请求会失败。 我是到alchemy官网https://www.alchemy.com/注册了个账号并建立一个以太坊项目获得一个apikey作为L1URL。其他的配置和我保持一致就可以如果有的端口被占用了就换端口。
启动日志
op-geth 这样就是启动成功了因为我使用了history.transactions0Indexing transactions就是在建立交易索引的意思。
op-node
刚启动会出现下边这个日志
这是在找邻节点。大约持续几分钟或几十分钟我这里启动了2次都差不多半个小时。过后就开始同步会出现下边这个日志。
op-geth也就开始同步了
搞定