-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xGov-196 - TealCraft: Remix like IDE for TealScript #196
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
0bb3a56
Create xgov-x.md
shivamanupadi afcc010
Update and rename xgov-x.md to xgov-196.md
shivamanupadi 132d725
Update xgov-196.md
shivamanupadi 46c8b0b
Update xgov-196.md
shivamanupadi 3bdce5a
Update xgov-196.md
shivamanupadi 85af8e1
Update xgov-196.md
shivamanupadi b7483d2
Update xgov-196.md
shivamanupadi f2491c7
Update xgov-196.md
shivamanupadi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
--- | ||
id: 196 | ||
period: 4 | ||
title: TealCraft - Remix-like IDE for TealScript | ||
author: Shivaprasad Manupadi (@shivamanupadi) | ||
email: [email protected] | ||
discussions-to: https://forum.algorand.org/t/xgov-196-tealcraft-remix-like-ide-for-tealscript/11845 | ||
company_name: TealCraft | ||
category: Tools | ||
focus_area: IDE | ||
open_source: Yes | ||
funding_type: Retroactive | ||
amount_requested: 195000 | ||
delivery_date: 2024-04-20 | ||
status: Final | ||
--- | ||
|
||
## Abstract | ||
Remix-like web IDE to write, compile, test deploy, and invoke smart contract calls on Algorand using TealScript. | ||
|
||
## Team | ||
Shivaprasad - Developer | ||
- 10 years of experience in building web applications. | ||
- Core expertise in TypeScript. | ||
|
||
## Experience with Algorand | ||
|
||
Developer of AlgoDesk, DappFlow, and PixelNode, contributing to the Algorand ecosystem over the past 2 years. | ||
|
||
## Present Proposal | ||
|
||
TealCraft IDE is a pioneering web-based development environment tailored for TealScript on the Algorand blockchain, akin to Remix for Solidity. | ||
With a focus on accessibility, efficiency, and collaboration, TealCraft IDE eliminates the need for extensive setup, requiring only a web browser such as Chrome. | ||
|
||
Why TealCraft IDE? | ||
|
||
**Zero Setup, Seamless Workflow:** | ||
No installations, no complications. TealCraft IDE ensures a hassle-free experience - just open Chrome, and you're ready to write, compile, deploy, and test your TealScript contracts. | ||
|
||
**Intuitive and Collaborative Development:** | ||
TealCraft IDE boasts a user-friendly interface supporting complete TealScript IntelliSense. The streamlined workflow enables developers to effortlessly create, manage, and share workspaces with a single click. | ||
|
||
**Instant Sharing:** | ||
Share your TealScript contracts effortlessly. TealCraft IDE simplifies collaboration by allowing developers to share contracts and workspaces through straightforward URL sharing. | ||
|
||
**Playground:** | ||
Not just compiling, you can deploy & interact with your smart contract by invoking its methods. Playground provides an intuitive and easy-to-use user interface to invoke the methods of your contract. | ||
|
||
**Onboarding Simplicity:** | ||
Facilitate the onboarding process for new developers with an easy-to-use interface. TealCraft IDE aims to make the Algorand ecosystem accessible to developers of all skill levels. | ||
|
||
**Key Features:** | ||
|
||
**Workspace Management:** | ||
|
||
Create, delete, and switch between workspaces effortlessly. | ||
|
||
**TealScript Contracts:** | ||
|
||
Create, import, delete, and rename TealScript contracts with ease. | ||
|
||
**IntelliSense Support:** | ||
|
||
TealScript Typings support for IntelliSense, enhancing code completions and suggestions. | ||
|
||
**Demo Workspace:** | ||
|
||
A pre-configured workspace for developers to import and kick-start their journey. | ||
|
||
**Compilation and Error Handling:** | ||
|
||
Compile TealScript contracts and provide clear error messages on compilation failure. | ||
|
||
**Output Console:** | ||
|
||
1. ABI - Display ABI with easy-to-understand UI. List of methods, expand each method, and view the details. | ||
2. App spec- View & download the App spec | ||
3. Programs - View & download approval, clear programs. | ||
4. Schema - View Global & state schema | ||
5. TSClient - Generate TS client and download. | ||
6. Download the source map file | ||
|
||
**Playground:** | ||
Once the contract is compiled, You can deploy and interact with your contracts. Local temporary accounts are created and you can instantly dispense Algos to those accounts if your connected network is local-net. Select the method, account, and invoke the contract call with a button click. Boxes and foreign arguments are auto-populated using simulate call without any user inputs. This makes the method invocation flawless and quick. | ||
|
||
**Shareable URLs:** | ||
|
||
Generate shareable URLs for easy contract and workspace sharing. | ||
|
||
**Browser Storage:** | ||
|
||
The initial version stores workspaces and contracts in the browser itself, providing flexibility for developers. | ||
|
||
**Export and Import:** | ||
|
||
Effortlessly export and import workspaces/contracts between browsers. | ||
|
||
### Deliverable | ||
Web-based TealScript IDE to Write & Compile TealScript contracts without any setup. You can also invoke the smart contract methods using playground. | ||
|
||
|
||
## Benefits for the community | ||
|
||
1. Onboarding new developers is as simple as just sharing a simple workspace URL containing the contract. instead of asking them to set up everything. | ||
2. The ability to share contracts and workspaces with a simple URL makes it easy to collaborate. | ||
3. Are you trying to invoke someone else's contract? TealCraft makes it easy to understand the application structure like methods(), states etc... | ||
|
||
## Additional information | ||
<a href="https://tealcraft.org" target="_blank" >TealCraft</a> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add the subpart with relevant information about the deliverable here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done