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.tomlstorage.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

参考

  1. /storage/nextid
  2. leveldb 修改
  3. 原语云
  4. goleveldb
  5. Go语言中调用levelDB

lotus miner 元数据 删除 重建相关推荐

  1. Oracle 11g EM删除重建的方法

    2019独角兽企业重金招聘Python工程师标准>>> Oracle 11g EM删除重建的方法 标签: Oracle 2015-09-20 21:20 5440人阅读 评论(1) ...

  2. oracle无法删除em,Oracle 11g EM删除重建的方法

    虚拟机里的Oracle 11g好长时间没用了,突然打开之后发现EM无法访问了,EM可以重建,于是也不打算查找原因了,直接使大招 OS:Windows Server 2012 Oracle:11g R2 ...

  3. oracle em 删除 重建,Oracle 11g 重建EM需要删除的对象

    因为需求需要重建EM,重建时因为某些错误被迫停止,比如对象已存在.用户已经存在等,最终找出了创建必备的条件: 1.环境变量(Oracle和Grid在同一个用户下安装): ORACLE_HOME 要设为 ...

  4. Lotus Miner和分布式设置

    通常为了让Miner更专注于挖矿,我们可以从系统结构上让它尽量优化,把它和节点机以及封装机分开在不同的机器上启动. 1. 首先是节点和Miner分开 启动节点机器后,创建一个可供Miner使用的tok ...

  5. oracle同义词删除重建,Oracle同义词的创建与删除

    用户可以在自己的模式中创建同义词,这需要具有CREATE SYNONYM这个系统权限.如果希望在其他用户的模式中创建同义词,则需要具有CREATE ANY SYNONYM这个系统权限.普通用户创建的同 ...

  6. 关于删除重建ORACLE database的小笔记

    为了学习ORACLE,D找了一台LiNUX服务器,准备在上面装ORACLE 10G 在这个过程中碰到了两个小问题 册除重建oracle datbase : 1: 根据study guide,选择用DB ...

  7. RabbitMQ的元数据重建

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  8. filecoin/lotus 官方开发文件中文翻译2019.12.17最新版本

    filecoin官方开发文档 Filecoin Testnet Mining 荷花 Lotus是Filecoin分布式存储网络的实现.可以运行lotus客户端来加入filecoin 测试网. 有关Fi ...

  9. 删除username的索引

    -- 删除index_name 索引 drop index index_name on user; show index from user \G; -- 创建新索引列组成,index_pinyin为 ...

最新文章

  1. 第二章 Servlet核心技术 实训二
  2. Task.Run vs Task.Factory.StartNew
  3. 网络推广——网络推广如何安排网站关键词的布局策略?
  4. c#常用函数和方法集
  5. 如何根据CSD寄存器计算SD卡容量(csd v1.0 csd v2.0)
  6. 用户认证-什么是会话
  7. citespace安装如何配置JAVA_citespace超详细安装教程
  8. 虚拟服务器e,虚拟主机服务器E
  9. 如何让ul的符号隐藏_如何对文件进行加密?分享一下我对文件进行加密的方法(菜鸟级)...
  10. L1-079 天梯赛的善良 (20 分)-PAT 团体程序设计天梯赛 GPLT
  11. Mac安装jadx查看dex文件
  12. 顺序右移数组元素(内测第0届第5题)
  13. 计算机二级2018VB题库百度云,2018年春江苏省计算机二级VB考试真题第1套
  14. PPT制作设计感需从哪些角度提升呢?
  15. 远程控制软件编写--系列教程
  16. STM32CubeIDE HAL库微秒us的延时Delay实现
  17. React中使用highcharts画玫瑰图
  18. Windows系统设置局域网共享(无密码+有密码)
  19. Maximum Mean Discrepancy理解(MMD)
  20. 计算机运行内存和显卡内存不足,Win10系统提示计算机显卡内存不足该怎么办?...

热门文章

  1. 循序渐进学SAP系列(一):--SAP该如何入门
  2. 费曼算法(Feynman algorithm)
  3. 利用 cv2 给图片添加文字
  4. 南方h5手簿求转换参数_如何使用RTK手簿求坐标转换参数(四参数/七参数)
  5. RocketMQ广播消费与集群消费
  6. 漫谈阿里那些大数据技术,大数据学习者必看
  7. github访问不了怎么办
  8. 有哪些好用的在线电影影视导航网站
  9. 华为推送 简介 集成 MD
  10. Excel中数字、数值和文本的区别