{"id":22489709,"url":"https://github.com/ask-lang/ask-old","last_synced_at":"2025-08-02T22:31:01.399Z","repository":{"id":44748416,"uuid":"321275709","full_name":"ask-lang/ask-old","owner":"ask-lang","description":"Ask! is a framework to write Wasm smart contracts for Substrate Frame Pallet-Contracts in AssemblyScript","archived":true,"fork":false,"pushed_at":"2022-01-27T05:50:45.000Z","size":2859,"stargazers_count":48,"open_issues_count":7,"forks_count":8,"subscribers_count":7,"default_branch":"master","last_synced_at":"2023-11-18T03:24:22.274Z","etag":null,"topics":["assemblyscript","frame-contracts-pallet","ink","patract","wasm"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ask-lang.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-12-14T08:05:40.000Z","updated_at":"2023-08-29T08:51:36.000Z","dependencies_parsed_at":"2022-09-10T00:51:31.054Z","dependency_job_id":null,"html_url":"https://github.com/ask-lang/ask-old","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ask-lang%2Fask-old","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ask-lang%2Fask-old/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ask-lang%2Fask-old/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ask-lang%2Fask-old/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ask-lang","download_url":"https://codeload.github.com/ask-lang/ask-old/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228500429,"owners_count":17930064,"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":["assemblyscript","frame-contracts-pallet","ink","patract","wasm"],"created_at":"2024-12-06T17:20:28.936Z","updated_at":"2024-12-06T17:22:56.755Z","avatar_url":"https://github.com/ask-lang.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Ask!\n\n\u003cspan style=\"display:block;text-align:center\"\u003e![Ask!](./assets/Ask.svg)\u003c/span\u003e\n\nAsk! is a smart contract language designed based on AssemblyScript and running on [Substrate FRAME Contracts](https://substrate.dev/docs/en/knowledgebase/smart-contracts/contracts-pallet). Ask! uses the similar way to [ink!](https://github.com/paritytech/ink) of designing the procedural macro in the form of eDSL, to write contracts by providing annotation type in [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) (aka AS). This way can hide the implementation details of the contract, and reduces the difficulty of writing contract. Ask! will be similar to ink!’s existing implementation, and the final product will maintain maximum compatibility with ink!’s existing standards. The WASM and metadata files compiled by Ask! can be deployed on the Substrate chain and run normally.\n\n\u003e For example: ink! describe the contract's external call interface through `#[ink(constructor)]`, `#[ink(message)]`.\n\u003e\n\u003e In Ask!, it will describe the interface through `@constructor`, `@message` or other similar annotation.\n\nRiot Group for disscusion: [https://app.element.io/#/room/#PatractLabsDev:matrix.org](https://app.element.io/#/room/#PatractLabsDev:matrix.org)\n\n## Overview\n\nAlthough AS is a new language that uses TS syntax, there are a wide range of developers who use TS as a development language, so the cost of learning AS for these developers is very low. Therefore, we think the Ask! project has a very good application development prospect. Compared with Rust-based ink!, we believe that AS-based Ask! can effectively lower the threshold for contract developers and enrich the contract development ecosystem.\n\nCurrent proposal for this repo is [Patract's proposal for Ask! v0.2](https://kusama.polkassembly.io/treasury/81), and the report is [Post #639](https://kusama.polkassembly.io/post/639)\n\n## Example\n\nWe have some examples under the examples directory. See [examples/readme](./examples/README.md).\n\n## Usage\n\nSee our [document](https://docs.patract.io/en/ask/intro/overview) for a quick start.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fask-lang%2Fask-old","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fask-lang%2Fask-old","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fask-lang%2Fask-old/lists"}