Participate in mining
Evidence level: mixed. Guardian registration, validator deposits, and Treasury miner views are production references. Runtime mining gossip is an implemented capability in CoNET-SI and CoNET-DL. Admission to the Guardian registry is permissioned.
Public site: https://gitbook.conet.network/developers/l1-mining.html
“Mining” in CoNET is not one role. Before you write a client or provision a host, pick the set you actually mean.
Four sets (do not collapse them)
| Set | Plane | How membership is evidenced | What it is not |
|---|---|---|---|
| L1 validators | Proof-of-stake consensus | ValidatorDepositRedeem deposit / stake views |
Not Guardian registration, not a live SI listener |
| Guardian Nodes | DePIN registry on L1 | GuardianNodesInfoV6.getAllNodes |
Not proof the process is online |
| Runtime miners | LayerMinus ↔ SI gossip | A collector has a usable mining SSE and verifies the node signature | Not an L1 block voter |
| Treasury miners | Bridge quorum | TreasuryBridgeV3.miners() |
Not the Guardian owner list |
A temporary gap between registered Guardians and live miners is expected after a restart or onboarding wave. It is not evidence that L1 consensus lost validators. See L1 decentralization.
This page is the developer path for DePIN mining gossip (Guardian + LayerMinus). L1 validator operation is a separate consensus stack (Geth + Prysm, 32 CNET per counted validator) and is described under Validators.
What DePIN mining is
LayerMinus collector
└─ encrypt command: "mining" (omit listenKind)
└─ HTTP/SSE to the target SI ← infrastructure exception: may dial that SI directly
└─ SI pushes signed gossip { epoch, nodeWallet, hash, nodeWallets[], … }
└─ collector verifies the node wallet signature
└─ optional report to a cluster master
└─ epoch totals written on L1
CoNET-SI emits signed mining / liveness frames to connected LayerMinus clients. CoNET-DL (or an equivalent worker) dials the SI. The cluster master does not open mailbox listens on behalf of every node.
This direct SI listen is the documented exception to the application rule C ≠ B. Do not copy it into Chat, presence, mailbox ACK, or UDP sessions. Those still encrypt to mailbox B and enter through an independent entry.
Chat reuses command: "mining" for transport compatibility but must set listenKind: "chat". Omitting listenKind classifies the session as mining.
How to participate
1. Decide the role
| You want to… | Do this |
|---|---|
| Run a public DePIN node that others can use as entry / mailbox | Operate CoNET-SI on a host that is (or will be) in GuardianNodesInfoV6 |
| Collect and verify mining gossip | Run CoNET-DL / a LayerMinus worker, or write a collector against the SI command below |
| Stake L1 consensus | Follow the validator deposit path — not this gossip listen |
| Vote Treasury bridge operations | Be on the owner-managed TreasuryBridgeV3.miners() list — a different, small set |
Guardian addNode / removeNode require adminList. The node list is publicly readable; joining the registry is not permissionless. A running SI that is not registered will not appear in getAllNodes discovery.
2. Run the node (Guardian / SI)
A registered row is only eligibility and discovery. Runtime mining also needs:
- CoNET-SI accepting
POST /post(HTTP:80for SI-to-SI; client HTTPS optional). - A reachable public IP that matches the registry / advertised address.
- A route OpenPGP key that
isMyRoutecan bind to wallets that chose this mailbox. - At least one LayerMinus collector that successfully opens a mining SSE and verifies gossip.
Public runtime: CoNET-project/CoNET-SI · @conet.project/mvp-si.
Do not treat this page as a host rebuild or process-restart runbook. Changing execution / consensus / validator processes is outside DePIN mining and requires an explicit operations decision.
3. Run or write a collector (LayerMinus)
Public collector / data plane: CoNET-project/CoNET-DL · @conet.project/mvp-dl.
A collector:
- Lists Guardians from L1 (
getAllNodes). Live mapping:PGP= base64 route public key,PGPKey= domain. - Encrypts a signed
command: "mining"(nolistenKind) to that node’s route PGP. - Opens HTTP/SSE to that SI
/post(infrastructure may use the target host directly). - Verifies
hashrecoversnodeWallet. - May forward verified aggregates to a configured master for epoch accounting.
Handshake frames may omit nodeWallets. Signed gossip is not mailbox business plaintext.
4. Sample: mining listen command
Reuse the SI signed-command helper from the SI developer guide. The command object is:
const command = {
command: 'mining',
// omit listenKind — SI defaults the session to mining
walletAddress: wallet.address,
algorithm: 'aes-256-cbc',
Securitykey: sessionKeyBase64,
}
Encrypt { message: JSON.stringify(command), signMessage } to the target SI route PGP. Keep the HTTP/SSE response open.
// Chat clients must not copy this. They send listenKind: "chat" via entry C ≠ B.
const miningListen = {
command: 'mining',
walletAddress: collectorWallet.address,
algorithm: 'aes-256-cbc',
Securitykey: sessionKeyBase64,
}
First-frame {status, epoch, …} / “Unknown format” heartbeats are liveness, not Chat messages.
Compensation and accounting
| Mechanism | Meaning |
|---|---|
| GB meter on last hop | On a signed command path, the last hop may add verified prior-hop bytes to the user wallet’s gossip GB meter. User-PGP mailbox store (no command decrypt) cannot charge that way. |
GBToken (GB) |
Canonical DePIN service asset, 9 decimals, 0xC3EF02DaE632b4C10abB66e07d92a387c10838D8. Do not use deprecated ConetGB1155 as a wallet balance. |
| Epoch totals | When a master is configured, verified gossip can be aggregated and written to L1 epoch-mining state. Registration count ≠ that epoch’s miner count. |
Forwarding pays for carrying ciphertext, not for reading it.
Read the current sets
RPC=https://rpc1.conet.network
G=0xBC6b53065b5647261396d002bDBA0d3396E0722f
VDR=0xc71e246DD78B37C2fABc905D340932F28F503433
cast call $G "getUniqueOwnerCount()(uint256)" --rpc-url $RPC
cast call $VDR "totalStakedValidatorCount()(uint256)" --rpc-url $RPC
Page getAllNodes as in the SI node sample. Reproduce stake and region facts from L1 decentralization. Treat a failed RPC as untrusted; do not overwrite a previous success with zero.
Related
- Guardian Nodes — registry vs runtime
- Validators — 32 CNET consensus role
- Node and client roles — SI vs LayerMinus
- SI developer guide —
/postand command catalog - Bring an ERC-20 into CoNET — Treasury miners are a different set