Please describe your proposed solution.
plu-ts is a smart contract programming language for cardano embedded in typescript.
it was initially proposed in found 9 but was never founded (for lack of founds).
It allows typescript developers to create, deploy and interact with a Cardano dApp only using typescript (or javascript) from the ground up.
Typescript is one of the most used programming languages according to stack overflow and it is interoperable with javascript (the most used programming language according to the same source)
as for now plu-ts:
- produces between the most efficient contracts in Cardano
- it has improved the syntax to get as close as possible to plain typescript
- is the first (and the most complete) transaction creation soultion not based on WASM
on top of that most of the code so far produced has been broken into modules so that it can be reused for many other projects and any other cardano-related scope (such as the cardano-node typescript implementation proposal (TODO add link))
some of the packages include:
- cardano-ledger-ts
- an UPLC module
- a plutus virtual machine
- and many more…
(all of wich can run in any javascript runtime).
but, there's always room for improvments.
In order for plu-ts to be production ready we will mainly focus on:
- further compiler optimizations
- additional typescript-like language features
- additional testing and coverage of the source code
optionally (but not necessarely) that also include improved API over the plu-ts IR (intermediate reperesentation) for language extensions.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
The main purpose of the challange is to make easier for developers to deploy applications on Cardano.
This is the exact goal of plu-ts; with special focus to typescript developers.
How do you intend to measure the success of your project?
plu-ts is already being used by established and emerging project in cardano, on top many other indipendent developers.
Ideally, once the project reaches a production-ready state, the number of projects and independent developers adopting it should be noticeable.
Please describe your plans to share the outputs and results of your project?
So far Twitter has been mainly used to comunicate the progress of the project.
Initially the personal account of MicheleHarmonic was used; later the HarmonicLabs one and currently (finally) the plu-ts profile is being used.
Twitter has proven itself a useful tool to share the progress and it will still be used.
for any unreported progress, the project itself has always been open source, and anyone interested should be able to use github to stay updated; the repository can be found at: <https://github.com/HarmonicLabs/plu-ts>