This week’s guest on the Cardano SPO Column is a stake pool operated by Michele who is working on a project called “plu-ts”, which will allow developers to build dApps using Typescript: Harmonic [ARMN].
Last week’s guest was a stake pool operated by Brian and Joe from the US who are involved in building software tools, including Pool Peek Mobile and GetPayda.
This initiative is a point of reference for everything Cardano and every week or two we will invite a Stake Pool Operator (SPO) to answer some questions and give us an update directly from within the Cardano community.
Considering that many of our readers are new to the crypto space, we will have a mix of simple and technical questions.
Cardano SPO Column, interview with Harmonic [ARMN]
Hi, awesome to have you here. Tell us something about yourself, where are you based and what is your background?
Hi, I’m happy to be here too!
I’m Michele, I’m 21 and I’m a very curious person.
I used to be a computer science student at the Politecnico di Milano.
I said “used to” because I chose to drop out so as not to limit my curiosity, preferring a more practical approach; to many it sounds like bad news, to me it is an unique opportunity!
What’s the path that led you to Cardano and to become a Stake Pool Operator (SPO)?
I started with Bitcoin, but not like everyone did. I discovered Bitcoin through an introductory book on cryptography.
Given my curious nature, I had to know more and so I started playing around with some cryptocurrencies.
When Cardano‘s turn came, the spark was struck. At the time I didn’t know about the extensive research being made in order to build such a protocol, but I could sense the complexity behind the ease of use of it.
That is the main reason that pushed me to set up a stake pool, to learn more about that complexity.
In all this process I had the occasion to learn the value of decentralization, and that is why the stake pool is still operative to date.
What are your thoughts about the programming language chosen for Cardano, Haskell? What are the pros and cons? Tell us about your solution that addresses the drawbacks.
Haskell is an awesome language, it does have its learning curve but I can guarantee you that it is totally worth it; once you understand the syntax, writing a Haskell program is almost like writing plain English.
In my opinion, Haskell is a great choice to build a decentralized protocol thanks to the features of the language, which makes it very difficult to mess up something, but a slightly worse choice if you need to write smart contracts with it, due to the previously mentioned learning curve.
That is why I’m coming out with an alternative.
Currently, I’m working on an open source project called “plu-ts”, taking inspiration from the name of the original smart contract programming language “Plutus”.
Plu-ts is not yet ready but is getting closer to a first release day by day.
Once a first version is released developers will be able to build entire decentralized applications using only Typescript, without sacrificing the security that Haskell can guarantee.
On top of that, Typescript automatically translates to Javascript, which is the language running behind almost every website and sometimes mobile apps.
This not only implies that all the developers currently focused on these types of products will be able to write smart contracts on Cardano, but also means that smart contracts could be generated client-side; allowing a dApp to build customized smart contracts for the user, without any centralized server.
For the curious ones, the source code of plu-ts is present on my Github.
The Vasil hard fork is upon us. How will it improve the Cardano blockchain and what projects are you most looking forward to that are waiting for this important upgrade?
Vasil brings massive scalability, in line with the goals of the Basho era that we can find in the roadmap of Cardano.
Among the features introduced, notably reference inputs and reference scripts are the ones that will make the difference in terms of throughput and developer experience.
Reference inputs will allow accessing data attached to some UTxO as read-only. This implies multiple transactions can access the same data in parallel, whereas until now one could have accessed that data only by spending the relative UTxO, and in this process nobody else had the right to read the data.
Until Vasil, in order to interact with a smart contract, the source code of the smart contract had to be included in the transaction itself; with referenced scripts this changes. As the name implies, now a transaction can reference a script already present on the blockchain, resulting in transactions of similar size to a plain transfer of ADA.
I’ve no particular project I’m waiting for; I believe the best ones are not even in our imagination yet, we are just getting started after all.
Thank you kindly for your time. Any closing remarks? Where can people follow you?
My pleasure.
If anyone wants to stay updated on what I’m doing I’m mostly active on Twitter.
I do also have a YouTube channel and even if I’ve not been very active lately.
I plan to upload tutorials on how to write smart contracts and dApps in general using plu-ts once it’s ready; Here’s the Youtube channel.
Disclaimer: The opinions and views of the SPOs are their own and do not necessarily reflect those of the Cardano Foundation or IOG.
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, “2395903780706876”);
fbq(‘init’, ‘410702699585449’);
fbq(‘track’, ‘PageView’);
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src=”https://connect.facebook.net/en_EN/sdk.js#xfbml=1&version=v3.0&appId=2059238210984591&autoLogAppEvents=1″;
fjs.parentNode.insertBefore(js, fjs);
}(document, ‘script’, ‘facebook-jssdk’));
Source link