Clustora

Project paper · local Demo

A public roster.
A personal choice.

Clustora records whether a wallet belongs to a fixed public group. It answers a narrow coordination question without pretending to deliver a private community or an access service.

What joining changes Illustrative example, not live member data.
Wallet AChooses to join
joinfrom wallet to group
Group 7A valid group identifier
A's membership
Active
Example member count
1 of 10,000
Asset allowance
None

Leaving makes A inactive and reduces this example count to zero. It changes only A's membership, not another wallet's state or public event history.

The smallest useful roster.

A group may need a public answer to a simple question: which wallets currently choose to participate? Clustora records a boolean membership per group and wallet, plus a count per group. It does not create a messaging community, indexer, verified directory or membership benefit.

Each wallet chooses for itself. Joining and leaving are deliberately basic actions, without an administrator managing a list of substitute authors.

Finite and explicit.

The immutable first contract supports group IDs 1 through 32. Each group can have up to 10,000 members. Zero and out-of-range joins are invalid. Joining an already active membership is rejected, and a full group rejects additional joins.

Leave requires an active membership belonging to the caller. It clears that boolean and decreases the group count. A caller can later rejoin if there is room. Membership in multiple groups is allowed.

These group IDs are not verified organizations or named communities. Their meanings must be arranged separately, without implying that the contract validates those meanings.

The wallet is the actor.

Identity comes from the transaction sender. There is no author-address parameter that can impersonate someone else. A wallet can only change its own membership in the selected group; another wallet's active state remains separate.

There is no proxy, administrator membership override or privileged upgrade key. A future change needs a separately reviewed contract address with explicit migration, not a silent website switch. Historical events cannot be rewritten.

The contract has no membership version counter. The interface rereads current state before an action, but does not promise stronger replay guarantees across intervening leave/rejoin cycles.

Read the prepared contract

A record, not an entitlement.

Being active does not grant content, a service, voting power, verified identity or a reward. The contract is not an authorization system, a token gate or proof that a real person belongs to an organization.

Multiple wallets are allowed. One wallet is not proof of one person. No attendance, real-world truth, privacy, moderation or delivery promise is made.

Native Gas.
No application payment.

The nonpayable contract accepts no deposits, collects no fee, holds no funds and approves no tokens. A future deployed join or leave consumes native network Gas. Connecting a wallet alone does not send an action.

The interface must review the exact group, account, network and contract, estimated Gas, buffered Gas limit, fee cap and maximum estimated fee. Before sending, it checks actual code identity, current state/capacity, account/network, simulation, balance and a final review-expiry boundary.

Success requires the matching successful receipt and a MembershipChanged event for the exact group, account and expected active boolean. Public records may be indexed later. Leaving updates current state, not public event history.

Ready to inspect.
Not publicly deployed.

This local project includes a long website, separate groups room, this paper, privacy, contract source/local tests and an unsigned preview. No network, address or verified runtime is configured; actual reads, estimates and writes stay disabled.

Labelled local practice uses example wallets in page memory only. It does not use a network, wallet, backend, persistence or Gas, and it never produces a public receipt. Clear or reload removes it.

A future deployment requires reviewed compatible network/RPC, controlled signer public address, bytecode identity, balance/fee/Gas/nonce checks and separate explicit authorization. The preview cannot sign or broadcast. No private key belongs in a website.

Read-only membership history is a possible later addition, not a running indexer. X is pending rather than substituted with another project's account. Temporary-chain tests are not an independent security audit.