Skip to main content
ALL CHAINS

Repository Inventory

This page is a complete inventory of repositories across the Elastos GitHub ecosystem. All figures below reflect actual GitHub analysis of the elastos/ and CyberRepublic/ organizations: star counts, last-push dates, archive flags, and fork relationships were collected from repository metadata and commit activity.

Scope and freshness

Repository counts, star totals, and “last push” dates change continuously on GitHub. Use this document as a structural map (what exists, how it clusters, what replaced what). Re-verify critical deployment decisions against live github.com/elastos and github.com/CyberRepublic pages.

Status Legend

StatusMeaning
ActiveRecent commits (2025–2026), meaningful ongoing development
MaintainedOccasional updates; stable code paths, not dormant
StaleNo material updates for 2+ years; may still build and run
ArchivedRepository explicitly archived on GitHub (read-only)
ForkFork of an external upstream (not Elastos-original)
DeprecatedSuperseded by another repository or product line; do not start new integrations
How to read “Stale”

Stale does not mean “broken.” Many libraries remain usable for existing deployments; it means no recent maintenance was observed at analysis time. Prefer Active or Maintained repos for new work.

Core Chain Infrastructure (20 repos)

The following table lists core blockchain and node repositories: main chain, sidechains, SPV, deployment, monitoring, merged mining, and legacy stacks.

RepoLanguageStatusStarsLast PushPurpose
Elastos.ELAGoActive1122026-01Main chain node: BPoS + AuxPoW, UTXO model, 40+ transaction types
Elastos.ELA.ArbiterGoActive22026-01Cross-chain bridge coordinator: multi-sig / Schnorr flows
Elastos.ELA.SPVGoActive102025-10SPV library for light clients and wallet backends
Elastos.ELA.SideChainGoMaintained132023-03Base sidechain framework (shared by ESC/EID lineage)
Elastos.ELA.SideChain.ESCGoActive252026-01EVM sidechain (geth fork); Chain ID 20: smart contracts / DeFi
Elastos.ELA.SideChain.EIDGoActive12025-11Identity chain (EVM); Chain ID 22: DID-related on-chain ops
Elastos.NodeShellActive22026-01Deployment orchestration scripts and packaging for operators
Elastos.ELA.SideChain.IDGoStaleLegacy ID sidechain experiments (superseded by EID / main-chain ID flows)
Elastos.ELA.SideChain.TokenGoDeprecatedToken sidechain retired in consolidation
Elastos.ELA.SideChain.NeoVMGoDeprecatedNeoVM sidechain line dropped (2019–2020 architecture shift)
Elastos.ELA.SPV.CppC++StaleLegacy C++ SPV stack; superseded by Go SPV for new projects
Elastos.ELA.SPV.JavaJavaStaleLegacy Java SPV bindings / samples
Elastos.ELA.SPV.NodeGoStaleSPV node variant; niche operator use
Elastos.Rosetta.APIGoStaleRosetta-style API surface for integrations
Elastos.MonitorGoStaleChain / node monitoring tooling
Elastos.Elephant.NodeGoStaleHistorical Elephant node distribution
Elastos.Alliance.IBFTGoStaleIBFT / alliance experiments (not mainnet path)
Elastos.btcpoolC++ForkMerged-mining pool fork (Bitcoin-side infrastructure)
Elastos.MiscToolsMixedStaleMiscellaneous utilities and one-off tools
Elastos.UtilityMixedStaleShared utility scripts and helpers
ESC vs EID

Operators and integrators should treat ESC (Chain ID 20) and EID (Chain ID 22) as distinct EVM namespaces. Wallet defaults, RPC endpoints, and contract addresses are not interchangeable.

Solidity Contracts (2 repos)

RepoStatusPurpose
StakeTicket.SolidityActiveBPoS staking contracts and NFT-style stake tickets on ESC
ELink.SolidityMaintainedCross-chain oracle / bridge logic (ELink pattern) for EVM-side coordination
Contract deployment

Always verify deployed contract addresses per network (mainnet vs testnet) from official sources. Repository names alone do not imply a single canonical deployment.

DID (10 repos)

Decentralized Identifier (DID) support spans method specification, multi-language SDKs, contexts, and sample applications.

RepoTypical role
DID.Methoddid:elastos method specification and documentation
DID.JS.SDKJavaScript/TypeScript DID SDK
DID.Java.SDKJava DID SDK
DID.Native.SDKNative (C/C++) DID stack for mobile and embedded
DID.Swift.SDKSwift SDK for iOS/macOS
DID.Cordova.SDKApache Cordova bridge for hybrid apps
DID.ContextsJSON-LD contexts and vocabulary files
DID.App.KYCKYC-oriented sample / application patterns
DID.App.CredentialToolsCredential tooling and demos
DID.AgentAgent services for DID operations (issuance, resolution helpers)
Essentials and DID

End-user identity flows in production often go through Essentials and ecosystem apps; SDK repos are the integration surface for developers building custom wallets and backends.

