🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Structs Guild

by @abstrct

Manages guild operations in Structs. Covers creation, membership, settings, and Central Bank token operations. Use when creating a guild, joining or leaving...

Versionv1.3.1
Downloads1,127
TERMINAL
clawhub install structs-guild

πŸ“– About This Skill


name: structs-guild description: Manages guild operations in Structs. Covers creation, membership, settings, and Central Bank token operations. Use when creating a guild, joining or leaving a guild, managing guild settings, minting or redeeming guild tokens, managing Central Bank collateral, or coordinating guild membership.

Structs Guild

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.

Guild Rank System

Guilds use a numeric rank system to determine authority. Lower number = higher privilege.

| Rank | Meaning | |------|---------| | 1 | Maximum privilege (guild creator) | | 2–100 | Custom ranks assigned by leadership | | 101 | Default rank assigned on join | | 0 | Unset / no rank |

Rank-based authority: a player can only modify members whose rank is strictly worse (higher number) than their own. The guild creator (rank 1) can manage everyone.

Procedure

1. Discover guilds β€” structsd query structs guild-all or structsd query structs guild [id]. 2. Create guild β€” Requires PermReactorGuildCreate (524288) on the reactor and PermSubstationConnection (1024) on the entry substation. structsd tx structs guild-create TX_FLAGS -- [reactor-id] [endpoint] [entry-substation-id]. 3. Membership β€” Join: structsd tx structs guild-membership-join -- [guild-id] [infusion-id,infusion-id2,...] (use --player-id, --substation-id if needed). New members receive default guild rank (101). Proxy join: structsd tx structs guild-membership-join-proxy -- [guild-id] [player-id] [infusion-ids]. Invite flow: structsd tx structs guild-membership-invite -- [guild-id] [player-id] β†’ invitee runs structsd tx structs guild-membership-invite-approve -- [guild-id] or structsd tx structs guild-membership-invite-deny -- [guild-id]. Request flow: structsd tx structs guild-membership-request -- [guild-id] β†’ owner runs structsd tx structs guild-membership-request-approve -- [guild-id] [player-id] or structsd tx structs guild-membership-request-deny -- [guild-id] [player-id]. Kick: structsd tx structs guild-membership-kick -- [guild-id] [player-id]. 4. Rank management β€” Update a member's rank: structsd tx structs player-update-guild-rank TX_FLAGS -- [player-id] [guild-rank]. Requires PermAdmin (2) on guild, or rank-based authority (actor rank strictly better than target's current rank). Update entry rank (rank assigned to new joiners): structsd tx structs guild-update-entry-rank TX_FLAGS -- [new-entry-rank]. Requires PermUpdate (4) on guild; new rank must be >= caller's own rank. 5. Settings β€” See Commands Reference: guild-update-endpoint, guild-update-entry-substation-id, guild-update-join-infusion-minimum (and -minimum-by-invite, -minimum-by-request), guild-update-owner-id. All use -- before positional args. 6. Central Bank β€” Mint: structsd tx structs guild-bank-mint TX_FLAGS -- [alpha-amount] [token-amount] (no guild-id β€” signer's guild is used implicitly; both amounts are raw integers). Redeem: structsd tx structs guild-bank-redeem -- [guild-id] [amount]. Confiscate and burn: structsd tx structs guild-bank-confiscate-and-burn -- [guild-id] [address] [amount].

Provider Access Control via Guild Rank

To restrict a provider to members of a specific guild at a minimum rank, use guild rank permissions instead of direct player grants:

structsd tx structs permission-guild-rank-set --from [key] --gas auto -y -- [provider-id] [guild-id] 262144 [rank]

This grants PermProviderAgreementCreate (262144) on the provider to any member of the specified guild at or above the given rank. To revoke:

structsd tx structs permission-guild-rank-revoke --from [key] --gas auto -y -- [provider-id] [guild-id] 262144

Commands Reference

| Action | Command | |--------|---------| | Create | structsd tx structs guild-create -- [reactor-id] [endpoint] [entry-substation-id] | | Join | structsd tx structs guild-membership-join -- [guild-id] [infusion-ids] | | Join proxy | structsd tx structs guild-membership-join-proxy -- [guild-id] [player-id] [infusion-ids] | | Invite | structsd tx structs guild-membership-invite -- [guild-id] [player-id] | | Invite approve/deny | structsd tx structs guild-membership-invite-approve/deny -- [guild-id] | | Invite revoke | structsd tx structs guild-membership-invite-revoke -- [guild-id] [player-id] | | Request | structsd tx structs guild-membership-request -- [guild-id] | | Request approve/deny | structsd tx structs guild-membership-request-approve/deny -- [guild-id] [player-id] | | Request revoke | structsd tx structs guild-membership-request-revoke -- [guild-id] | | Kick | structsd tx structs guild-membership-kick -- [guild-id] [player-id] | | Update guild rank | structsd tx structs player-update-guild-rank -- [player-id] [guild-rank] | | Update entry rank | structsd tx structs guild-update-entry-rank -- [new-entry-rank] | | Update endpoint | structsd tx structs guild-update-endpoint -- [guild-id] [endpoint] | | Update entry substation | structsd tx structs guild-update-entry-substation-id -- [guild-id] [substation-id] | | Update infusion minimums | structsd tx structs guild-update-join-infusion-minimum/minimum-by-invite/minimum-by-request -- [guild-id] [value] | | Update owner | structsd tx structs guild-update-owner-id -- [guild-id] [new-owner-player-id] | | Bank mint | structsd tx structs guild-bank-mint -- [alpha-amount] [token-amount] (signer's guild, raw integers) | | Bank redeem | structsd tx structs guild-bank-redeem -- [guild-id] [amount] | | Bank confiscate | structsd tx structs guild-bank-confiscate-and-burn -- [guild-id] [address] [amount] | | Set guild rank permission | structsd tx structs permission-guild-rank-set -- [object-id] [guild-id] [permission] [rank] | | Revoke guild rank permission | structsd tx structs permission-guild-rank-revoke -- [object-id] [guild-id] [permission] |

TX_FLAGS: --from [key-name] --gas auto --gas-adjustment 1.5 -y

Verification

  • Guild: structsd query structs guild [id] β€” members, settings, owner.
  • Membership applications: structsd query structs guild-membership-application-all or by ID.
  • Bank collateral: structsd query structs guild-bank-collateral-address [guild-id] β€” verify reserves.
  • Guild rank permissions: structsd query structs guild-rank-permission-by-object-and-guild [object-id] [guild-id] β€” verify rank-based access.
  • Error Handling

  • Insufficient infusion: Guild may require minimum infusion to join. Query guild for joinInfusionMinimum; meet requirement or get invite (bypass).
  • Already member: Cannot join twice. Check guild-membership-application status.
  • Mint/redeem failed: Verify guild has sufficient Alpha Matter collateral for mint; sufficient tokens for redeem.
  • Permission denied: Only guild owner (or delegated address) can update settings, approve requests, mint/redeem. Rank-based operations require actor rank strictly better than target.
  • Rank too low: guild-update-entry-rank requires new rank >= caller's own rank. Cannot set entry rank higher than your own authority.
  • See Also

  • knowledge/economy/guild-banking β€” Central Bank, collateral, token lifecycle
  • knowledge/economy/energy-market β€” Provider guild access
  • knowledge/mechanics/permissions β€” Full permission system reference (24-bit values, guild rank permissions)
  • knowledge/lore/factions β€” Guild politics