at the moment few options are available to write off-chain code, all with important drawbacks, and none supporting ts (or js) directly, which in many cases higher the learning curve.
Implement a 100% Typescript library to write off-chain code, minimizing dependencies
This is the total amount allocated to (plu-ts) full Typescript off-chain.
at the moment the options to write off-chain code do require lots of extra work or are even hard to integrate for new projects
the included video goes through some of them and exposes some arguments in support of the previous sentence
the library should allow both high-level usage and a lower one for more control;
as an example, a high-level function could be:
createDelegationTransaction(
"2a05c534817a0b97ce0c5a2354b6e35a067c52408fa70c77e0b5e378", // pool to delegate to
blockfrostQueryier // optional BlockchainQuerier to use to get data such as protocol-parameters
);
but a lower level transaction builder should still be available for personalized transactions, making possible things like:
function makeDelegationWithMyValidator() {
txBuilder.setCertificate(
makeDelegationCertificate(
"2a05c534817a0b97ce0c5a2354b6e35a067c52408fa70c77e0b5e378", // pool to delegate to
blockfrostQueryier // BlockchainQuerier to use to get data such as protocol-parameters
)
);
txBuilder.useStakeValidator(
new StakeValidator( "cafebeef" ) // will take the validator serialized code as input
)
txBuilder.setRedeemer({
bytes: "2a05c534817a0b97ce0c5a2354b6e35a067c52408fa70c77e0b5e378"
});
return txBuilder.buildTransaction();
}
the implementation of a js/ts library will, with no doubts, help the existing developer ecosystem integrate solutions in the front-end logic alongside expanding it by allowing more developers to easily use the library functionalities
the idea "as is" is nothing new (we just need a better way to use what we know is possible), so all major challenges are known and the solutions too;
regarding the implementation the main risk is in code correctness and security, this risk should be mitigated by extensive testing
estimated 6 to 7 months
note: "Plutus-optimized" stands for efficent support for plutus specifics tag codes
a class to help executing query againist the Cardano blockchain
NOTE: we are talking of the offchain code here, you'll need the smart contract bytecode to create instances, the bytecode is agnostic to the origin, could come from plu-ts/onchain or not
based on salary.com stats
( 32 $/h * 8 h/day * 30 day/month * 7 months )
53'760 $ for 8 months full-time development
based on the same logic of above, assuming maintainance is less intesive, covering 3 months for reference
( 32 $/h * 5 h/day * 30 day/month * 3 months )
14'400 $ for repository maintenance over time
this cost is present since, being plutus a relatively new tool, the smart contract creation details on cardano are constantly evolving, the amount should cover any additional and critical development update without the need to re-create a found request for it
to start up the project and minimise costs (maximizing the chances of being founded) the "team" will be constituted of only one person
unfortunately, I'm not very active on LinkedIn etc.
useful links are:
not for this proposal, but the on-chain proposal has already some ideas for expansion
the project will be opensource, therefore verifiable by anyone with an internet connection
updates will be published on my Youtube channel with (possibly) weekly videos
and on my Twitter profile
the library has huge potential for dApp integration therefore seeing it used in various projects would be great
ideally, 2 or 3 projects with an average userbase would be a sign of adoption
this proposal IS NOT a continuation of a previously funded project