L2 development

Evidence level: Normative design. CoNET-DLE is a controlled specification set. This page tells a developer how to work against those documents. It is not a production SDK, a production tip RPC, or evidence that asset ingress is enabled.

Public site: https://gitbook.conet.network/developers/l2.html

CoNET L1 (chainId 224422) is live. DLE is not documented here as a launched production system. Digest pages under L2 — CoNET-DLE explain the design; they do not create requirements. Byte-level behavior is controlled by the public whitepaper and the three DLE-*Spec.md files.

Reviewed whitepaper revision: 2026-09-23. Laboratory honesty-track review: Lab honesty track. Latest runtime scrape: 2026-09-23T15:16:45.701Z, about 6.22 days after the nominal 30-day endpoint. The formal seven were 7/7 HTTP-reachable, clock-aligned, sticky operator-inventory-frozen, leafCount=9750, and seating QUALIFIED; nevertheless pilotQualified=false remained 7/7, heartbeat quorum was only 3/7, and the actual qualification counters were not proven complete. Roster views had expanded to 9–10 entries and the reported “official” standby-ready count had drifted to four because extra Seoul standby roles were not excluded. Final assessment: partial success, not qualified. No P26 is defined.

A public lab explorer is live at https://dle.conet.network/. Use it to inspect isolated Archive health, CoNET-DLE Testnet 0x44c45, the first-group Group ID hash, lab M6 Clusters = 2, and the participant wallets on /archives. Do not treat POST /rpc as a tip Ethereum node. Digest: DLE explorer.

The L1 Global Archive Routing Registry proxy 0x8B261eAECdFfeE9e7aC9fFe73386B0d6C9E76AfB is deployed and verified. Read liveGroupIds() and archivesOf(groupId) on CoNET L1 RPC. That is routing identity, not Archive Certificate and not 30-day qualification.

What you can develop today

Work Status
Read and implement against the public specs Allowed — cite filename + section
Run published archive vectors / JSON Schema / TLA configurations Allowed inside their declared domain
Write a class-fixed tip state machine from the whitepaper Design / prototype — not a production deployment
Inspect the isolated Archive lab explorer Allowed — https://dle.conet.network/; heartbeat, Clusters = 2, plus /archives wallets
Read the L1 Global Archive Routing Registry Allowed — archivesOf(1) on rpc1 / publicrpc; registry page
Call a production DLE tip API or AssetBurnMintGateway Not available in this book
Treat a Treasury mint as L2 activation Incorrect — two separate machines
Sign production archive certificates Forbidden until the Archive spec’s production blockers close

Public repository: CoNET-project/CoNET-DLE.

Controlling sources (read these first)

Boundary File Declared status
Architecture and frozen product decisions Decentralization Cluster multi-chain.md Whitepaper; paired zh-CN
Archive bytes, voting, WAL, membership DLE-Archive-Tendermint-Conformance-Spec.md Normative draft; production closure incomplete
Asset burn, backing, refund, exit DLE-AssetBurnMintGateway-Invariant-Spec.md Normative v1 safety specification
Operator identity / correlated failure DLE-OperatorDomainRegistryV1-Spec.md Normative v1 identity specification

Precedence when texts disagree: named spec for its boundary → whitepaper → executable vectors for their test domain → GitBook digest. Do not cite Canvas notes as a MUST. Full map: Normative sources.

Protocol shape (for implementers)

The target design has six parts:

  1. Parallel tips — each ledger advances independently; no event means no block.
  2. L1 birth certificate — a tip binds to a unique CoNET L1 NFT and exactly one class: asset, storage, or trade.
  3. EIP-155 Chain ID vs Group ID — plane id is CoNET-DLE Testnet 0x44c45; each live group’s user-visible Group ID is its L1 register tx hash; L1 uint groupId is a storage key only. G2’s user-visible id is 0xf781f2c2…876d5153 (see Lab gather). None of these is CoNET L1 224422 or the tip NFT id (whitepaper §5.2.0d). Route history from the deployed L1 Global Archive Routing Registry.
  4. Validator production — a per-tip committee proposes event blocks (current design: seven selected validators, five-signature threshold). This is not the CoNET L1 validator set. Archives do not produce blocks.
  5. Archive finality — the hosting archive group replays the candidate and finalizes with Tendermint-style prevote / precommit certificates.
  6. Separated economics — protocol value fees, execution reserves, and availability budgets are different ledgers.

Class is immutable. A tip cannot host arbitrary bytecode or become a general-purpose VM. Digest: ledger classes, archive plane, economics.

ERC-20 path into DLE (not live)

A foreign ERC-20 must already be a Treasury-canonical CoNET L1 token. See Bring an ERC-20 into CoNET. DLE never burns a foreign-chain contract directly.

