{"id":48258301,"url":"https://github.com/xian-technology/xian-abci","last_synced_at":"2026-05-30T20:01:00.784Z","repository":{"id":337150310,"uuid":"1126763622","full_name":"xian-technology/xian-abci","owner":"xian-technology","description":"Xian ABCI application for CometBFT — the core consensus interface powering the Xian blockchain","archived":false,"fork":false,"pushed_at":"2026-05-30T15:51:03.000Z","size":6777,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T16:20:33.864Z","etag":null,"topics":["abci","blockchain","cometbft","consensus","python","xian"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xian-technology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"docs/Governance.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-02T14:34:19.000Z","updated_at":"2026-05-30T15:51:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/xian-technology/xian-abci","commit_stats":null,"previous_names":["xian-technology/xian-abci"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/xian-technology/xian-abci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-abci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-abci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-abci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-abci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xian-technology","download_url":"https://codeload.github.com/xian-technology/xian-abci/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-abci/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33707328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abci","blockchain","cometbft","consensus","python","xian"],"created_at":"2026-04-04T21:20:09.571Z","updated_at":"2026-05-30T20:01:00.778Z","avatar_url":"https://github.com/xian-technology.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xian-abci\n\n`xian-abci` is the CometBFT-facing Xian node runtime. It owns deterministic\nchain execution, ABCI request handling, state export and snapshot flows, and\nthe node-adjacent services (BDS indexing, metrics, the optional dashboard) that\nrun alongside a Xian validator or full node.\n\nThe published PyPI package is `xian-tech-abci`. Console entrypoints\n(`xian-abci`, `xian-dashboard`, `xian-configure-node`, and the BDS / state\nhelpers) are installed by the package and used both directly and from the\noperator-facing `xian-cli`.\n\n## Runtime Shape\n\n```mermaid\nflowchart LR\n  CometBFT[\"CometBFT\"] --\u003e ABCI[\"ABCI handlers\"]\n  ABCI --\u003e Executor[\"Transaction processor\"]\n  Executor --\u003e Contracting[\"xian-contracting runtime\"]\n  Executor --\u003e State[\"Chain state\"]\n  State --\u003e BDS[\"BDS indexer\"]\n  State --\u003e Snapshots[\"Export and snapshot tools\"]\n  ABCI --\u003e Metrics[\"Metrics\"]\n  ABCI --\u003e Dashboard[\"Optional dashboard\"]\n  CLI[\"xian-cli and xian-stack\"] --\u003e Entrypoints[\"xian-abci entrypoints\"]\n```\n\n## Quick Start\n\nBootstrap the development environment with `uv`:\n\n```bash\nUV_CACHE_DIR=/tmp/uv-cache uv sync --group dev\n```\n\nInspect the available command surface:\n\n```bash\nuv run xian-abci --help\nuv run xian-dashboard --help\nuv run xian-configure-node --help\nuv run xian-export-state --help\nuv run xian-state-snapshot --help\nuv run xian-bds-reindex --help\nuv run xian-bds-snapshot --help\nuv run xian-bds-spool --help\n```\n\nOptional extras:\n\n- `vm` — enables the `xian_vm_v1` bindings.\n- `native` — enables native admission helpers for development and release\n  validation.\n\nFor a ready-made local network instead of wiring the node yourself, use\n[`xian-stack`](../xian-stack). This repo focuses on the runtime and backend\ntooling, not the full localnet UX.\n\n## Principles\n\n- **Deterministic chain execution.** The ABCI handlers, transaction execution,\n  rewards, validators, and query behavior live here and must be deterministic\n  across nodes.\n- **Backend, not UX.** Operator-facing lifecycle commands belong in\n  [`xian-cli`](../xian-cli). This repo exposes importable helpers and\n  backend-oriented CLIs only.\n- **Universal node runtime.** No network-specific genesis files, seeds, or\n  snapshots. Committed chain assets live in\n  [`xian-configs`](../xian-configs).\n- **Contract semantics live elsewhere.** Changes to contract execution\n  semantics belong in [`xian-contracting`](../xian-contracting), not here.\n- **No Compose / orchestration.** Container lifecycle and local-stack\n  orchestration belong in [`xian-stack`](../xian-stack).\n\nLocal `uv` development requires a sibling checkout of\n`../xian-contracting`. Full validation also uses sibling checkouts of\n`../xian-contracts`, `../xian-configs`, and `../xian-stack`.\n\n## Key Directories\n\n- `src/xian/` — repo-owned node runtime: ABCI handlers, services, utilities,\n  and CLI entrypoints.\n  - `methods/` — ABCI request handlers (CheckTx, DeliverTx, Commit, …).\n  - `services/` — background services such as the simulator and BDS support.\n  - `cli/` — backend and developer entrypoints (configure-node, export-state,\n    BDS helpers, …) wrapping importable helpers.\n  - `tools/` — one-off upgrade data and state-patch payloads. Treated as a\n    transition area; new code should live as importable helpers under\n    `src/xian/`.\n  - `dashboard/` — the optional operator dashboard.\n- `src/abci/` — lower-level ABCI server and protocol glue.\n- `protos/` — vendored CometBFT schemas plus supporting protobuf dependencies.\n- `build_proto.py` — regenerates checked-in protobuf Python stubs under `src/`.\n- `scripts/` — repo-level validation and manual benchmark entrypoints.\n- `tests/` — unit, ABCI-method, integration, governance, tools, and system\n  coverage.\n- `docs/` — architecture notes, API surface, safety invariants, snapshots /\n  pruning model, governance, and backlog.\n\n## Validation\n\nPreferred full validation entrypoint, used for releases:\n\n```bash\n./scripts/validate-release.sh\n```\n\nIt defaults to Python `3.14` (override with `XIAN_ABCI_VALIDATE_PYTHON`) and\nruns:\n\n- `./scripts/validate-repo.sh`\n- protobuf regeneration / stale-stub checks\n- the Python-vs-native processor fuzz parity coverage\n  (`tests/integration/test_vm_processor_fuzz.py`)\n\nFaster local loops:\n\n```bash\nUV_CACHE_DIR=/tmp/uv-cache uv run ruff check .\nUV_CACHE_DIR=/tmp/uv-cache uv run ruff format --check .\nUV_CACHE_DIR=/tmp/uv-cache uv run pytest\nUV_CACHE_DIR=/tmp/uv-cache uv run pytest tests/unit/test_node_setup.py\n```\n\nCI provisions Postgres for the BDS-backed paths. To mirror that locally, expose\nPostgres at `postgres://postgres:1234@localhost:5432/xian`.\n\n## Related Docs\n\n- [AGENTS.md](AGENTS.md) — repo-specific guidance for AI agents and contributors\n- [docs/README.md](docs/README.md) — index of internal design notes\n- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — major components and dependency direction\n- [docs/BACKLOG.md](docs/BACKLOG.md) — open work and follow-ups\n- [docs/API.md](docs/API.md) — ABCI and helper API surface\n- [docs/SAFETY_INVARIANTS.md](docs/SAFETY_INVARIANTS.md) — invariants the runtime must preserve\n- [docs/SNAPSHOTS_AND_PRUNING.md](docs/SNAPSHOTS_AND_PRUNING.md) — snapshot, pruning, and BDS retention model\n- [docs/CHAIN_ASSETS.md](docs/CHAIN_ASSETS.md) — split between this repo and `xian-configs`\n- [docs/TIME_SEMANTICS.md](docs/TIME_SEMANTICS.md) — block-time and timestamp rules\n- [docs/Governance.md](docs/Governance.md) — on-chain governance behavior\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxian-technology%2Fxian-abci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxian-technology%2Fxian-abci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxian-technology%2Fxian-abci/lists"}