当扇区出现错误,由于一些不可抗力无法恢复(如硬盘损坏、备份丢失等),那么区块浏览器就总会显示有几个错误扇区,影响了存储提供者形象,便要及时终止错误扇区。或是连续14天windowpost证明错误会自动终止扇区。

终止扇区的操作如下:

一、终止错误的扇区

0. 编译lotus-shed

# cd lotus/
# env RUSTFLAGS="-C target-cpu=native -g" FFI_BUILD_FROM_SOURCE=1 make lotus-shed
# cp lotus-shed /usr/local/bin/

1.评估待终止扇区的损失费用

./lotus-shed sectors termination-estimate [sectorNum1 sectorNum2 ...]

2.确保owner钱包余额大于这个值

3.执行终止扇区操作

./lotus-shed sectors terminate --really-do-it [sectorNum1 sectorNum2 ...]

4删除非错误扇区, 如PreCommitFailed和SealPreCommit1Failed状态的扇区,因为还没有质押,可通过以下命令直接删除:

./lotus-miner sectors remove --really-do-it [sectorNum1 sectorNum2 ...]

5.从MIner取回fil到钱包地址

./lotus-miner actor withdraw fil数量(未指定数量则默认返回miner全部余额到lotus钱包账户)
或
./lotus wallet market withdraw --wallet address-of-wallet

二、终止扇区逻辑分析

业务逻辑分析:

var sectorsCmd = &cli.Command{ Name:  "sectors",      Usage: "Tools for interacting with sectors",Flags: []cli.Flag{},   Subcommands: []*cli.Command{    terminateSectorCmd,                     /* 将扇区号用cbor编码为[]byte类型,向主网发送一条消息:this miner要永久性的删除参数                                                指定的扇区,则主网上面收到消息的所有在线链节点,就会从本地仓库的数据库中删除这些扇区的记录。*/terminateSectorPenaltyEstimationCmd,  /* 探测扇区删除的惩罚费用。主网所有在线链节点收到消息后,返回罚币的额度,不具体删除其仓库                                                                中,leveldb数据库里面的值 */visAllocatedSectorsCmd,         },
}

主要参数数据结构

type TerminateSectorsParams struct {Terminations []TerminationDeclaration}type TerminationDeclaration struct {Deadline uint64Partition uint64Sectors bitfield.BitField}

需要给出每个待终止扇区对应的deadline,Partition,Sectors。

参数检查

  • 一次调用可以终止的最大分区数为3000,最大扇区数为25000

  • 标记一组扇区为终止

  • 将扇区从错误或恢复状态中移除

  • 记录终止Epoch,用于未来的终止费用计算

更新链上状态

havePendingEarlyTerminations //判断之前是否有提前终止的扇区!deadlineIsMutable //不允许终止当前deadline或下一次deadline中的扇区TerminateSectors {对于每个待终止的扇区util.BitFieldContainsAll(liveSectors, sectorNos) //首先确保他们是活跃扇区expirations.RemoveSectors //从过期队列中移除对应扇区bitfield.MergeBitFields(removed.OnTimeSectors, removed.EarlySectors) //记录提前终止的扇区//更新分区的元数据,从错误和恢复中移除指定扇区,加入到终止扇区中,并更新当前算力,最后检查分区中的各个变量是否符合要求,如算力必须要大于0}//取得移除扇区中未证明的扇区,从Partition中的Faults、Recoveries和Unprove中删除终止的扇区,加入Terminated中,并调整相应的算力
bitfield.IntersectBitField(removedSectors,p.Unproven) st.SaveDeadlines(store, deadlines) //最后保存并更新deadlineprocessEarlyTerminations(rt) { //处理这些提前终止的扇区//移除每个提前终止的sector,修改deadline中对应的partition,最后保存deadline,检查处理完了所有st.EarlyTerminations代表的提前终止的扇区,返回result保存了每个提前终止的扇区,统计终止的惩罚和初始质押st.PopEarlyTerminations -> dl.popEarlyTerminations partition.PopEarlyTerminationsburnFunds(rt, penalty) //燃烧惩罚notifyPledgeChanged(rt, pledgeDelta) //调整质押requestTerminateDeals //终止交易
}// 如果还有需要终止的扇区就再调用一次终止扇区合约requestUpdatePower //更新算力

三、惩罚fil计算

终止扇区至少扣除该扇区3.5天的预计收益,如果矿工的实际收益已经超过该值,则再扣除20天预期区块奖励(提交一个扇区需要的存储质押的预期区块奖励的预测阶段)的基础上,扣除140天的预期奖励。

TerminationLifetimeCap = 140 //扇区终止时惩罚的生命周期天数为140天CappedSectorAge = min(sectorAge,lifetimecap) //扇区年龄和140取较小值expectedReward = dayReward * CappedSectorAge //预期的奖励RelevantReplaceAge = min(replaceSectorAge,lifetime-cappedSectorAge)  //如果生命周期低于上限,并且扇区替换了capacity,老扇区生命周期的预期奖励提高到上限expectedReward = expectedReward + replaceDayReward*relevantReplaceAgemax(twentyDayRewardAtActivation + expectedReward/2, qaSectorPower*expectedRewardForProvingPeriod) // 参数2:终止扇区惩罚的下限,是对扇区预期奖励的预测

将deadline中所有扇区的惩罚加起来

