{"id":39103897,"url":"https://github.com/eigerco/pallet-move","last_synced_at":"2026-01-17T19:19:16.668Z","repository":{"id":187427195,"uuid":"659690850","full_name":"eigerco/pallet-move","owner":"eigerco","description":"MoveVM pallet for Substrate-based chains","archived":false,"fork":false,"pushed_at":"2025-01-16T08:37:05.000Z","size":6272,"stargazers_count":28,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T05:32:33.511Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Move","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eigerco.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":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-28T11:00:21.000Z","updated_at":"2025-03-30T00:51:02.000Z","dependencies_parsed_at":"2023-08-10T11:05:27.498Z","dependency_job_id":"bf896e2e-c81e-4206-bffa-fc97ec5a35a0","html_url":"https://github.com/eigerco/pallet-move","commit_stats":null,"previous_names":["eigerco/pallet-move"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eigerco/pallet-move","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eigerco%2Fpallet-move","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eigerco%2Fpallet-move/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eigerco%2Fpallet-move/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eigerco%2Fpallet-move/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eigerco","download_url":"https://codeload.github.com/eigerco/pallet-move/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eigerco%2Fpallet-move/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28516724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T18:55:29.170Z","status":"ssl_error","status_checked_at":"2026-01-17T18:55:03.375Z","response_time":85,"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":[],"created_at":"2026-01-17T19:19:15.941Z","updated_at":"2026-01-17T19:19:16.652Z","avatar_url":"https://github.com/eigerco.png","language":"Move","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Move Pallet\n\nA pallet for substrate based blockchains to enable the usage of smart contracts written in the Move-language.\n\n![Pallet Move connects the Move language with Substrate](doc/assets/pallet-move_substrate_move.png)\n\n## Overview\n\nSmart contracts can directly be implemented and executed as Move scripts or modularized in Move modules. Therefor, the pallet supports publishing of Move modules and the execution of Move scripts to achieve this functionality. In the case of larger projects, the pallet provides the publishing of a bundle (multiple Move modules).\n\nFor the execution of Move scripts and the publication of Move modules, the Move source code has to be compiled and serialized into bytecode. For this purpose, the tool [`smove`][smove] is provided. The tool also provides further helpful features for developing and working with the Move language and this pallet.\n\n### Requirements\n\n- [Substrate developer environment][substrate-dev-env]\n- [smove] is a package manager for Move language in Substrate. Follow the instructions in its repo to install it.\n- [cargo]\n- Docker (not mandatory)\n\n\n## Move Example\n\nA basic sample of the Move module and the Move script is shown below.\n\n```move\nmodule DeveloperBob::CarWash {\n    /// Buys `count` washing coin(s) for the car wash. Therfor, `COIN_PRICE`*`count` will be withdrawn from the user's account.\n    public fun buy_coin(user: \u0026signer, count: u8) acquires Balance {\n        // ...\n    }\n}\n```\n\nMore details about the module above in our [tutorial]. For this example, the module got published and the following script only needs to be executed.\n\n```move\nscript {\n    use DeveloperBob::CarWash;\n\n    fun buy_coin(account: signer, count: u8) {\n        CarWash::buy_coin(\u0026account, count);\n    }\n}\n```\n\nFor a general overview and further details of the Move language, have a look at the [Move Book][move-book].\n\n\n## Tutorial\n\nTo dive quickly into the topic, explore our [simple tutorial][tutorial].\n\n\n## Tech Guide\n\nThere is a [tech-guide] available, where you can find advanced topics like pallet configuration, Docker, and benchmarking.\n\nRead the [design document][design-document] to learn more about the pallet API and how it works.\n\n### Template Node\n\nUse [these instructions][quickstart-temp-node] to setup the template-node with Move pallet integrated.\n\n### Testing\n\nVerify that everything works fine by running the pallet's unit tests with all features enabled:\n```sh\ncargo test --verbose --features build-move-projects-for-test\n```\n\nYou can find further details about testing possibilities in the [tech-guide].\n\n\n## Important Note\n\n_The MoveVM pallet is a good starting point for potential parachains that want to support Move._\n_There are more potential improvements to be made._\n_Still, those are yet to be defined and properly implemented within a future parachain project - since it's hard to predict what exactly the parachain might need or not need._\n_The current solution is general and parachain-agnostic._\n_The MoveVM is taken from the Move language repository - any possible safety issues are inherited from that repo._\n_Therefore, the Substrate MoveVM fork ([substrate-move]) should get all upstream changes from that repository._\n_The first parachain adapters should do additional testing to ensure the robustness of the solution._\n\n\n## See also\n\n- [move-stdlib] - Provides elementary Move functions in Move smart contracts. \n- [substrate-move] - A modified MoveVM fork for the use of MoveVM in the pallet-move repo.\n- [smove] - Handles the gas estimation, the serialization of script and module transactions, and the inspection of the module's ABIs.\n- [substrate-stdlib]- Provides elementary Substrate functions in Move smart contracts.\n\n## License\n\n[MIT](LICENSE) License.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"doc/assets/web3 foundation_grants_badge_black.png\" width=\"50%\"/\u003e\u003c/p\u003e\n\n## About [Eiger](https://www.eiger.co)\n\nWe are engineers. We contribute to various ecosystems by building low level implementations and core components. We believe in Move and in Polkadot and wanted to bring them together. Read more about this project on [our blog](https://www.eiger.co/blog/eiger-brings-move-to-polkadot).\n\nContact us at hello@eiger.co\nFollow us on [X/Twitter](https://x.com/eiger_co)\n\n\n[cargo]: https://doc.rust-lang.org/cargo/getting-started/installation.html\n[design-document]: doc/final-design.md\n[move-book]: https://move-language.github.io/move/introduction.html\n[move-stdlib]: https://github.com/eigerco/move-stdlib\n[quickstart-temp-node]: doc/tech_guide.md#quickstart-guide-for-the-template-node\n[smove]: https://github.com/eigerco/smove\n[substrate-dev-env]: https://docs.substrate.io/install/\n[substrate-move]: https://github.com/eigerco/substrate-move\n[substrate-stdlib]: https://github.com/eigerco/substrate-stdlib\n[tech-guide]: doc/tech_guide.md#testing\n[tutorial]: doc/tutorial.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feigerco%2Fpallet-move","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feigerco%2Fpallet-move","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feigerco%2Fpallet-move/lists"}