挖矿¶
挖矿环境¶
矿机配置¶
CPU:4核+
内存:8G+
带宽:5M+(有公网IP)
磁盘:1T+
环境管理¶
查看配置¶
./storagecli config
./lambdacli config
./storagenode info disk
./storagenode info network
./minernode info
检查网络步骤¶
- 检查是否开启防火墙
- 检查端口映射是否成功
- 检查配置是否正确
测试网络配置¶
./minernode info --test
./storagenode info network --test
多磁盘配置¶
#~/.lambda_storage/config/config.toml
[storage]
data_dir = [ "磁盘1", "磁盘2", "磁盘N"]
多存储节点配置¶
# 与单节点配置相同
# miner node自动分配存储节点进行存储
查看存储节点¶
./minernode storage list
查看订单使用空间¶
./storagenode info disk
存储挖矿¶
存储架构¶
网络架构¶
挖矿子帐户¶
用途:minernode提交挖矿声明、挖矿证明交易
生成方式:钱包、lambdacli创建挖矿子帐户
挖矿过程¶
-
提交挖矿声明
矿工每存储8GB数据会封装1个挖矿声明
1挖矿声明 = 8存储算力 -
挖矿声明有效期
挖矿声明有效期默认为1个月,过期后会自动重新提交
挖矿声明有效期 < 存储订单有效期
矿机存储A订单,A订单有效期为1个月,挖矿声明有效期为1个月
矿机存储A、B订单,A有效期1个月、B有效期6个月,挖矿声明有效期1个月
矿机存储A、B订单,A有效期3个月、B有效期6个月,挖矿声明有效期3个月
当A订单数据过期后可释放A订单占用空间,B订单数据会重新封装声明
用户的存储订单可在最大购买时间(--max-buy-duration)内进行续期 -
提交挖矿证明
每个区块选择10名矿工提交挖矿证明,存储算力越大被选中概率越高
挖矿证明需要在5个区块周期内提交 -
获得出块奖励
出块奖励的43% 给提交挖矿证明的10名矿工
建块验证节点收取打包挖矿证明的5%手续费
矿工未提交挖矿证明则该笔奖励打入销毁池
矿工维护¶
矿工因升级或其他理由需要暂时停止提供服务时,可执行矿工维护命令 使矿工进入维护状态。矿工维护完成后,可执行解除维护命令 恢复活跃。
- 区块链内最多允许50个矿工同时进行维护;
- 30天内,单个矿工累计维护时长不允许超过3天;
- 30天内,如矿工累计维护时长超过3天,矿工会被监禁;
- 超过5000次未成功响应挑战,矿工会被监禁;
- 被监禁的矿工,可使用
lambdacli tx market unjail
解禁,同时会扣除矿工账户余额100LAMB。
操作文档参考:矿工维护手册
匹配订单续期¶
区块链支持匹配订单续期功能。
1. 匹配订单未到期的,购买了空间的账户可使用lambdacli tx market order-renewal
命令续期。
2. 匹配订单已过期的,不能再进行续期;
3. 同一匹配订单可多次续期;
4. 续期后的匹配订单总时长(即结束时间减开始时间),不能超过60个月(1个月=30天);
5. 订单续期后,需要执行minernode order refresh
使矿工获取匹配订单最新结束日期;
6. 订单续期后,需要重新执行storagecli token sync [account]
使存储获取订单最新日期
操作文档参考:匹配订单续期
常见问题¶
上传文件报错¶
检查网络环境是否正确
检查存储节点、矿工节点日志是否有报错信息,并反馈给项目维护人员
挖矿成功率为0%¶
1.检查矿工是否被监禁
检查矿工状态命令:
./lambdacli query market miner [miner_address]
解除监禁命令:
./lambdacli tx market unjail --from [miner_account]
2.检查存储订单是否过期
检查匹配订单命令:
./lambdacli query market matchorders [account_address] [page] [limit]
订单续期命令:
./lambdacli tx market order-renewal [orderId] [duration] --from [account]
3.检查minernode与storagenode网络是否正常
./minernode info --test
./storagenode info network --test
4.检查矿工节点和存储节点程序是否正在运行,是否有错误日志信息
5.检查订单使用空间
检查订单使用空间命令:
./storagenode info disk --local-mode
version: 0.3.2-13-gdbcabcf-debug
storage.storage_name: t4s5
storage.data_dir: [/data2/storage/store /data3/storage/store /data/storage/store /data4/store]
Disk |Total |Used |Free |Order |Occupied |SafeCleanup?
/data2/storage/store |18 GiB |14 GiB |4.6 GiB |0A0250B4143BD1F69DFBEBD98ADDDFEF99397511 |240 MiB |false
| | | |82EB03450C809F3F8867C8D30BDD42D6C8802E92 |2.7 GiB |false
/data/storage/store |187 GiB |23 GiB |164 GiB |82EB03450C809F3F8867C8D30BDD42D6C8802E92 |3.3 GiB |false
| | | |BB549FB804062AB89A6AE3C3C8B6E1188EA9F36C |128 MiB |false
| | | |F083BC34E5CC1E2E6DBD20F0A274A70252DCCBC3 |1.3 GiB |false
6.清理过期订单空间
需要先停止storagenode进程(./storagenode run --stop),再执行清理过期订单空间命令:
--prune会把Mining的值不为✓的订单删除并且不影响挖矿/算力
./storagenode info disk --prune
blockTime: 2020-04-12 14:01:27 UTC
version: 0.3.2-13-gdbcabcf-debug
storage.storage_name: t4s5
storage.data_dir: [/data2/storage/store /data3/storage/store /data/storage/store /data4/storage/store]
Disk | Total |Used |Free |Order |Occupied |Mining?
/data2/storage/store |18 GiB |14 GiB |4.6 GiB |0A0250B4143BD1F69DFBEBD98ADDDFEF99397511 |240 MiB |✓
| | | |82EB03450C809F3F8867C8D30BDD42D6C8802E92 |2.7 GiB |✓
/data3/storage/store |18 GiB |18 GiB |0 B |A60DF26061D0A98D4F9338AAC8A0683BD0927429 |18 GiB |
/data/storage/store |187 GiB |50 GiB |136 GiB |51866A6BBB6E2EE819D921D85094E76D1D54410A |116 MiB |
| | | |82EB03450C809F3F8867C8D30BDD42D6C8802E92 |3.3 GiB |✓
| | | |BB549FB804062AB89A6AE3C3C8B6E1188EA9F36C |128 MiB |✓
| | | |F083BC34E5CC1E2E6DBD20F0A274A70252DCCBC3 |1.3 GiB |✓
/data4/storage/store |37 GiB |34 GiB |2.7 GiB |A60DF26061D0A98D4F9338AAC8A0683BD0927429 |7.0 GiB |
7.矿工成交订单处理
挖矿过程中,矿工需要定期对成交的订单发起提现操作,以保证矿工账户中有足够的lamb。 如果发现匹配的订单已经过期,此时需要对成单发起提现操作,否则可能会 影响矿工整体的可用空间,影响创建卖单。
使用./lambdacli query market matchorders [acc] [page] [limit]
查询成单,观察EndTime
字段,
如果有EndTime
小于当前时间的订单,需要对该成单进行提现,或者使用批量提现功能。
单笔提现:lambdacli tx market withdraw-miner [matchOrder-id] --from master --broadcast-mode block -y
批量提现:./lambdacli tx market miner-withdraw-count [page] [limit] --from acc --broadcast-mode block -y
注:如果批量提现返回gas错误,需要指定gas数量,使用--gas [count]
, count最大可设置为4000000,可保证提现成功。