涡轮增压器可以作用于矿架和矿机:立刻挖一轮
- 原来挡掉增压器(白天多扣一次电、挖矿不多);改为照原版机器规则多跑一轮:增压器作用于矿机时打标记,矿架、矿机的夜间回调据此立刻结算一轮(TurboMine)——扣一晚的电、按全网份额出块发到收款地址、算一次损耗和暴毙 - 增压器的判断、消耗、充电走原版;夜间按机器发放抽成 Night.PayMachine 供两处共用 - 手册矿机一章、夜间日志 nightlog.turbo,8 种语言 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7269c253af
commit
2badc45a5a
13 files changed
+109
-19
No files matched your search
@@ -72,6 +72,17 @@ namespace Decentralized
|
||||
}
|
||||
|
||||
/// <summary>挖矿产出按各台机器的算力占比,发到每台机器设置的收款地址;没设置或地址对应的钱包已销毁,这一份丢失。</summary>
|
||||
/// <summary>一台机器的产出发到它的收款地址;没设置或钱包已销毁返回 false(产出丢失)。</summary>
|
||||
public static bool PayMachine(SaveData d, GameItem machine, double amount)
|
||||
{
|
||||
string addr = Payout.Get(machine);
|
||||
var w = string.IsNullOrEmpty(addr) ? null : d.Own(addr);
|
||||
if (w == null) return false;
|
||||
w.Add(Assets.PSC, amount);
|
||||
d.Chain(d.Address("pool"), w.Address, Assets.PSC, amount, history: false);
|
||||
return true;
|
||||
}
|
||||
|
||||
private static void PayMined(SaveData d, IEnumerable<(GameItem item, double hash)> cards, double mined, double totalHash)
|
||||
{
|
||||
var byMachine = new Dictionary<GameItem, double>();
|
||||
@@ -84,11 +95,7 @@ namespace Decentralized
|
||||
foreach (var kv in byMachine)
|
||||
{
|
||||
double share = mined * kv.Value / totalHash;
|
||||
string addr = Payout.Get(kv.Key);
|
||||
var w = string.IsNullOrEmpty(addr) ? null : d.Own(addr);
|
||||
if (w == null) { lost += share; continue; }
|
||||
w.Add(Assets.PSC, share);
|
||||
d.Chain(d.Address("pool"), w.Address, Assets.PSC, share, history: false);
|
||||
if (!PayMachine(d, kv.Key, share)) lost += share;
|
||||
}
|
||||
if (lost > 1e-9)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user