lotus miner 元数据 删除 重建
lotus miner 元数据重建
- 主网 lotus-miner backup
- 测试网模拟lotus-miner元数据损坏,重建
- 指定原来的矿工号重新初始化
- 环境变量配置miner API
- 运行 lotus-worker
- 修改LevelDB
- 扇区ID 从27开始
- 修改nextid 大的数字
- 参考
主网 lotus-miner backup
Backup and restore
测试网模拟lotus-miner元数据损坏,重建
# echo $LOTUS_MINER_PATH
/raid0/calibnet/miner
删除miner目录下所有内容
# rm -rf /raid0/calibnet/miner/*
指定原来的矿工号重新初始化
lotus-miner init --no-local-storage --actor=t矿工号 --owner=t3钱包 --sector-size=32GiB
- 运行miner
nohup lotus-miner run >> /var/log/calibnet/miner.log 2>&1 &
lotus-miner info
- 修改lotus-miner配置文件
config.toml
和storage.json
lotus-miner stop
# cat $LOTUS_MINER_PATH/config.toml | grep -Ev '^$|#'
[API]ListenAddress = "/ip4/192.168.1.92/tcp/2345/http"RemoteListenAddress = "192.168.1.92:2345"
[Backup]
[Libp2p]
[Pubsub]
[Subsystems]
[Dealmaking][Dealmaking.RetrievalPricing][Dealmaking.RetrievalPricing.Default][Dealmaking.RetrievalPricing.External]
[Sealing]BatchPreCommits = falseAggregateCommits = false
[Storage]AllowAddPiece = falseAllowPreCommit1 = falseAllowPreCommit2 = falseAllowCommit = falseAllowUnseal = false
[Fees][Fees.MaxPreCommitBatchGasFee][Fees.MaxCommitBatchGasFee]
[Addresses]
[DAGStore]
- 存储目录重新init会报错
# lotus-miner storage attach --init --store /store/
ERROR: path is already initialized
- 存储目录可以直接修改
# cat $LOTUS_MINER_PATH/storage.json
{"StoragePaths": null
}
# cat $LOTUS_MINER_PATH/storage.json
{"StoragePaths": [{"Path": "/store"}]
}
lotus-miner storage list
看不到扇区列表
lotus-miner sectors list
环境变量配置miner API
lotus-miner auth api-info --perm admin
运行 lotus-worker
nohup lotus-worker run >> /var/log/calibnet/worker.log 2>&1 &
修改LevelDB
- pledge 扇区编号ID会从0开始,需要修改
nextid
- 查看扇区的最新ID,最新扇区ID为
26
lotus-miner proving deadlines
lotus-miner proving deadline <Index>
lotus-miner proving check <Index>
# mkdir leveldb_nextid
# cd leveldb_nextid/
# go mod init leveldb_nextid
# vim leveldb_nextid.go
- 停止mienr
lotus-miner stop
cat leveldb_nextid.go
package main
import ("fmt""log""github.com/syndtr/goleveldb/leveldb""encoding/binary"
)func main(){// 打开数据库db, err := leveldb.OpenFile("/raid0/calibnet/miner/datastore/metadata", nil)if err != nil { log.Fatal(err) } // 关闭数据库defer db.Close()// 遍历数据fmt.Println("遍历数据")iter := db.NewIterator(nil, nil) for iter.Next() { fmt.Printf("key:%s, value:%s\n", iter.Key(), iter.Value()) //fmt.Printf("key:%s \n", iter.Key()) } iter.Release() buf := make([]byte, binary.MaxVarintLen64)size := binary.PutUvarint(buf, 26)fmt.Print(size)fmt.Printf("%v \n", buf[:size])db.Put([]byte("/storage/nextid"), buf[:size], nil) nextid, _ := db.Get([]byte("/storage/nextid"), nil) fmt.Printf("读取单条数据 nextid: %v\n", nextid)}
go get github.com/syndtr/goleveldb/leveldb
# go run leveldb_nextid.go
遍历数据
key:/backupds/log/head, value:1647508356.log.cbor;5364dd4d-2ff9-4302-82a5-cb513421b5ca;1647509713
key:/datatransfer/provider/transfers/versions/current, value:2
key:/deals/provider/storage-ask/1/latest, value:�cAsk�ePriceE�emVerifiedPriceE���lMinPieceSizelMaxPieceSizMinerD�iTimestamp�fExpiryeSeqNoiSignatureXa�|o��T�k}ֿ�)����SW�����(\�E &��+���!�4/J�;�"
�ܳ%��y�g����K!��5���m��IFh��6��.
key:/deals/provider/storage-ask/versions/current, value:1
key:/deals/provider/versions/current, value:1
key:/miner-address, value:�
key:/retrievals/provider/retrieval-ask/1/latest, value:�lPricePerByte@kUnsealPrice@oPaymentIntervalwPaymentIntervalIncrease
key:/retrievals/provider/retrieval-ask/versions/current, value:1
key:/retrievals/provider/versions/current, value:1
key:/storagemarket/cid-infos/versions/current, value:1
key:/storagemarket/pieces/versions/current, value:1
1[26]
读取单条数据 nextid: [26]
扇区ID 从27开始
# lotus-miner sectors pledge
Created CC sector: 27
# lotus-miner sectors list
ID State OnChain Active Expiration Deals
27 Packing NO NO n/a CC
修改nextid 大的数字
- nextid 修改为1600
buf := make([]byte, binary.MaxVarintLen64)size := binary.PutUvarint(buf, 1600)fmt.Print(size)fmt.Printf("%v \n", buf[:size])db.Put([]byte("/storage/nextid"), buf[:size], nil)
读取单条数据 nextid: [192 12]
# lotus-miner sectors pledge
Created CC sector: 1601
参考
- /storage/nextid
- leveldb 修改
- 原语云
- goleveldb
- Go语言中调用levelDB
lotus miner 元数据 删除 重建相关推荐
- Oracle 11g EM删除重建的方法
2019独角兽企业重金招聘Python工程师标准>>> Oracle 11g EM删除重建的方法 标签: Oracle 2015-09-20 21:20 5440人阅读 评论(1) ...
- oracle无法删除em,Oracle 11g EM删除重建的方法
虚拟机里的Oracle 11g好长时间没用了,突然打开之后发现EM无法访问了,EM可以重建,于是也不打算查找原因了,直接使大招 OS:Windows Server 2012 Oracle:11g R2 ...
- oracle em 删除 重建,Oracle 11g 重建EM需要删除的对象
因为需求需要重建EM,重建时因为某些错误被迫停止,比如对象已存在.用户已经存在等,最终找出了创建必备的条件: 1.环境变量(Oracle和Grid在同一个用户下安装): ORACLE_HOME 要设为 ...
- Lotus Miner和分布式设置
通常为了让Miner更专注于挖矿,我们可以从系统结构上让它尽量优化,把它和节点机以及封装机分开在不同的机器上启动. 1. 首先是节点和Miner分开 启动节点机器后,创建一个可供Miner使用的tok ...
- oracle同义词删除重建,Oracle同义词的创建与删除
用户可以在自己的模式中创建同义词,这需要具有CREATE SYNONYM这个系统权限.如果希望在其他用户的模式中创建同义词,则需要具有CREATE ANY SYNONYM这个系统权限.普通用户创建的同 ...
- 关于删除重建ORACLE database的小笔记
为了学习ORACLE,D找了一台LiNUX服务器,准备在上面装ORACLE 10G 在这个过程中碰到了两个小问题 册除重建oracle datbase : 1: 根据study guide,选择用DB ...
- RabbitMQ的元数据重建
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- filecoin/lotus 官方开发文件中文翻译2019.12.17最新版本
filecoin官方开发文档 Filecoin Testnet Mining 荷花 Lotus是Filecoin分布式存储网络的实现.可以运行lotus客户端来加入filecoin 测试网. 有关Fi ...
- 删除username的索引
-- 删除index_name 索引 drop index index_name on user; show index from user \G; -- 创建新索引列组成,index_pinyin为 ...
最新文章
- 第二章 Servlet核心技术 实训二
- Task.Run vs Task.Factory.StartNew
- 网络推广——网络推广如何安排网站关键词的布局策略?
- c#常用函数和方法集
- 如何根据CSD寄存器计算SD卡容量(csd v1.0 csd v2.0)
- 用户认证-什么是会话
- citespace安装如何配置JAVA_citespace超详细安装教程
- 虚拟服务器e,虚拟主机服务器E
- 如何让ul的符号隐藏_如何对文件进行加密?分享一下我对文件进行加密的方法(菜鸟级)...
- L1-079 天梯赛的善良 (20 分)-PAT 团体程序设计天梯赛 GPLT
- Mac安装jadx查看dex文件
- 顺序右移数组元素(内测第0届第5题)
- 计算机二级2018VB题库百度云,2018年春江苏省计算机二级VB考试真题第1套
- PPT制作设计感需从哪些角度提升呢?
- 远程控制软件编写--系列教程
- STM32CubeIDE HAL库微秒us的延时Delay实现
- React中使用highcharts画玫瑰图
- Windows系统设置局域网共享(无密码+有密码)
- Maximum Mean Discrepancy理解(MMD)
- 计算机运行内存和显卡内存不足,Win10系统提示计算机显卡内存不足该怎么办?...