Treasury-canonical ERC-20 on CoNET L1
        │  exact proxy + version
        │  AssetAdmissionRegistry = ACTIVE
        │  approved pool + frozen TWAP adapter
        ▼
BURNED_PENDING   →   ACTIVATED  (or REFUNDED if genesis misses the deadline)
        │
        ▼
asset-class tip  (claim against burned units, not a wrapped L1 transfer)

Even conet-USDC must pass those gates in the design. Production asset ingress and new-chain admission remain disabled pending measured economic evidence. Digest: Cross-chain assets in DLE.

Suggested implementation order

  1. Clone CoNET-DLE and pin the whitepaper revision you implement.
  2. Pick one boundary: Archive conformance, Asset gateway invariants, or Operator-domain identity. Do not mix requirements across files without citing both.
  3. Implement against the spec’s frozen vectors / schemas. Record the revision in your artifact.
  4. Keep L0 coordination (wallet-addressed envelopes) and L1 settlement (Treasury, CNET gas) as external dependencies. DLE does not replace Layer Minus or CoNET L1.
  5. Stop at the documented production blockers: second independent Archive implementation, wrapper / networking / custody gates, and formal-verification release items in the Asset spec.

What not to claim

  • Do not describe GitBook pages as the wire encoding.
  • Do not treat Explorer-verified Treasury bytecode as an AssetBurnMintGateway.
  • Do not use L1 validator counts as a DLE committee census.
  • Do not invent additional dle.* hostnames. The authorized lab explorer is https://dle.conet.network/. Do not write that hostname into Solidity.
  • Do not treat 0x44c45 as CoNET L1 or as Group ID. Do not display L1 uint 1 or 2 as Group ID. The first group’s user-visible Group ID is the L1 register transaction hash. The lab M6 second Group ID is the G2 L1 registerLiveGroup tx; laboratory keccak is an alias only.
  • Do not present a successful L1 bridge as “the asset is on L2.”
  • Do not treat lab M6 fission, M7 typed roots, laboratory Archive Certificates, HTTP :27101 gather, or repository EIP-712 unit tests as production DePIN or as the start of 30-day qualification.
  • Do not treat npm run runtime:test 159/159 as evidence that all seven live G1 hosts stay healthy. P23 keep-deploy evidence is landed as 6/7 LIVE_OK plus fd-01 new-chain 409→accept; official standby fd-06 HTTP is unstable (later remapped). P24 wires isolated node.ts only. Do not write 7/7 healthy.
  • Do not treat a started 30-day clock, a non-green Explorer clock chip, or public SPA index-C8IdTq4H.js as 30-day qualification. pilotQualified stays false. Do not invent P26.
  • Do not treat an elapsed 30-day wall clock as PilotQualificationGate success. The operator clock facade intentionally returns pilotQualified: false; rotations, re-homes, and takeovers require independent terminal evidence.
  • Do not treat inventoryFrozen as a frozen roster. It blocks new hash-catalogue writes, not replay/catch-up locator writes or roster expansion.
  • Do not consume officialStandbyReadyCount=4 as proof of four official standbys. The frozen formal boundary is two; the observed four is a classification drift caused by extra standby roles entering the count.

Lab gather (2026-08-16, reviewed 2026-08-18)

This is the current laboratory gather against whitepaper §5.2.0e M6–M7 plus the 2026-08-18 honesty-track review. It is not a production SDK and not 30-day qualification.

Item Result
Whitepaper revision 2026-09-23
Public explorer https://dle.conet.network/ — Home Clusters = 2; clock overlay SPA index-C8IdTq4H.js
Public health https://dle.conet.network/health — liveGroupCount: 2; pilotStartedAt=2026-08-18T09:53:58.092Z; pilotQualified=false
Developer digest this page; explorer facts: DLE explorer; honesty review: Lab honesty track
Runtime / CLI CoNET-project/CoNET-DLE — M6/M7 live gather plus repository P12–P22 engines

Identifiers (do not mix)

Identifier Value Meaning
EIP-155 Chain ID 0x44c45 / 281669 CoNET-DLE Testnet. Wallets / eth_chainId.
First Group ID 0x3076a806de71ab75b2d48063cc3f1e7d8f8e3d54cb1d45a7469c75c9276f2ad0 L1 bootstrap registerLiveGroup tx. Home capsule under Chain ID. Opens Blockscout /tx/….
Lab M6 second Group ID 0xf781f2c23fe3b3dac09dc3e1929016b0af200ee93978e916df64d750876d5153 L1 registerLiveGroup tx. Home Group ID under Clusters. Opens Blockscout /tx/…. Laboratory keccak 0x7b3b8eb9…7f9b1a07 aliases it.
L1 uint groupId 1 / 2 Storage keys for the first and second groups. Not shown as Group ID.
Marker NFT 6000000006 Lab fission marker on the second group. Not NFT 42.
Marker hash 0x7ca21e5aa612caa12bbd137aa374d30a113d42c1f60ea411fdb6998a63e2345c labFissionMarkerHash seeds from the laboratory keccak so this hash stays valid after the register-tx cutover. Do not recompute it from the register tx.

