xGov-196 - TealCraft: Remix like IDE for TealScript

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.

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

TealCraft

2 Likes

Since this is a retroactive ask, can you say whether you already got grants or other funding to build this?

1 Like

Hi @GhostOfMcAfee

I have not received any grants or funding to build this.

2 Likes

Awesome. I thought that was the case but wanted to be sure. This seems like the perfect example of what retroactive grants should reward.

Thanks for everything Shiva.

1 Like

I have checked the IDE website looks clean so good job on that.

Now the real question, do you have any data on how many people are using your tool and how does your tool co-exist with the algokit?

What is the market fit for this product?

How will this onboard new users?

Who is going to get the word out to help get new developers?

What’s the marketing plan?

Will this be like the last proposal where one person passes your proposal even without community support? If there isn’t community support then there probably isn’t demand.

Hi @expertgovernor

I released TealCraft 2 months back and haven’t talked much about it while working on the Explorer. But I will shift my focus back to TealCraft & Pixelnode in the coming weeks, Reach out to developers and AF to start using TealCraft in their TealScript tutorials. This is 100% for developers so obviously the userbase will be veryless considering the number of Algorand developers. will also add analytics to see the user base but I expect it to be less as many devs don’t know about it yet.

This is completely different from what AlgoKit provides. TealCraft uses AlgoKit’s SDK.
This is a web-based IDE that can be used to quickly try out TealScript snippets, and compile and call the smart contracts. Whereas AlgoKit provides utils to build Dapps.

Hi @Richflairstv

Thanks for the questions.
I would request you to please try and understand the product before asking the questions.

Q. What is the market fit for this product?
A. “Developer tool”. As I clearly stated in the proposal it is a developer tool and that itself is the market fit. Developers need tools that make things easy for them. In this case, they can quickly write, compile, and test the TealScript contracts without any setup. here is a list of similar tools for other blockchains.

Solana: https://beta.solpg.io
Ethereum: https://remix.ethereum.org
Aptos: https://playground.pontem.network
Sui network: https://ide.bitslab.xyz
Flow: https://play.flow.com

Algorand: None

Don’t you think Algorand needs one?
Do you think all these blockchains built these tools without any market fit?

Q. How will this onboard new users?
A. Here is the list of steps when you ask a developer to write a simple TealScript calculator smart contract.
1. He needs to install AlgoKit.
2. He needs to install NodeJS and any other dependencies.
3. You send him the TealScript calculator contract file.
4. He should then create a project & import your file and understand the TealScript command to compile the project.
5. After compilation ABI is generated, he need to look at the methods in the raw JSON.

using TealCraft:

  1. you need to send him the shareable link which already has the preloaded calculator app.
  2. he just needs to click on one button “Compile”, now he has all the methods in the UI with the params and he can invoke the contracts right away.,

don’t you think things are now easy to onboard the new devs?

Q. Who is going to get the word out to help get new developers?
A. Developers who use TealScript.

Q. What’s the marketing plan?
A. I never did marketing for Dappflow, Algodesk, Pixelnode, or Blockpack, because all these are dev tools, and marketing them doesn’t help in any way, all I did was post about the product updates on Twitter during the development phase. I did the same for TealCraft also. but I would reach out to AF and other TealScript developers to use the TealCraft in their Demo. I will try to create some video tutorials on how to use the TealCraft.

Hope I addressed all your questions and concerns.

Q. Will this be like the last proposal where one person passes your proposal even without community support? If there isn’t community support then there probably isn’t demand.
A. I think you should stop saying this again and again. if there is no community support, the proposal won’t pass, as simple as that. My last proposal got 100% votes and it doesn’t matter if it is 1 or 100.
I still don’t understand what is your problem with pixel-node getting 100% votes. Please don’t be toxic to the developers. if you don’t like the product, just don’t vote for it. if you still have a problem with 1 person making the proposal pass, probably you should reach out to the foundation and ask them to fix it.

Thanks for the extensive response.

So I don’t know if you understand market fit. But whether it’s developer tool or another product it still needs to have a user base that want to use it. When you use loose terms like “onboarding” you are guessing it will be adopted to new devs. Which there is a very low chance because you don’t need to use it.

Thats why I brought up marketing. Making things easier to use is great but doesn’t necessarily solve the problem of onboarding or use case. (Check devs track record that recieve grant funding, which is very poor)

Making videos at some point is a good idea especially if you’re asking for money to build something that isn’t necessary to build on Algorand.

