{"id":35863630,"url":"https://github.com/ckb-devrel/ccc","last_synced_at":"2026-01-16T14:20:05.970Z","repository":{"id":234773771,"uuid":"789438642","full_name":"ckb-devrel/ccc","owner":"ckb-devrel","description":"CCC - CKBers' Codebase is a one-stop solution for your CKB JS/TS ecosystem development.","archived":false,"fork":false,"pushed_at":"2026-01-15T00:51:32.000Z","size":7190,"stargazers_count":35,"open_issues_count":26,"forks_count":34,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-15T07:42:28.896Z","etag":null,"topics":["blockchain","ckb","ckbtc","javascript","nervos","nervosnetwork","sdk","typescript","utxo","wallets","web3"],"latest_commit_sha":null,"homepage":"https://app.ckbccc.com","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/ckb-devrel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2024-04-20T14:53:09.000Z","updated_at":"2026-01-12T08:05:06.000Z","dependencies_parsed_at":"2024-04-26T01:46:52.214Z","dependency_job_id":"6f8a38e1-dd98-439d-803a-34e859cbe0f9","html_url":"https://github.com/ckb-devrel/ccc","commit_stats":{"total_commits":397,"total_committers":12,"mean_commits":"33.083333333333336","dds":"0.12342569269521408","last_synced_commit":"308c60e931c08f529598dfc701694547665ba441"},"previous_names":["hanssen0/ccc","ckb-devrel/ccc"],"tags_count":440,"template":false,"template_full_name":null,"purl":"pkg:github/ckb-devrel/ccc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckb-devrel%2Fccc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckb-devrel%2Fccc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckb-devrel%2Fccc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckb-devrel%2Fccc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ckb-devrel","download_url":"https://codeload.github.com/ckb-devrel/ccc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckb-devrel%2Fccc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","ckb","ckbtc","javascript","nervos","nervosnetwork","sdk","typescript","utxo","wallets","web3"],"created_at":"2026-01-08T13:18:14.411Z","updated_at":"2026-01-16T14:20:05.965Z","avatar_url":"https://github.com/ckb-devrel.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://app.ckbccc.com/\"\u003e\n    \u003cimg alt=\"Logo\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/logoAndText.svg\" style=\"height: 8rem; max-width: 90%; padding: 0.5rem 0;\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\" style=\"font-size: 64px;\"\u003e\n  CCC\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@ckb-ccc/ccc\"\u003e\u003cimg\n    alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/%40ckb-ccc%2Fccc\"\n  /\u003e\u003c/a\u003e\n  \u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/m/ckb-devrel/ccc\" /\u003e\n  \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/ckb-devrel/ccc/master\" /\u003e\n  \u003cimg alt=\"GitHub branch check runs\" src=\"https://img.shields.io/github/check-runs/ckb-devrel/ccc/master\" /\u003e\n  \u003ca href=\"https://live.ckbccc.com/\"\u003e\u003cimg\n    alt=\"Playground\" src=\"https://img.shields.io/website?url=https%3A%2F%2Flive.ckbccc.com%2F\u0026label=Playground\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://app.ckbccc.com/\"\u003e\u003cimg\n    alt=\"App\" src=\"https://img.shields.io/website?url=https%3A%2F%2Fapp.ckbccc.com%2F\u0026label=App\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://docs.ckbccc.com/\"\u003e\u003cimg\n    alt=\"Docs\" src=\"https://img.shields.io/website?url=https%3A%2F%2Fdocs.ckbccc.com%2F\u0026label=Docs\"\n  /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  CCC - CKBers' Codebase is a one-stop solution for your CKB JS/TS ecosystem development.\n  \u003cbr /\u003e\n  Empower yourself with CCC to discover the unlimited potential of CKB.\n  \u003cbr /\u003e\n  Interoperate with wallets from different chain ecosystems.\n  \u003cbr /\u003e\n  Fully enabling CKB's Turing completeness and cryptographic freedom.\n\u003c/p\u003e\n\n## Use Cases\n\nWe design CCC to optimize various use cases, including:\n\n- **Learn CKB**: Numerous [basic code examples and web demos based on CCC](https://github.com/ckb-devrel/ccc?tab=readme-ov-file#examples) help you quickly understand how CKB works.\n- **Analyze Data**: Leverage CCC to interact with CKB nodes and process blockchain data programmatically.\n- [**Compose Transaction**](https://github.com/ckb-devrel/ccc?tab=readme-ov-file#transaction-composing): Highly intuitive and customizable transaction composition, with helpers to simplify the process.\n- **Sign Easily**: Unified Signing interface with pre-built signing methods to interoperate with multiple chains seamlessly.\n- **Connect Wallets**: Integrate the connector component in a minute or smoothly build a customized wallet connection UI, enabling your app to reach a wider audience.\n\nRead our [documents](https://docs.ckbccc.com) or [API reference](https://api.ckbccc.com) to learn more about CCC. If you are new to the CKB, we also recommend [Nervos CKB Docs](https://docs.nervos.org/) for basic knowledge.\n\n## Try in the Playground\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://live.ckbccc.com/\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/preview.png\" width=\"70%\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nThe CCC Playground is an integrated testing environment in web browsers that supports data visualization and code-sharing. [Click the link](https://live.ckbccc.com/) to run your code without the annoying preparation and watch how the code works, exploring CCC's capabilities.\n\nFor an explanation of the visual elements and interface components in the playground, please refer to [the CCC Playground guide](https://docs.ckbccc.com/docs/playground).\n\n## Quick Start with `create-ccc-app`\n\nBesides short testing, CCC is also suitable for building scalable applications. To get started quickly, you can use our CLI tool `create-ccc-app` to bootstrap a new CCC-based application:\n\n```bash\n# Using npx\nnpx create-ccc-app@latest my-ccc-app\n```\n\n```bash\n# Using yarn\nyarn create ccc-app my-ccc-app\n```\n\n```bash\n# Using pnpm\npnpm create ccc-app my-ccc-app\n```\n\nFollow the prompts to select your preferred framework template and begin building your CCC application.\n\n## Manual Installation\n\nWhether you are a front-end or back-end developer, CCC provides helpful tools and capabilities:\n\n- [NodeJS](https://www.npmjs.com/package/@ckb-ccc/shell): `npm install @ckb-ccc/shell`\n- [Custom UI](https://www.npmjs.com/package/@ckb-ccc/ccc): `npm install @ckb-ccc/ccc`\n- [Web Component](https://www.npmjs.com/package/@ckb-ccc/connector): `npm install @ckb-ccc/connector`\n- [React](https://www.npmjs.com/package/@ckb-ccc/connector-react) ([Docs](https://api.ckbccc.com/modules/_ckb_ccc_connector_react.html)): `npm install @ckb-ccc/connector-react`\n\nAll exports from CCC are available on the `ccc` object to help with code completion:\n\n```typescript\nimport { ccc } from \"@ckb-ccc/\u003cpackage-name\u003e\";\n```\n\nIf you are an advanced developer and wish to customize your code heavily, the `\u003cpackage-name\u003e/advanced` entry point exports `cccA`, which contains almost everything else. Be aware that these interfaces are not stable:\n\n```typescript\nimport { cccA } from \"@ckb-ccc/\u003cpackage-name\u003e/advanced\";\n```\n\n## Examples\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://app.ckbccc.com/\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/appPreview.png\" width=\"50%\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nThe CCC App is a mini-toolset for CKB, showcasing some basic scenarios. You can still [try the CCC App here](https://app.ckbccc.com) even if you are not a developer. To learn more about the app's features, visit [the documentation](https://docs.ckbccc.com/docs/ccc-app).\n\n### Transaction Composing\n\nLet's start with a minimal example for transferring CKB:\n\n```typescript\nconst tx = ccc.Transaction.from({\n  outputs: [{ lock: toLock, capacity: ccc.fixedPointFrom(amount) }],\n});\n```\n\nDefine the essential outputs of the transaction, and then...\n\n```typescript\nawait tx.completeInputsByCapacity(signer);\nawait tx.completeFeeBy(signer); // Transaction fee rate is calculated automatically\nconst txHash = await signer.sendTransaction(tx);\n```\n\nThat's it! The transaction is sent.\n\n[Click here to read the full example of transferring native CKB token.](https://live.ckbccc.com/?src=https://raw.githubusercontent.com/ckb-devrel/ccc/refs/heads/master/packages/examples/src/transfer.ts)\n\nAdditional examples can be found in [the documentation](https://docs.ckbccc.com/docs/code-examples).\n\n## Build and Run\n\nRun the demo of CCC in two steps:\n\n1. Install packages and build the project\n\n```shell\n# Navigate to the project directory and run the following commands to install all necessary packages and build the project:\npnpm install\npnpm build\n```\n\n2. Run the demo in development mode\n\n```shell\n# Go to the demo directory and start the development server:\ncd packages/demo\npnpm run dev\n```\n\n## Who uses CCC?\n\n| [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/nervdao.svg\" /\u003e](https://nervdao.com/) | [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/utxoglobal.svg\" /\u003e](https://utxo.global/) | [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/mobit.svg\" /\u003e](https://mobit.app/) | [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/omiga.svg\" /\u003e](https://omiga.io/) |\n| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |\n\n| [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/nervape.svg\" /\u003e](https://www.nervape.com/) | [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/utxoswap.svg\" /\u003e](https://utxoswap.xyz/) | [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/did.svg\" /\u003e](https://d.id/) | [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/boolnetwork.svg\" /\u003e](https://bool.network/) |\n| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n\n| [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/world3.svg\" /\u003e](https://world3.ai/) | [\u003cimg style=\"height: 50px\" src=\"https://raw.githubusercontent.com/ckb-devrel/ccc/master/assets/projects/rgbcat.svg\" /\u003e](https://catnip.rgbcat.io/) |\n| ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |\n\n## FAQs\n\n### Property '\\*' does not exist on type 'typeof import(\"\\*/@ckb-ccc/connector-react/dist/barrel\")'.ts(2339)\n\nCCC uses JS's [Package Entry Points](https://nodejs.org/api/packages.html#packages_package_entry_points) feature to help tree shaking while exporting everything on the `ccc` object. Ensure in your `tsconfig.json`, `moduleResolution` is set to `node16`, `nodenext`, or `bundler`, and `resolvePackageJsonExports` is not disabled.\n\nRead the [TypeScript's Guide](https://www.typescriptlang.org/docs/handbook/modules/reference.html#packagejson-exports) for more.\n\n### TypeError: (0, react....createContext) is not a function\n\nCCC UI only works on the client side. If you are using the [React Server Component](https://react.dev/reference/rsc/use-client), add\n\n```tsx\n\"use client\";\n```\n\nat the beginning of files using `ccc.Provider`.\n\n### Can I use Lumos with CCC?\n\nWhile we recommend using CCC for composing transactions, we also provide Lumos patches to:\n\n- Support the JoyID Wallet.\n- Support the Nostr Wallet.\n- Support the Portal Wallet.\n\nSee [lumos-patches](https://www.npmjs.com/package/@ckb-ccc/lumos-patches): `npm install @ckb-ccc/lumos-patches`\n\nYou can apply patches by:\n\n```typescript\nimport { generateDefaultScriptInfos } from \"@ckb-ccc/lumos-patches\";\n\n// Before using Lumos. You don't need @ckb-lumos/joyid anymore.\nregisterCustomLockScriptInfos(generateDefaultScriptInfos());\n```\n\n## Links\n\n- [CCC Playground](https://live.ckbccc.com/) and its [source code](https://github.com/ckb-devrel/ccc/tree/master/packages/playground) help you experiment with CCC instantly in browsers.\n- [Nervos CKB Docs](https://docs.nervos.org/) is the documentation website of Nervos CKB.\n- [Lumos](https://github.com/ckb-js/lumos) and its [Docs](https://lumos-website.vercel.app/): Lumos provides utils to help compose CKB transactions.\n- [RGB++ SDK](https://github.com/ckb-cell/rgbpp-sdk) and its [Design](https://github.com/ckb-cell/RGBPlusPlus-design): RGB++ is a protocol for issuing assets with Turing-completed VM on BTC L1.\n- [Spore SDK](https://github.com/sporeprotocol/spore-sdk) and its [Docs](https://docs.spore.pro/): The on-chain digital object (DOBs) protocol designed to empower ownership, distribution, and value capture.\n- [PW SDK](https://talk.nervos.org/t/lay2-pw-sdk-build-dapps-on-ckb-and-run-them-everywhere/4289) is not maintained anymore. It is the early-age wallet connector and a brave pioneer of the CKB ecosystem.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckb-devrel%2Fccc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fckb-devrel%2Fccc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckb-devrel%2Fccc/lists"}