lotus-miner扇区销毁、提币
当扇区出现错误,由于一些不可抗力无法恢复(如硬盘损坏、备份丢失等),那么区块浏览器就总会显示有几个错误扇区,影响了存储提供者形象,便要及时终止错误扇区。或是连续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扇区销毁、提币相关推荐
- lotus miner 元数据 删除 重建
lotus miner 元数据重建 主网 lotus-miner backup 测试网模拟lotus-miner元数据损坏,重建 指定原来的矿工号重新初始化 环境变量配置miner API 运行 lo ...
- esp8266手机端app_OKEX手机端APP提币教程(附视频)
OKEX手机端APP提币教程(附视频) 相信很多币圈资深小伙伴都知道OKEX交易所都可以提币,那么提币到底是什么意思呢?提币简单来说就是资金转账,也就是把你现有的币转账到其他平台,这里就需要一个转账平 ...
- 4链提币接口通道源码
介绍: 淘到的多签提币接口 可以借鉴参考 仅用于研究 请与下载24小时内删除 您的任何行和后果与本站无关 建议任何操作都走官方! 云盘下载地址: http://zijieyunpan.cn/yXYGw ...
- 2023 多签提币接口通道HTML源码
简介: 多签提币接口 可以借鉴参考 仅用于研究 请与下载24小时内删除 您的任何行和后果与本站无关 建议任何操作都走官方!
- Lotus Miner和分布式设置
通常为了让Miner更专注于挖矿,我们可以从系统结构上让它尽量优化,把它和节点机以及封装机分开在不同的机器上启动. 1. 首先是节点和Miner分开 启动节点机器后,创建一个可供Miner使用的tok ...
- lotus 删除扇区 删除残留扇区
系列文章目录 lotus 删除残留扇区 系列文章目录 前言 一.删除残留扇区 二.删除步骤 1.worker机 2.启动worker 参考 前言 删除残留扇区 一.删除残留扇区 无法删除错误扇区 lo ...
- lotus 错误扇区 恢复
lotus-miner proving deadlines 查看所有错误扇区 lotus-miner proving faults 查看窗口错误扇区 lotus-miner proving deadl ...
- filecoin/lotus 官方开发文件中文翻译2019.12.17最新版本
filecoin官方开发文档 Filecoin Testnet Mining 荷花 Lotus是Filecoin分布式存储网络的实现.可以运行lotus客户端来加入filecoin 测试网. 有关Fi ...
- miner配置文件详解
Lotus Miner 配置文件,详细介绍了其中包含的选项的含义. Lotus Miner 配置是在安装步骤中的初始化步骤之后创建的,并且在定义时放置在 ~/.lotusminer/config.to ...
最新文章
- 第三章 阴阳的工作机制(1)
- MVC4发布到IIS7报404错误
- pythonfor循环是迭代器吗_[Python] 迭代器是什么?你每天在用的for循环都依赖它!...
- 以观察者设计模式举例的房产信息系统
- Web调用海康威视摄像头
- 【C#】AutoCAD二次开发笔记
- ps怎么为指定区域填充指定背景色图案?
- html打印预览空白,win7系统下使用IE浏览器预览打印页面时显示页面空白如何解决...
- Android Studio MAC M1 安装模拟器
- wifi路由器如何连接无线网络连接服务器,wifi路由器的使用方法 | 192路由网
- CNN神经网络猫狗分类经典案例
- cpu排行计算机专业,cpu性能天梯图,教您电脑cpu排行榜
- Rasdial实现宽带自动连接
- 在vue页面监听中如何修改子元素的样式
- 产销存报表直接在MB5B上取数
- 背后的力量 | 华云数据助力龙光地产灾备平台建设 推动业务系统转型革新
- IIS Web 服务器的权限设置
- TC358762,MIPI 转 RGB,高清分辨率,支持墨水屏
- Notion-数据导入
- MySQL统计总数就用count,别花里胡哨的《死磕MySQL系列 十》
热门文章
- 软件测试工程师要学会Python
- html从入门到精通前锋,神武3从入门到精通,少主全方面养成攻略
- IntelliJ IDEA连接数据库报错及解决
- 计算机应用软件的主要功能,计算机管理信息应用软件系统主要有哪些方面的功能要求?...
- 苹果Mac图片无损放大软件:​​​​Topaz Gigapixel AI
- 书论15 萧衍《草书状》
- 【观察】华为重构分销伙伴体系,坚持“长期主义”做大分销市场
- 爱思唯尔LaTeX模板(elsarticle-template)踩坑记录 Missing \endcsname inserted
- 【故障诊断】cv2.imwrite无法写入图片,但程序就是不报错
- 面试中常见的数据结构与算法