首先恭喜大家积极参与到人类知识图谱的贡献中来,不论是挖矿还是领域专家,我真心认为都在做一件了不起的大事。
可是对于矿工而言,除了矿机数量的提升,更重要的是质量。为什么这么说?
三个方面:
一、测试网参与人数还有限,出块率相对较高,扇区失效可以很快挖到下一个。
二、目前扇区保存的数据依然属于测试,扇区价值有限。
三、压力测试,是上主网后的必经之路。这不光考量扇区的通信质量,也会间接考量硬件是否合格。
综上所述,既然大家在为人类知识图谱做贡献,请拿出诚意,保障质量!!!
废话不多说,进入正题
######################################################################
如何查询扇区状态:
# epik-miner sectors list
偶然你会看到不适的画面,比如上图 56 CommitFailed(就是说第56这个扇区封装失败了) 😅
怎么办????How come?
在知道怎么办之前,首先要知道Why?
######################################################################
扇区封装流程图
/*
\* Empty <- incoming deals
| |
| v
\*<- WaitDeals <- incoming deals
| |
| v
\*<- Packing <- incoming committed capacity
| |
| v
\*<- PreCommit1 <--> SealPreCommit1Failed
| | ^ ^^
| | \*----------++----\\
| v v || |
\*<- PreCommit2 --------++--> SealPreCommit2Failed
| | ||
| v /-------/|
\* PreCommitting <-----+---> PreCommitFailed
| | | ^
| v | |
\*<- WaitSeed -----------+-----/
| ||| ^ |
| ||| \\--------\*-----/
| ||| |
| vvv v----+----> ComputeProofFailed
\*<- Committing |
| | ^--> CommitFailed
| v ^
| SubmitCommit |
| | |
| v |
\*<- CommitWait ---/
| |
| v
| FinalizeSector <--> FinalizeFailed
| |
| v
\*<- Proving
|
v
FailedUnrecoverable
UndefinedSectorState <- ¯\\_(ツ)_/¯
| ^
\*---------------------/
\*/
######################################################################
可以看出整个封装过程经历了12个步骤
其中错误有5类
SealPreCommit1Failed
SealPreCommit2Failed
PreCommitFailed
ComputeProofFailed
CommitFailed
当你知道了出问题的步骤在哪,才能对症下药,正确处理,对吧!
下面以上图的56 CommitFailed举例:
步骤一,找到该扇区的储存位置
epik-miner storage find 57
第二步,查看日志文件
epik-miner sectors status –log –on-chain-info 57
第三步,重新运行该错误的上一步骤,对于CommitFailed,也就是执行Committing
epik-miner sectors update-state –really-do-it 57 Committing
第四步,再次查询扇区状态
epik-miner sectors list
此方法适用于大部分扇区修复的情况。高阶扇区修复请听下回分解。
上图
欢迎脚本大佬直接写成脚本,自动监控,并执行自动修复~