I brought up your proposal passing because there wasn’t community support and was pushed through by one person showcasing the gaps in xGov. It didn’t have anything to do with you as you are just putting a proposal.

I’d like to add there I’m not toxic to the developers because I pointed out 1 thing. The same devs are here proposal after proposal using back door deals to get things accomplished. (Not saying you are but it’s very interesting how things unfold to other chains)

The foundation has been held hostage and ripped off for along time by devs building things that are not in use or no one uses claiming “dev tooling/open source” and “greater good for the community”. Which is a false narrative. The Algorand Dev cabal has done enough damage. I think asking a couple questions isn’t wrong.

The system is broken and Voi is looking for Algorand to pay for their products. This isn’t some personal attack on you. I am a concerned community member, unfortunately it’s not many of us who will speak up and ask questions. Hope you understand.

I understand your concerns, but there is no point in bringing up pixel-node in this discussion.

How do you get a user base without building the product ?
Do you mean to say, that one should apply for xgov grants only if their product has the userbase?

AFAIK There are only a handful of developers who started using TealScript. So it is obvious that TealCraft will have a very small user base considering the number of TealScript developers.

Onboarding the new devs doesn’t mean that they can build full-blown production-grade apps using TealCraft. Not just TealCraft all other blockchain web IDEs I mentioned above for Solana, and Ethereum are only used to showcase how easy it is to develop smart contracts on their ecosystem.

No developer uses Remix or Solpg to develop real products. They are meant to be used to showcase the powerful features by providing quick snippets.

EX: https://jsfiddle.net
This is used to quickly run the javascript snippets but no one used it to develop the real product.

I think I tried my best to explain the use case. If it is not used to on-board new devs, why do you think other blockchain has similar Tools?

1 Like

As a developer, I can confirm TealCraft is really nice to use.

It’s super quick to open, set up and test something out - cause sometimes you just need to find the right way of doing things, but in isolation. This is a great tool, thank you Shiva.

2 Likes

I for one think this is one of the more useful tools for actual devs that entered the xgov. Because yes, remix is essential tool when developing for Eth, so yeah… algo can use some of that. I do agree with rich though that (probably) not many people will/are using it. so it would be great to see how it can, in the future, be packed in the algokit installation itself (unless AF is working on alternative to it themselves… then it’s kinda redundant)

2 Likes

Hi @simonb

TealCraft is a 100% react application and no server is involved except for sharing functionality.
The sharing feature can be moved to IPFS later. you are right, in the future, this can be shipped as part of Algokit, where TealCraft is connected to the local net as the networks are configurable in the TealCraft playground.

Not sure, but I don’t think AF has this on their roadmap. TealCraft is going to be open source and it makes sense to integrate it instead of starting it from scratch.

1 Like

Thanks for the support @Xxiled

You get user base by creating demand. Pyteal already exist, you are not creating a new language you are creating an area to pull up UI/UX fast which can be good.

I use codepen.io for my code now and I understand its importance I also use VSC with live server to push through as well. (Multiple options available) If someone didn’t tell me about Codepen I would never know it exist. (Marketing and people pushing it is very important) If there are only a handful of devs using then is it worth building for?

Web3 landscape is changing very fast, big reason why AF has pivoted to broader audience of developers because what we previously had wasn’t very attractive. To me this seems backwards to pay for this purely based on demand and opportunity.

I talk to devs as I’m sure you do as well. None of them mention pyteal. In fact I will put a poll up over top 4 Algorand used languages to gauge usage. It won’t be exact as someone could bot the poll but worth seeing if developers will give feedback.

I wish you much success Shiva :handshake:

TealCraft is for TypeScript - not PyTeal.

1 Like

Let me know if I’m wrong.

But cresting and IDE to show case code snippets for Tealcraft?

It allows you to super quickly put together contracts and try things out in Typescript which is then compiled in the browser to TEAL contracts .

1 Like

Hi @Richflairstv

This tool is for TealScript, not for PyTeal.
As I said please try the tool once which helps you understand the problem it is trying to solve.

Once TealScript 1.0 is released, I think it will get a lot of exposure, and front-end developers may prefer TealScript over Puya(Python). i.e. Reti protocol is built using TealScript.

There are only a handful of developers today because it is still in BETA and even if there is one developer, he needs to have enough tooling that makes it easy for him to build.

AF spends so much effort and time on dev tooling, EX: AlgoKit, TealScript, Puya, Liquid Auth, etc, you seem to be very excited about all of them but why not in my case?

I appreciate the feedback and thank you.