{"id":13735703,"url":"https://github.com/180Protocol/codaptor","last_synced_at":"2025-05-08T12:30:51.599Z","repository":{"id":38081719,"uuid":"311944546","full_name":"180Protocol/codaptor","owner":"180Protocol","description":"Instantly add Corda to any tech stack and improve resiliency of your architecture","archived":false,"fork":false,"pushed_at":"2022-07-28T15:36:33.000Z","size":2002,"stargazers_count":14,"open_issues_count":5,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-30T14:32:47.639Z","etag":null,"topics":["corda","corda-node","cordapps","java","middleware","openapi3","serialization","serialization-library","swagger-ui"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/180Protocol.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}},"created_at":"2020-11-11T11:02:29.000Z","updated_at":"2025-04-27T20:09:21.000Z","dependencies_parsed_at":"2022-07-12T10:22:23.244Z","dependency_job_id":null,"html_url":"https://github.com/180Protocol/codaptor","commit_stats":null,"previous_names":["b180tech/cordaptor"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/180Protocol%2Fcodaptor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/180Protocol%2Fcodaptor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/180Protocol%2Fcodaptor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/180Protocol%2Fcodaptor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/180Protocol","download_url":"https://codeload.github.com/180Protocol/codaptor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253068353,"owners_count":21848793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["corda","corda-node","cordapps","java","middleware","openapi3","serialization","serialization-library","swagger-ui"],"created_at":"2024-08-03T03:01:09.981Z","updated_at":"2025-05-08T12:30:51.193Z","avatar_url":"https://github.com/180Protocol.png","language":"Kotlin","funding_links":[],"categories":["Tools"],"sub_categories":[],"readme":"\u003cimg src=\".github/Codaptor-logo.png\" alt=\"Codaptor Logo\" width=\"40%\"/\u003e\n\nCodaptor is an open source project designed to address the needs of teams building decentralized applications\non [Corda](https://github.com/corda/corda) or integrating CorDapps with other systems. Corda is a great engine\nfor decentralized applications, but in order to communicate with a Corda node, teams have to develop bespoke\nintegrations using its Java client libraries. This comes with a steep learning curve, and adds complexity for\nfor teams working outside Java ecosystem, e.g. Node.js, .Net, or Python.\n\nCodaptor solves this problem by automatically creating REST API for any CorDapp running on a Corda node. There are\nmany tools that understand REST APIs in every technology stack, and teams can pick and choose what works for them.\nCodaptor also allows to decouple API users from the underlying Corda node in order to improve the availability,\nreliability, and flexibility of the overall system.\n\n## Features\n\n* Zero-configuration deployment option as an embedded Corda service -- great for development and integration testing\n* Generation of [OpenAPI 3](https://github.com/OAI/OpenAPI-Specification) JSON spec for the API endpoint based \n  on actual flows and contract state classes of available CorDapps\n* Embedded [Swagger UI](https://swagger.io/tools/swagger-ui/) for exploring the API in your browser\n* Docker-friendly standalone deployment option configurable via environment variables and compatible with\n  Kubernetes secrets management\n* Synchronous or asynchronous execution of Corda flows via the API\n* Comprehensive API for node vault queries\n* Flexible API security based on [PAC4J](https://www.pac4j.org/) allowing such authorization models as API keys,\n  OpenID Connect, SAML 2, or just about anything else -- great for integrating managed services like AWS Cognito\n* Full support for SSL out of the box\n* Extensible architecture allowing bespoke features to be added as simply as dropping a JAR file into a directory\n\n## Versions and artifacts\n\nAt the moment Codaptor is a pre-1.0 technology preview made available to the community to gather feedback and identify\nareas for improvement. It is not considered production-ready yet.\n\nLatest Codaptor release is [0.4.1](https://github.com/180Protocol/codaptor/releases/tag/0.4.1). You can download\nstandalone bundle archive from the release page on GitHub. From version 0.4.1 cordaptor releases are tagged with the corda platform version they are built under. For ex, the current 0.4.1 version is tagged as `0.4.1-corda4.7`. All Codaptor modules are \n[available in Maven Central](https://search.maven.org/search?q=g:tech.b180.cordaptor%20AND%20v:0.4.1-corda4.7).\nEmbedded CorDapp bundle can be added using coordinates `tech.b180.cordaptor:cordaptor-bundle-rest-embedded:0.4.1-corda4.7` (\nsee [getting started guide](./docs/getting-started.md))\n\nBranch [0.1.x](https://github.com/b180tech/cordaptor/tree/0.1.x) was created for bug fixes, and subsequent\nreleases of the 0.x.x are going to be bugfix only. Snapshot versions of all artifacts (`0.4.1-corda4.7-SNAPSHOT`)\nare available from [OSS Sonatype Cordaptor](https://oss.sonatype.org/#nexus-search;gav~tech.b180.cordaptor)\nMaven repository if you do not want to wait for the release. Published snapshot versions pass all automated tests.\n\nAll new functionality is developed in `master` branch, and the next major milestone release is going to be 0.5.0.\nSnapshot versions of all artifacts (`0.4.1-corda4.7-SNAPSHOT`) are available from\n[OSS Sonatype Cordaptor](https://oss.sonatype.org/#nexus-search;gav~tech.b180.cordaptor)\nMaven repository if you do not want to wait for the release. Published snapshot versions pass all automated tests.\n\n## Getting started\n\nCodaptor is designed from the ground up to be unobstructed, so there is **no code or configuration required**!\nSimply download the embedded CorDapp bundle JAR file from the\n[latest release page](https://github.com/b180tech/cordaptor/releases) and drop it into `cordapps` \ndirectory of your Corda node. Restart the node and fire up your browser to access the Swagger UI.\n\nRead more in [Getting started](./docs/getting-started.md) guide about other ways to get immediately\nproductive with Codaptor.\n\n## Next steps\n\n* Learn how to [get started](./docs/getting-started.md) with Codaptor\n* Learn more about [using](./docs/how-to-use.md) Codaptor\n* Read about how Codaptor fits into your [architecture](./docs/architecture.md)\n* Understand how to [configure](./docs/configuration.md) Codaptor\n* Learn how to [create extensions](./docs/extensions.md) for Codaptor\n* Stay tuned to updates in the [development blog](https://medium.com/b180tech)\n* If you are developing for the Codaptor [developer guide](./docs/developer-guide.md)\n\n## Getting support\n\nWe offer community support for Codaptor in `#cordaptor` channel on [Cordaledger Slack](https://slack.corda.net/).\nThe development team members can often be seen hanging out there.\n\nIf something isn't working, feel free to file a bug report through\n[GitHub Issues](https://github.com/b180tech/cordaptor/issues). Although, we ask you to search for\nrelated messages in the above Slack channel and among existing reported issues on GitHub first\nto avoid creating duplicates.\n\nFor bespoke feature development, custom integrations and extensions, or commercial support enquiries, please email \nto [management@bond180.com](mailto:management@bond180.com?subject=Cordaptor).\n\n## Contributing\n\nCodaptor is an open-source project and contributions are welcome!\n\n## License\n\n[GNU Affero General Public License version 3 or later](./LICENSE)\n\nSPDX:AGPL-3.0-or-later\n\nCopyright (C) 2020 Bond180 Limited\n\n**Important notice**: for the avoidance of doubt in the interpretation of the license terms,\nthe copyright holders commit to treat the following uses of Codaptor as 'aggregate' as opposed to 'modified versions':\n1. Deploying embedded Codaptor bundle JAR file into a Corda node, regardless of whether it is a file\ndistributed as a binary or built from the source code, as long as the source code of all modules in the bundle\nremains unmodified.\n2. Annotating application code with annotation types provided by Codaptor in order to fine-tune the behaviour\nof Codaptor components interacting with the application code.\n3. Creating extensions for Codaptor using it's published microkernel's and modules' APIs, where the\nextensions' code is assembled into separate JAR files and made available for Codaptor microkernel\nto dynamically discover at runtime. For clarity's sake, code constituting published APIs must be appropriately\nannotated, see [Extending Cordaptor](./docs/extensions.md) for further details.\n4. Including Codaptor as a component of a broader application architecture where other components interact with it\nusing network communication protocols regardless of how Codaptor is deployed and configured.\n\nThe intent of using AGPL is to protect the interests of the Codaptor user community and ensure any bug fixes\nand important new features developed by some users become available to everyone else. It is not the intent of\nusing AGPL to force disclose of any proprietary application code relying on Codaptor.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F180Protocol%2Fcodaptor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F180Protocol%2Fcodaptor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F180Protocol%2Fcodaptor/lists"}