Structs Mining

Important: Entity IDs containing dashes (like 3-1, 4-5) are misinterpreted as flags by the CLI parser. All transaction commands in this skill use -- before positional arguments to prevent this.

Safety

Mining and refining are expeditions — long-running background jobs that auto-submit completion transactions when their proof lands. See SAFETY.md for the trust contract; in this skill:

Procedure

  1. Check planet orestructsd query structs planet [id]. If currentOre == 0, explore new planet first.
  2. Initiate mine — The mine action is implicit in struct-ore-mine-compute. Mining is an expedition: the compute runs ~17 hours and auto-submits its completion transaction (this is why -y is present below — there will be no shell prompt when the proof lands).

    Approval Block — confirm before launch:

    Launch in a background terminal:

    structsd tx structs struct-ore-mine-compute -D 3 --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [struct-id]
    

    Mining difficulty is 14,000; expect ~17 hours for difficulty to drop to D=3. Log the PID to memory/jobs/.

  3. Refine immediately after mine completes — Ore is stealable. Refining is also an expedition: ~34 hours, auto-submitted completion.

    Approval Block — same five items as mine, applied to refining (~34 hour deferred-consent window).

    structsd tx structs struct-ore-refine-compute -D 3 --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [struct-id]
    

    Refining difficulty is 28,000; expect ~34 hours for D=3.

  4. Store or convert — Alpha Matter is not stealable. Use reactor (1g = 1 kW) or generator infusion as needed.
  5. Verify — Query planet (ore decreased), struct (ore/Alpha state), player (resources).

CRITICAL: Mining and refining are multi-hour background operations. Launch compute in a background terminal and do other things while waiting. Never sit idle watching a hash grind. See awareness/async-operations.

CRITICAL: Ore is stealable. Alpha Matter is not. Refine as soon as mining completes — every hour ore sits unrefined is an hour it can be stolen.

Commands Reference

Action CLI Command
Mine compute (PoW + auto-complete) structsd tx structs struct-ore-mine-compute -D 3 -- [struct-id]
Mine complete (manual, rarely needed) structsd tx structs struct-ore-mine-complete -- [struct-id]
Refine compute (PoW + auto-complete) structsd tx structs struct-ore-refine-compute -D 3 -- [struct-id]
Refine complete (manual, rarely needed) structsd tx structs struct-ore-refine-complete -- [struct-id]
Query planet structsd query structs planet [id]
Query struct structsd query structs struct [id]
Query player structsd query structs player [id]

TX_FLAGS (interactive — the CLI prompts you to confirm): --from [key-name] --gas auto --gas-adjustment 1.5

TX_FLAGS_APPROVED (only after commander approval; suppresses the prompt): TX_FLAGS plus -y. See SAFETY.md “The -y Rule.” Mine-compute and refine-compute are the documented -y exception — they auto-submit completion when no shell is attached, so the Approval Block has to be your gate, not the CLI prompt.

Requires: structsd on PATH and a configured signing key.

Verification

Error Handling

Timing

Mining and refining have high base difficulties, meaning they take hours for difficulty to drop to a feasible level. At D=3, the hash is trivially instant — the wait IS the time, and zero CPU is wasted on hard hashing.

Operation Difficulty D=3
Mine 14,000 ~17 hr
Refine 28,000 ~34 hr
Full cycle (mine + refine) ~51 hr

Use -D 3 for mine/refine. The hash is trivially instant at D=3, wasting zero CPU cycles. Higher -D values start sooner but burn significant compute on hard hashes.

Pipeline strategy: After initiating a mine, immediately do other things — build structs, scout players, plan defense. When the mine completes, immediately start the refine. While refining runs (~34 hr), you have time to initiate the next mine so its age clock starts ticking. Always keep something aging.

See Also