Hive (4+ repos)

Hive is Elastos decentralized storage: node software plus client SDKs.

RepoRole
Hive.NodeStorage node: vault backends, provider APIs
Hive.JS.SDKJavaScript/TypeScript client
Hive.Java.SDKJava client
Hive.Swift.SDKSwift client

Additional Hive-related repositories (plugins, samples, or lab repos) may appear under elastos/; treat them as per-repo Active/Stale based on last push when selecting dependencies.

Carrier (8 repos)

Carrier is the P2P communication layer. The ecosystem underwent a major rewrite (v1 → v2).

RepoNotes
Carrier.Nativev2 native stack (current direction for new work)
Carrier.Javav2 Java bindings
CarrierClassic.Nativev1 native (deprecated in favor of v2)
Additional Carrier reposClassic v1 bindings, samples, and tooling; often Stale or Deprecated
Carrier v1 vs v2

Do not mix v1 and v2 stacks in one product. New projects should standardize on Carrier v2 repositories and verify platform support (mobile, desktop, embedded) before committing to a client architecture.

Essentials (10+ repos)

Essentials is the flagship wallet / super-app and related services.

RepoRole
EssentialsMeta-repo or umbrella for Essentials product
Essentials.AppMobile / client application
Essentials.APIBackend/API surfaces supporting Essentials features
Additional Essentials.*Plugins, branding, regional builds, experimental features; check last push per repo
End-user vs developer paths

Essentials is the primary end-user entry point. Wallet SDKs (below) are the developer path for custom wallets and exchanges.

Wallet SDKs (6 repos)

RepoRole
Wallet.JS.SDKPrimary TypeScript/JavaScript wallet SDK (HD, tx building, signing)
Utilities.JavaJava utilities for server-side and exchange-style flows
Keypair.CC keypair and low-level crypto
Keypair.JavaJava keypair helpers
Keypair.JavascriptJavaScript keypair helpers (minimal surface)
Connectivity.ClientdApp ↔ wallet connectivity client (not a full wallet)

Historical note: Keypair.* capabilities were increasingly folded into Wallet.JS.SDK for JS/TS developers; prefer the unified SDK unless you need a minimal embedded footprint.

Governance (4 repos)

Repositories under CyberRepublic/ and related services support Elastos DAO governance, elections, and DID-based voting.

RepoOrganizationRole
CyberRepublicCyberRepublicElastos DAO web platform and governance UX
Service.Electionelastos / CRElection services and APIs
Service.DIDVoteelastos / CRDID-linked voting services
App.DIDVotingelastos / CRDID voting application frontends / clients
On-chain vs off-chain governance

Proposal and council mechanics interact with on-chain data, but many user-facing flows are served by off-chain services (APIs, indexes). Treat these repos as integration points, not as the sole source of consensus rules.

Summary Statistics Table

Aggregated across ~195 repositories in elastos/ and CyberRepublic/ (including forks, archives, and deprecated lines):

CategoryTotalActiveMaintainedStaleFork / Archived
All repositories~195~21~22~41~37
Core chain & infra20(see section)(see section)(see section)(see section)
Smart contracts (Solidity)21100
DID10
Hive4+
Carrier8
Essentials10+
Wallet SDKs6
Governance4
Rounding and overlap

Totals are approximate because (1) some repos span categories, (2) forks may be counted under “Fork / Archived,” and (3) private or transferred repositories may not appear in public scans. The ~195 figure is the documented ecosystem size at analysis time.

Deprecation Timeline

The following chronological list summarizes major deprecation waves and rationale. Exact archive dates vary per repo; years indicate ecosystem narrative, not necessarily the GitHub “archived on” timestamp.

2019: Early multi-chain simplification

  • NeoVM-oriented sidechain experimentation scaled back; developer focus shifted toward EVM (ESC) and clearer main-chain responsibilities.
  • ORG.* and early micro-service sprawl reviewed; redundant services consolidated or left unmaintained.

2020: Token chain and parallel stacks

  • Token sidechain line deprecated in favor of asset representation on ESC and main-chain primitives.
  • Wallet / SDK duplication targeted: teams encouraged Wallet.JS.SDK and Essentials-aligned paths.
  • Several sample and boilerplate repos moved to Stale as documentation moved to official docs sites.

2021: Carrier and client ecosystem

  • Carrier v1 repositories marked legacy as v2 APIs stabilized.
  • SPV.Cpp / Java stacks gradually superseded by Go SPV for new integrations (exceptions for existing mobile binaries).

2022: Carrier v2, DID, and governance tooling

  • Carrier v2 and DID work dominated core engineering; identity and P2P stacks matured alongside wallet and Essentials integrations.
  • Election and voting services refactored; older CR web repos split between Maintained frontends and Stale experiments.
  • Rosetta and exchange-integration repos: useful for specific partners, but not all received steady updates.

