{"id":50717884,"url":"https://github.com/xian-technology/xian-ide-web","last_synced_at":"2026-06-09T20:30:44.750Z","repository":{"id":349051215,"uuid":"1200873643","full_name":"xian-technology/xian-ide-web","owner":"xian-technology","description":"Web-based IDE for writing, testing, deploying, and interacting with Xian smart contracts. Monaco editor, wallet integration, contract simulation, and on-chain deployment.","archived":false,"fork":false,"pushed_at":"2026-05-30T14:35:19.000Z","size":208,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T16:10:53.984Z","etag":null,"topics":["blockchain","contract-deployment","ide","monaco-editor","react","smart-contracts","typescript","vite","web-ide","xian"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"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":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-03T23:39:28.000Z","updated_at":"2026-05-30T14:35:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/xian-technology/xian-ide-web","commit_stats":null,"previous_names":["xian-technology/xian-ide","xian-technology/xian-ide-web"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xian-technology/xian-ide-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-ide-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-ide-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-ide-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-ide-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xian-technology","download_url":"https://codeload.github.com/xian-technology/xian-ide-web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xian-technology%2Fxian-ide-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34125332,"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-06-09T02:00:06.510Z","response_time":63,"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":["blockchain","contract-deployment","ide","monaco-editor","react","smart-contracts","typescript","vite","web-ide","xian"],"created_at":"2026-06-09T20:30:43.923Z","updated_at":"2026-06-09T20:30:44.741Z","avatar_url":"https://github.com/xian-technology.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xian-ide-web\n\n`xian-ide-web` is the browser-based IDE for Xian smart contracts. It pairs\nthe Monaco editor with a Xian-specific theme, compiler-backed diagnostics,\ncontract templates, the JS client, and the injected wallet provider so\ncontract authors can read, edit, check, simulate, deploy, and execute\ncontract calls without leaving the browser.\n\nThe app is a Vite + React + TypeScript single-page app. It is\nself-contained and uses the shared `@xian-tech/client` package from the\nsibling `../xian-js` checkout for local development, plus the injected\nwallet provider package.\n\n## Browser Flow\n\n```mermaid\nflowchart LR\n  Author[\"Contract author\"] --\u003e Editor[\"Monaco editor\"]\n  Editor --\u003e Compiler[\"@xian-tech/compiler WASM\"]\n  Compiler --\u003e Diagnostics[\"Compiler diagnostics\"]\n  Editor --\u003e Simulator[\"Readonly calls and simulation\"]\n  Editor --\u003e Wallet[\"Injected wallet provider\"]\n  Compiler --\u003e Wallet\n  Diagnostics --\u003e Editor\n  Wallet --\u003e Node[\"Xian node\"]\n  Templates[\"Contract templates\"] --\u003e Editor\n  Client[\"@xian-tech/client\"] --\u003e Simulator\n  Simulator --\u003e Node\n```\n\n## Quick Start\n\n`npm run build:compiler` requires `wasm-pack` plus a Rust toolchain with the\n`wasm32-unknown-unknown` standard library installed.\n\n```bash\nnpm install\nnpm run build:client   # builds ../xian-js shared client dist\nnpm run build:compiler\nnpm run dev          # local dev server\nnpm run build        # shared client + compiler + tsc + vite production build\nnpm run lint         # ESLint\nnpm run test         # Vitest integration tests\nnpm run preview      # serve the production build locally\n```\n\nOpen the printed URL in a browser. Connect a Xian wallet through the\ninjected provider to deploy contracts and execute signed contract calls.\n\n## Principles\n\n- **Browser-native authoring.** The full author loop — edit, check,\n  simulate, and submit contract calls — runs in the browser. There is no\n  server-side component owned by this repo.\n- **Deployment uses WASM artifacts.** The IDE compiles contract source in a\n  browser-local `@xian-tech/compiler` WASM package, submits\n  `deployment_artifacts` to `submission.submit_contract`, and lets the wallet\n  client estimate chi unless an explicit chi value is supplied by the caller.\n- **Compiler diagnostics are shared.** The Rust/WASM compiler package is the\n  same compiler core used by the IDE, JS SDK, Python SDK, and CLI. The IDE\n  renders the compiler's structured diagnostics directly in Monaco. The\n  architecture is tracked in\n  `../xian-contracting/docs/RUST_COMPILER_CORE.md`.\n- **Wallet via injected provider.** Transaction signing uses\n  `@xian-tech/provider`'s injected-wallet discovery and the user's\n  installed Xian wallet. The IDE never holds private keys.\n- **Templates are starting points.** Contract templates live in\n  `src/lib/contract-templates.ts` and are exposed in the editor as\n  starter content; they are not a contract registry.\n- **Shared client layer.** The IDE routes node reads, readonly calls, and\n  simulations through `@xian-tech/client` instead of maintaining a separate\n  RPC parser.\n\n## Key Directories\n\n- `src/` — application code:\n  - `App.tsx`, `main.tsx` — root component and Vite entry.\n  - `components/` — IDE UI components (editor wrapper, panels, terminals).\n  - `hooks/` — custom React hooks (e.g. `useIDE`).\n  - `lib/` — integration layer:\n    - `xian-client.ts` — `@xian-tech/client` setup and helpers.\n    - `compiler.ts`, `compiler-client.ts`, `deployment.ts` — WASM diagnostics,\n      compilation, and artifact-backed contract deployment.\n    - `wallet.ts` — injected-provider connection and transaction flow.\n    - `contract-templates.ts` — starter contract templates.\n  - `styles/`, `assets/` — Monaco theme, CSS, and static assets.\n- `public/` — static assets served as-is.\n- `index.html` — Vite HTML entrypoint.\n- `vite.config.ts`, `tsconfig*.json`, `eslint.config.js` — build, type,\n  and lint configuration.\n\n## Validation\n\n```bash\nnpm install\nnpm run build:client\nnpm run build:compiler\nnpm run test\nnpm run lint         # ESLint\nnpm run build        # tsc -b \u0026\u0026 vite build (also runs the typecheck)\n```\n\nThe IDE has no server side and no diagnostics service to configure. Functional\nvalidation is the WASM compiler build, Vitest coverage for\ndiagnostics/compile/deploy payloads, the Vite production build, and interactive\ntesting in a browser with a Xian wallet installed.\n\n## Related Repos\n\n- [`../xian-js/README.md`](../xian-js/README.md) — JS / TS SDK and provider contract\n- [`../xian-wallet-browser/README.md`](../xian-wallet-browser/README.md) — browser wallet that this IDE talks to via the injected provider\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxian-technology%2Fxian-ide-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxian-technology%2Fxian-ide-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxian-technology%2Fxian-ide-web/lists"}