{"id":13804671,"url":"https://github.com/glihm/kipt","last_synced_at":"2025-08-05T06:15:25.301Z","repository":{"id":205012886,"uuid":"713198233","full_name":"glihm/kipt","owner":"glihm","description":"Channel some Ki with Lua scripts for sending transactions to Starknet, powered by Rust.","archived":false,"fork":false,"pushed_at":"2024-01-24T18:31:07.000Z","size":124,"stargazers_count":7,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T13:51:10.697Z","etag":null,"topics":["lua","rust","starknet","web3"],"latest_commit_sha":null,"homepage":"https://glihm.github.io/kipt/","language":"Rust","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/glihm.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}},"created_at":"2023-11-02T03:04:44.000Z","updated_at":"2024-12-17T23:57:11.000Z","dependencies_parsed_at":"2023-11-07T19:34:07.617Z","dependency_job_id":"ea2b70a8-e79d-4879-a037-c2d969cffb96","html_url":"https://github.com/glihm/kipt","commit_stats":null,"previous_names":["glihm/kipt"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/glihm/kipt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glihm%2Fkipt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glihm%2Fkipt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glihm%2Fkipt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glihm%2Fkipt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glihm","download_url":"https://codeload.github.com/glihm/kipt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glihm%2Fkipt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268845508,"owners_count":24316230,"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","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"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":["lua","rust","starknet","web3"],"created_at":"2024-08-04T01:00:52.377Z","updated_at":"2025-08-05T06:15:25.240Z","avatar_url":"https://github.com/glihm.png","language":"Rust","funding_links":[],"categories":["Additional developer resources"],"sub_categories":[],"readme":"# Kipt\n\nKipt is leveraging the simplicity of Lua scripts to manage Starknet contracts using `starknet-rs` under the hood.\nWith few lines, you can declare, deploy, invoke and call contracts.\n\nThe main focus of Kipt is to be used in the CI, without the need\nto write bash script using Cast from Starknet Foundry or Starkli.\n\nUnder the hood, Kipt is using `starknet-rs` to interact with Starknet.\n\nPlease take 5 min to read the \u003ca href=\"https://glihm.github.io/kipt/\" target=\"_blank\"\u003ebook here\u003c/a\u003e, it's short and very helpful to get started!\n\n# Lua, an other language to learn?\n\nYou don't know Lua? No problem at all, it's a very small and easy scripting language, [beginner guide here](https://github.com/pohka/Lua-Beginners-Guide) and [full documentation here](https://www.lua.org/manual/5.4/manual.html). And to use Kipt, you only need to know very few element of the language.\n\nIf you prefer a short cheatsheet, go [here](https://devhints.io/lua) or [here](https://gist.github.com/nilesh-tawari/02078ae5b83ce3c90f476c4858c60693).\n\n(For those who have already written an add-on for a famous MMO, welcome home!)\n\n# Quick start\n\nTo test Kipt, the easiest way is:\n\n1. Install Kipt\n\n```bash\n# 1. Install\ncurl https://raw.githubusercontent.com/glihm/kipt/main/kiptup/install | sh\nsource ~/.bashrc\nkiptup\n```\n\n2. Create a simple \"demo.lua\" script copying the example below, replacing with the name of your contract.\n3. Spin up katana in an other terminal.\n4. Run `kipt --lua ./demo.lua`.\n\n# Example\n\n```lua\nRPC = \"KATANA\"\nACCOUNT_ADDRESS = \"0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03\"\nACCOUNT_PRIVKEY = \"0x1800000000300000180000000000030000000000003006001800006600\"\n\n-- No args -\u003e kipt.out\nlocal logger = logger_init()\n\nlocal decl_res, err = declare(\n    \"mycontract\",\n    { watch_interval = 300, artifacts_path = \"./target/dev\" }\n)\n\nif err then\n  print(err)\n  os.exit(1)\nend\n\nprint(\"Declared class_hash: \" .. decl_res.class_hash)\n\n-- Deploy with no constructor args.\nlocal depl_res, err = deploy(decl_res.class_hash, {}, { watch_interval = 300, salt = \"0x1234\" })\n\nif err then\n  print(err)\n  os.exit(2)\nend\n\nlocal contract_address = depl_res.deployed_address\nprint(\"Contract deployed at: \" .. contract_address)\n\n-- Invoke to set a value.\nlocal invk_res, err = invoke(\n   {\n      {\n         to = contract_address,\n         func = \"set_a\",\n         calldata = { \"0x1234\" },\n      },\n   },\n   { watch_interval = 300 }\n)\n\nif err then\n  print(err)\n  os.exit(3)\nend\n\nprint(\"Invoke TX hash: \" .. invk_res.tx_hash)\n\nlocal call_res, err = call(contract_address, \"get_a\", {}, {})\nprint_str_array(call_res)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglihm%2Fkipt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglihm%2Fkipt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglihm%2Fkipt/lists"}