2023: Consolidation and documentation

  • SideChain base framework updates slowed; ESC/EID forks remained Active as product chains.
  • Broad stale cohort: repos with no commits 2+ years classified as Stale unless explicitly Archived.
Migrating off deprecated repos

When migrating: (1) identify the replacement repo from sections above, (2) check chain ID and RPC compatibility, (3) run integration tests against current testnets, (4) update CI to pin maintained dependencies only.

Key Observations

  1. 2019–2020 consolidation: NeoVM and Token chain directions were dropped or absorbed; ORG.*-style services retired or folded into fewer maintained surfaces. This reduced surface area for integrators at the cost of short-term migration work.

  2. Carrier rewrite (v1 → v2): Approximately six Carrier-related repositories were deprecated or frozen as CarrierClassic and v2 Native/Java stacks took over. Mixed v1/v2 deployments are a frequent source of bugs.

  3. SDK consolidation: Keypair.* libraries and scattered JS helpers were absorbed into Wallet.JS.SDK where possible, lowering the number of supported entry points for TypeScript developers.

  4. Deprecation rate: About 47 of ~195 repositories (~24%) are deprecated or legacy. For a 7+ year project with two major architecture revisions (sidechain model + Carrier v2), this is expected: prefer Active/Maintained repos and treat the inventory as a living map.

Using this inventory operationally
  • Run nodes: Start from Elastos.ELA, Elastos.Node, SideChain.ESC, SideChain.EID, and Arbiter documentation.
  • Build dApps: Prioritize ESC/EID, Wallet.JS.SDK, DID.JS.SDK, and Connectivity.Client.
  • Storage: Use Hive SDK matching your language.
  • P2P: Standardize on Carrier v2 native/Java bindings.
  • Governance: Use CyberRepublic and Service.* election/voting repos as integration references.

Appendix A: Category rollups (ecosystem-wide)

The table below assigns each public repository to a single primary category for counting. Repos that could fit multiple labels (for example, a sample that uses DID and Hive) are classified by maintenance owner and default integrator expectation.

Primary categoryApprox. repo countTypical status mix
Core chain, nodes, pools, monitoring~35Active concentrated in ELA, ESC, EID, Arbiter, Node
SDKs (wallet, DID, Hive, Carrier, connectivity)~55Higher Stale rate in legacy Keypair and v1 Carrier
Apps (Essentials, demos, CR web)~25Essentials line Active; many demos Stale
Specs, contexts, documentation-only~15Often Maintained with infrequent commits
Solidity / EVM contract sources~5Small set; high leverage (StakeTicket, ELink)
Infrastructure (CI, Docker, build)~20Mixed; pin by last push
Forks and mirrors~25Counted under Fork / Archived in summary
Deprecated / archived / experimental~47See Deprecation Timeline
Auditing your own dependency tree

For any production service, generate a private inventory: list direct git dependencies, map each to this table’s Status, and fail CI if a dependency is Deprecated or Archived without an approved exception.

Appendix B: Extended deprecation notes (by theme)

Sidechain and execution environments

  • NeoVM-oriented repositories were superseded by the EVM-first strategy on ESC (Solidity toolchain, standard Ethereum debugging).
  • Token-specific chain repositories were retired in favor of ERC-20-style assets on ESC and native assets on the main chain where appropriate.

SPV and light-client stacks

  • Go-based SPV is the default recommendation for new services that need merkle-proof style verification without a full node.
  • C++ and Java SPV repositories remain as compatibility layers for long-lived mobile binaries, not as the preferred stack for greenfield apps.

Exchange and integration APIs

  • Rosetta-aligned code may still be valuable for partners with Rosetta-centric middleware, but maintenance is intermittent. Validate endpoint parity with current node releases.

Mining and merged mining

  • btcpool-family forks are Fork-classified; they track upstream pool software. Operational security for pool deployments is out of scope for this document; treat as infrastructure, not application code.

Appendix C: Quick lookup (“what should I use?”)

If you need…Prefer these repos (verify live status)
Run a supernode / participate in BPoSElastos.ELA, Elastos.Node, operator docs
EVM smart contracts (Chain ID 20)Elastos.ELA.SideChain.ESC, StakeTicket.Solidity, ELink.Solidity
DID resolution and credentialsDID.Method, DID.JS.SDK (or language SDK matching your stack)
Decentralized storageHive.Node + Hive.*.SDK
P2P messaging / data channelCarrier.Native, Carrier.Java (v2)
Mobile wallet UXEssentials.App, Essentials.API
Custom walletWallet.JS.SDK, Utilities.Java, platform Keypair.* only if required
Elastos DAO proposals / electionsCyberRepublic, Service.Election, Service.DIDVote
Chain ID and RPC

Wrong chain ID or RPC URL is one of the most common production misconfigurations. ESC (20) and EID (22) are both EVM-family but not the same network; double-check in wallet settings and deployment configs.


Last synthesized from GitHub organization analysis of elastos and CyberRepublic. Re-validate counts and statuses before production dependency lock-in.