{"id":13617055,"url":"https://github.com/IntersectMBO/plutus-apps","last_synced_at":"2025-04-14T03:32:46.837Z","repository":{"id":36955883,"uuid":"419660128","full_name":"IntersectMBO/plutus-apps","owner":"IntersectMBO","description":"The Plutus application platform","archived":false,"fork":false,"pushed_at":"2024-05-03T00:37:19.000Z","size":129360,"stargazers_count":302,"open_issues_count":76,"forks_count":213,"subscribers_count":40,"default_branch":"main","last_synced_at":"2024-06-19T16:07:18.413Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","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/IntersectMBO.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2021-10-21T09:27:28.000Z","updated_at":"2024-05-10T10:42:59.000Z","dependencies_parsed_at":"2023-01-17T08:15:25.244Z","dependency_job_id":"586c3a9d-e9e0-4b55-8f07-ddf6655bf0bd","html_url":"https://github.com/IntersectMBO/plutus-apps","commit_stats":null,"previous_names":["intersectmbo/plutus-apps","input-output-hk/plutus-apps"],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fplutus-apps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fplutus-apps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fplutus-apps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fplutus-apps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntersectMBO","download_url":"https://codeload.github.com/IntersectMBO/plutus-apps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213579057,"owners_count":15608085,"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":[],"created_at":"2024-08-01T20:01:36.407Z","updated_at":"2024-08-01T20:11:57.026Z","avatar_url":"https://github.com/IntersectMBO.png","language":"Haskell","funding_links":[],"categories":["Haskell","Smart Contract Platforms"],"sub_categories":[],"readme":"= https://github.com/input-output-hk/plutus-apps[The Plutus Application Framework]\n:email: plutus@iohk.io\n:author: Input Output HK Limited\n:toc: left\n:reproducible:\n\n= Maintenance mode\n\nAs our team is focused on other projects and the monorepo approach of this\nrepository made it hard to maintain, we have decided to stop upgrading the\ncontent of this directory and to pass it in maintenance mode.\n\nNote that this decision doesn't impact at all\nhttps://github.com/input-output-hk/plutus[Plutus] the core language of Cardano,\nnor https://github.com/input-output-hk/plutus/tree/master/plutus-tx[Plutus-tx]\nthe Haskell dialect to write Plutus contract. Both are still actively\ndeveloped.\n\nParts of this repository will probably been spinned-out into their own project,\nas we have done with the\nhttps://github.com/input-output-hk/cardano-node-emulator[Cardano-node-emulator],\nwhich gives you access to an emulated node that follows the same validation rule\nas a real node, or https://github.com/input-output-hk/marconi[Marconi], a\nlibrary to define and run custom indexers.\n\nWhat is maintenance mode? In maintenance mode, no new feature will be actively\ndeveloped by the team and we won't upgrade the existing dependencies.\nWe'll welcome PR and we will review them though and we will do minor bug fixes.\n\n== Introduction\n\nimage:https://img.shields.io/badge/policy-Cardano%20Engineering%20Handbook-informational[link=https://input-output-hk.github.io/cardano-engineering-handbook]\n\nThe Plutus Application Framework, part of the Plutus Platform, is a framework for developing distributed applications using the Cardano blockchain.\nFor more information about the projects, see the \u003c\u003cuser-documentation\u003e\u003e.\n\nThis repository contains:\n\n* Plutus Platform\n** Libraries which implement the Plutus Application Framework, a framework for writing applications that work with Cardano.\n** A selection of end-to-end usecases written with the Plutus Application Framework\n\n[IMPORTANT]\n====\nThe rest of this README is focussed on people who want to develop or contribute to the Framework.\n\nFor people who want to *use* the Framework, please consult the \u003c\u003cuser-documentation\u003e\u003e.\n====\n\n== Development\n\n[[how-to-develop]]\n=== How to develop and contribute to the project\n\nRun `nix develop` to enter the development shell and you will be presented with a list of available commands.\n\n**Please see link:CONTRIBUTING{outfilesuffix}[CONTRIBUTING] for comprehensive documentation on how to contribute to the project, including development and submitting changes*\n\n== Documentation\n\n=== User documentation\n\nThe main documentation is located https://plutus-apps.readthedocs.io/en/latest/[here].\n\nThe generated Haskell API documentation (haddocks) are here:\n\u003chttps://input-output-hk.github.io/plutus-apps/main/\u003e.\n\n\n=== Talks\n\n- https://www.youtube.com/watch?v=MpWeg6Fg0t8[Functional Smart Contracts on Cardano]\n- https://www.youtube.com/watch?v=usMPt8KpBeI[The Plutus Platform]\n\n=== Specifications and design\n\n- https://ci.zw3rk.com/job/input-output-hk-plutus/master/x86_64-linux.plutus-report/latest/download/1[Plutus Technical Report (draft)]\n\n== Branching, Versioning and Releases\n\nThere are two protected development branches in `plutus-apps`: `main` and `next-node`.\nWe adopt the PVP versioning scheme.\nCheck out link:doc/BRANCHING-AND-RELEASE.adoc[Branching Policy and Release Process] to learn more.\n\n=== Dependency update\n\nThe dependency update policy is dependent on the protected branch.\n\nFor `cardano-node`, we define major-version-bound the range of versions which are compatible with a specific era.\nFor example, for the Alonzo era, that would be `\u003e= 1.29 \u0026\u0026 \u003c 1.35`. For the Vasil era, that would be `\u003e= 1.35 \u0026\u0026 \u003c 1.36`.\n\nIndependently of the protected branch:\n\n* It should always use the same first-major-version of `plutus` as the one used by the `plutus` dependency of `cardano-node`\n* It should always be safe to upgrade to a new second-major-version of `plutus`: at worst this will lead to some code breakage.\n* It should, unless specified otherwise, use the same version for transitive dependencies (`cardano-ledger`, `ouroboros-network`, etc.) with `cardano-node`\n* It should pin the major version of `cardano-node` for all packages\n* It should pin the first and second-major version of `plutus` for all packages\n\n`main` branch:\n\n* It should not update `cardano-node` to a new major-version. In other words, it should use a `cardano-node` version which is compatible with the current Cardano mainnet\n* It should use a `cardano-wallet` version which is compatible with the current `cardano-node` version\n\n`next-node` branch:\n\n* It may update the `cardano-node` to a new major-version. In other words, it may use a `cardano-node` version which is incompatible with the current Cardano mainnet\n* It may use a `cardano-wallet` version which is incompatible with the current `cardano-node` version\n\n=== Version ranges\n\nPackages which depend on `plutus-apps` packages should use version ranges to control which version of those packages they build against.\n\n* Packages in `plutus-apps` which are used downstream should pin the major-version of each other (e.g. `plutus-pab-1.0.1` should depend on `plutus-contract ^\u003e= 1.0`).\n* Downstream packages should pin at least the first-major-version of `plutus-apps` packages.\n** Upgrading to a new second-major-version should always be safe for working on the current mainnet, with at most code breakage (following the PVP). Users may of course want to pin this version as well to avoid such breakage.\n* Downstream packages pulling in `plutus-apps` packages via `source-repository-package` stanzas should always take tagged commits.\n\n== Working with the project\n\n=== How to submit an issue\n\nIssues can be filed in the https://github.com/input-output-hk/plutus-apps/issues[GitHub Issue tracker].\n\nHowever, note that this is pre-release software, so we will not usually be providing support.\n\n[[how-to-develop]]\n=== How to develop and contribute to the project\n\nSee link:CONTRIBUTING{outfilesuffix}[CONTRIBUTING], which describes our processes in more detail including development environments; and link:ARCHITECTURE{outfilesuffix}[ARCHITECTURE], which describes the structure of the repository.\n\n=== How to depend on the project from another Haskell project\n\nNone of our libraries are on Hackage, unfortunately (many of our dependencies aren't either).\nSo for the time being, you need to:\n\n. Add `plutus-apps` as a `source-repository-package` to your `cabal.project`.\n. Copy the `source-repository-package` stanzas from our `cabal.project` to yours.\n. Copy additional stanzas from our `cabal.project` as you need, e.g. you may need some of the `allow-newer` stanzas.\n\nThe https://github.com/input-output-hk/plutus-starter[plutus-starter] project\n(deprecated) provides an example.\n\n== Licensing\n\nYou are free to copy, modify, and distribute the Plutus Platform with\nunder the terms of the Apache 2.0 license. See the link:./LICENSE[LICENSE]\nand link:./NOTICE[NOTICE] files for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIntersectMBO%2Fplutus-apps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIntersectMBO%2Fplutus-apps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIntersectMBO%2Fplutus-apps/lists"}