st.ApplyPenalty(penalty) //支付惩罚FeeDebt = FeeDebt + penalty

st.AddInitialPledge(totalInitialPledge.Neg()) //移除初始质押 InitialPledge = InitialPledge - totalInitialPledge

优先从奖励锁仓扣除,扣光后从可用余额扣除 //必要时可以提前把余额取走,减少损失

BurnFunds //烧掉惩罚

lotus 从miner提币到钱包

./lotus-miner actor withdraw count(如果未指定数量,则余额全部提走)

查看钱包余额

./lotus wallet list
Address                                                                                 Balance                          Nonce  Default
t17avblosugzoesvt76xsgbj2rett2av22mhmnayq                                               55000 FIL                        0
t3u4fkk5wyjsq4ukr6km2xypx5gypsaciuxqsgo5wegfaejrbjz7on7ulrbpxbkrmqllxu62zyvxausoflawlq  49944999.999749895749262395 FIL  30     X

设置当前钱包地址

./lotus wallet set-default t17avblosugzoesvt76xsgbj2rett2av22mhmnayq

向其它地址转10000个fil:

./lotus send t3xalzv2yxh47jj7ydhvahrv3rklzddvioe33c6n427dt7sk2es2ryl6jckteg4dn6ajoyvvosejkxw6j7x53q 10000

lotus-miner扇区销毁、提币相关推荐

  1. lotus miner 元数据 删除 重建

    lotus miner 元数据重建 主网 lotus-miner backup 测试网模拟lotus-miner元数据损坏,重建 指定原来的矿工号重新初始化 环境变量配置miner API 运行 lo ...

  2. esp8266手机端app_OKEX手机端APP提币教程(附视频)

    OKEX手机端APP提币教程(附视频) 相信很多币圈资深小伙伴都知道OKEX交易所都可以提币,那么提币到底是什么意思呢?提币简单来说就是资金转账,也就是把你现有的币转账到其他平台,这里就需要一个转账平 ...

  3. 4链提币接口通道源码

    介绍: 淘到的多签提币接口 可以借鉴参考 仅用于研究 请与下载24小时内删除 您的任何行和后果与本站无关 建议任何操作都走官方! 云盘下载地址: http://zijieyunpan.cn/yXYGw ...

  4. 2023 多签提币接口通道HTML源码

    简介: 多签提币接口 可以借鉴参考 仅用于研究 请与下载24小时内删除 您的任何行和后果与本站无关 建议任何操作都走官方!

  5. Lotus Miner和分布式设置

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

  6. lotus 删除扇区 删除残留扇区

    系列文章目录 lotus 删除残留扇区 系列文章目录 前言 一.删除残留扇区 二.删除步骤 1.worker机 2.启动worker 参考 前言 删除残留扇区 一.删除残留扇区 无法删除错误扇区 lo ...

  7. lotus 错误扇区 恢复

    lotus-miner proving deadlines 查看所有错误扇区 lotus-miner proving faults 查看窗口错误扇区 lotus-miner proving deadl ...

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

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

  9. miner配置文件详解

    Lotus Miner 配置文件,详细介绍了其中包含的选项的含义. Lotus Miner 配置是在安装步骤中的初始化步骤之后创建的,并且在定义时放置在 ~/.lotusminer/config.to ...

最新文章

  1. 第三章 阴阳的工作机制(1)
  2. MVC4发布到IIS7报404错误
  3. pythonfor循环是迭代器吗_[Python] 迭代器是什么?你每天在用的for循环都依赖它!...
  4. 以观察者设计模式举例的房产信息系统
  5. Web调用海康威视摄像头
  6. 【C#】AutoCAD二次开发笔记
  7. ps怎么为指定区域填充指定背景色图案?
  8. html打印预览空白,win7系统下使用IE浏览器预览打印页面时显示页面空白如何解决...
  9. Android Studio MAC M1 安装模拟器
  10. wifi路由器如何连接无线网络连接服务器,wifi路由器的使用方法 | 192路由网
  11. CNN神经网络猫狗分类经典案例
  12. cpu排行计算机专业,cpu性能天梯图,教您电脑cpu排行榜
  13. Rasdial实现宽带自动连接
  14. 在vue页面监听中如何修改子元素的样式
  15. 产销存报表直接在MB5B上取数
  16. 背后的力量 | 华云数据助力龙光地产灾备平台建设 推动业务系统转型革新
  17. IIS Web 服务器的权限设置
  18. TC358762,MIPI 转 RGB,高清分辨率,支持墨水屏
  19. Notion-数据导入
  20. MySQL统计总数就用count,别花里胡哨的《死磕MySQL系列 十》

热门文章

  1. 软件测试工程师要学会Python
  2. html从入门到精通前锋,神武3从入门到精通,少主全方面养成攻略
  3. IntelliJ IDEA连接数据库报错及解决
  4. 计算机应用软件的主要功能,计算机管理信息应用软件系统主要有哪些方面的功能要求?...
  5. 苹果Mac图片无损放大软件:​​​​Topaz Gigapixel AI
  6. 书论15 萧衍《草书状》
  7. 【观察】华为重构分销伙伴体系,坚持“长期主义”做大分销市场
  8. 爱思唯尔LaTeX模板(elsarticle-template)踩坑记录 Missing \endcsname inserted
  9. 【故障诊断】cv2.imwrite无法写入图片,但程序就是不报错
  10. 面试中常见的数据结构与算法