What landed

  1. Second archive group. Seven greenfield hosts run /home/peter/dle-m6-g2 on TCP 27101 with enableBft: false and enableOndemand: false. They must not compete for NFT 42 Archive Certificates.
  2. Plane-wide hash evidence. JSON-RPC null / planeWideNull: true only after every live group returns a trusted this-group notFound. One group timeout is unavailable, not plane-wide null. A this-group miss stays notFound + planeWideNull: false.
  3. Hop-1 stays on the hosting group. After locate returns chainNftId, hop-1 queries only that group’s historyProviders. A foreign-group hop failure must not fall back to a local replica as RPC truth.
  4. First group kept. NFT 42 BFT AC, on-demand 30, and the Mode A newchain user remain on the first group. Lab chains opened on the first group copy NFT 42’s Group ID and must not increment Clusters.
  5. Explorer / GitBook. Public Home shows Clusters = 2 and a second Group ID capsule that opens the G2 L1 register tx on Blockscout. After the 2026-08-16 keep-deploy, hosts emit that tx as hop1.ownGroupId / liveGroupIds. This page and DLE explorer state the same facts.

Lab M7 typed roots (2026-08-16)

tipStateRoot and membershipRoot are first-class hash kinds. dle_locateHash / dle_getByHash return kind=tipStateRoot or kind=membershipRoot plus a typed object (DleLabTipStateRootV1 / DleLabMembershipRootV1), not the Archive Certificate.

Rule Meaning
First-write-wins The same membership / tip root at a later height keeps the first locator.
ZERO32 All-zero roots are not catalogued.
Side-index Indexing these roots must not fail the parent AC.
Explorer /hash/<root> shows Tip state root / Membership root pills.
Still not Production DePIN or 30-day qualification. G2 L1 registerLiveGroup already landed.

G2 has BFT off, so live M7 objects appear on the first group’s NFT 42 Archive Certificates (and first-group newchain tipStateRoot).

Lab honesty track (2026-08-18)

The repository engine now uses laboratory EIP-712 for seating, challenge, BFT, on-demand attests, (Q_V), freeze-then-bind beacons, wait-hook honesty, lab hashIndexRoot bind, and official standby readiness. Full npm run runtime:test is 159/159. Extra fd-08 does not count toward official standby readiness. Isolated node.ts (P24) uses the same officialStandbysReady callback as lab-cli and does not start the seating tick.

That is engine + tests. P23 then keep-deployed the P12–P22 binary to official G1: 6/7 LIVE_OK, fd-01 new-chain 409 → accept, fd-06 HTTP later remapped. Do not write that the public lab “already cut over to EIP-712 on all seven hosts and stays healthy.”

P25 Explorer overlays landed historically: Certificates + Home show non-green chips for officialStandbysReady / hashIndexCommittedInAc. Green pills stay seatingQualified === true only. Home / archive-detail seating copy is lab EIP-712, never HMAC.

Clock + Explorer clock overlay (not P26): Clock started 2026-08-18T09:53:58.092Z (pilotQualified=false). Home + Certificates show a non-green clock chip. The wall-clock endpoint elapsed on 2026-09-17T09:53:58.092Z. The post-window scrape on 2026-09-23T15:16:45.701Z still reported pilotQualified=false on all formal seats. It also exposed a split between clock, inventory freeze, seating, heartbeat, and the real qualification gate: seating was 7/7, heartbeat quorum 3/7, while the required rotation / re-home / takeover counters had no terminal completion evidence. Roster views had expanded to 9–10 and officialStandbyReadyCount=4 was classification drift, not a new official boundary. Final assessment: partial success, not qualified. Digest: Lab honesty track.

What this does not close

  • A durable 7/7 healthy official G1 mesh (fd-06 HTTP was unstable after P23; later remapped)
  • Production DePIN transport (lab HTTP :27101 is not production gossip)
  • 30-day qualification (the wall clock elapsed, but pilotQualified=false remained 7/7 and no terminal evidence proved 100 rotations / 30 re-homes / 100 takeovers)
  • An intact frozen 5+2 roster boundary (syncRoster expanded to 9–10 and the standby-ready count drifted to four)
  • Production Archive Certificate / EIP-712 L1 wrapper / corpus SSZ object / OperatorDomain

Next

Normative sources →

results matching ""

    No results matching ""