Welcome, everyone, to today's Twitter spaces with Shadyum on Build on EVM.
We'll be joined with Sandeepan, who is also DevRel at Shadyum, and we'll be talking about EVM, basically, and everything that goes into it.
What does it mean? And what does it mean when we say Shadyum is EVM compatible? And also, although in the broader term, what EVM basically means when someone talks about EVM dApps or EVM blockchains, and for a developer, how important or how easy it is or how difficult it is to build on EVM.
We'll get started in the next one minute.
Hi, Sandeepan. Welcome to the Twitter spaces.
Yeah, I think when we were thinking of the Twitter spaces, you seem to be one of the, I think, prominent speaker guest for us, who has been building on EVM for the last, I think, four years? Or is it more than that or less?
Yeah, I think it's around four or five years. I started my Web3 journey with EVM itself, so.
Oh, great. So when, I think we will, it will be a free-flowing, I'll start with questions, but it might be just talking about your journey also in between.
So when you first heard about EVM, I think when your Web3 journey started, what was your first impressions on it? Was it like learning a new language or, I don't even know, because EVM is not a language at the end of it.
So what is your first impression when you are a Web2 developer and when you hear about EVM?
Yeah, I think at the beginning, the concept is very interesting when we think about a decentralized machine, sort of a computer running in every other full nodes.
Like, so that concept was, like, very interesting coming from a Web2 background where everything is being hosted in a particular cloud server or something.
So, and, like, I was also curious on how that execution is happening when there are so many other interlinked non, like, one node doesn't have any awareness about where or what the other node is.
Like, like, like, like, technically they have the communication, but they're not directly interlinked, or like, they don't know the identities of those.
So I think in that case, I think having a global state machine, which is EVM, I think that was an interesting concept.
So, virtual machines, I think, as a developer are pretty common.
So, can you give an example of, for us, like, for everyone who's here, whether, I'm pretty sure there will be people who are non-developers, what are virtual machines and why does EVM is anyway needed?
Yeah, EVM, like, virtual machines are sort of a sandbox environment inside a computer in which, like, it behaves as an entirely separate computer and, like, you can spin up multiple of those instances.
So, that's basically what a virtual machine is.
And basically, on how EVM is being implemented, each and every full node, in case of, like, a blockchain, like, the blockchain which first came out with EVM, Ethereum, in that case, each and every full node had a version, like, had a complete version of EVM, which compiles all the code.
And that's the same, similar thing in Shardium itself, like, each and every validator has a copy, a machine, which knows how to execute the smart contracts.
So, that's basically what a virtual machine is, a separate closed-door entity, which can, which act as its own computer itself.
I think this is one of the big requirements for anyone to deploy smart contracts, because they would want to test or even deploy applications, they would want to test it, right?
Yeah, and the important thing is, like, it being safeguarded from one another.
So, for example, in case of EVM, since it's so isolated from one another, like, each of those computers, we can say virtual machines are isolated, they provide you an isolated environment.
So, if a particular smart contract has some kind of a bug, it won't take down the whole network in itself.
So, it's an isolated, if a particular smart contract has an issue, like, exploits will happen with a particular smart contract.
It won't take the, it won't necessarily take the whole network down.
Like, it's, it's a very generic case, sometimes it may, but in general, it, like, that's the most cases in which, like, since those are isolated machines, they have the ability to work independently, and make the computation independent.
And now, even though EVM, basically, in full form, it means Ethereum virtual machine, we are all aware that it expands beyond EVM.
So, what would be a real, a good definition for EVM?
Yeah, I think, I think that's the, like, the full form of EVM itself is Ethereum virtual machine.
It was first launched with the Ethereum blockchain, and it's now a very popular, like, network state in which many popular chains use it as a base layer for computation.
So, yeah, I think that's, that's basically an overview of what EVM is.
So, like, Shadyang is building from scratch up, and any blockchain, which is building from scratch up, how do they decide to choose EVM, or to build on EVM, and what other options do they have?
I think at this point of time, there are a lot of options, which wasn't even two years ago.
But, like, a majority, you will see a majority of the blockchain sticking to the EVM space, because it has the most mature ecosystem, the most number of developers available, the most number of tooling.
Like, it has matured enough and has seen, has gone through many tough times, which has helped to evolve it.
So, it's a tried and tough and tested kind of an environment.
And that's why most new blockchains prefer to, like, if you want a large accessibility, like, the EVM is the way to go.
So, just for an example, since I'm pretty sure you would have, you are aware about VMs in any kind, like, in Web2 world also.
So, what is, like, EVM is the most popular right now, and, like you said, it is well-tested with, like, tough times and all.
So, is there any equivalent in Web2 world, even if multiple equivalents, where we can say that these are well-tested?
Equivalent in Web2 world, in which sense?
So, like, preferable environment for developers to build upon.
So, that's the whole case, right?
The difference between Web2 and Web3.
In most of the cases in a Web2 world, like, you won't necessarily need to think about the environment at that level,
because there are multiple languages possible, which are tuned to whatever need you have.
You will go for C Sharp if you want to build a game, or you will go something like C++ or Rust if you want to have deeper level access to the hardware.
So, those environments provide you, like, so you can choose and tune, because the flexibility is the computer is not distributed,
the machine which is, it's not distributed, it's, like, you can compile your own code and run own code in your own machine,
and then you can host it on a cloud platform as a centralized tool.
So, in that sense, it becomes easier and gives you much more flexibility, but that's the flexibility which we right now don't have,
but we are seeing more and more, like, advancement in that in the Web3 space.
So, yeah, I was looking for an equivalent and I couldn't find, so that's a great observation that it is not needed in Web2 world.
However, it is very important to have a distribute, because the blockchain is distributed, to have something where all developers can,
anything that goes on a Web3 world goes on a blockchain, and it can affect everything.
So, it's important to test it out.
So, now, when we say Shardium is AVM-compatible, what does it mean in a real-world scene?
Is it just means that Shardium developers, or is it related to Shardium blockchain code,
or is it related to people who are building on Shardium blockchain,
they need to test their smart contracts and applications on AVM environment?
Yeah, so it is basically on the smart contract level, since Shardium is an EVM-compatible blockchain,
like, if you write a smart contract in Solidity or Viper, like, you can directly compile it,
like, you can directly run your logical programming on top of Shardium,
and EVM acts as an execution layer, which computes your code,
and, like, which ensures that the logic you are coding is executed on the Shardium blockchain.
So, yeah, and the Shardium protocol in itself is a different part,
and EVM in itself is a different part.
The Shardium protocol only relates to how the nodes talk to each other,
how the transaction is being done.
The EVM under the hood, like, what other EVM implementation has been,
it has been on the level on, like, just compiling the code,
and just getting that bytecode into ones and zeros,
and that being computed, like, having the final computation
by each of those validators.
So those are two different.
So you can have different kinds of consensus implementations,
just like you have in other layer-1 blockchains,
but at this other level, inside level, everyone is on the EVM.
Like, that platform is common.
So, like, EVM is not actually about how the blockchain is being built
at a protocol level, but how the applications on top of it will be built.
And so now coming to, because Ethereum is one of the most popular L1,
and also Ethereum is how EVM started,
and most of the mature developers who are using,
or let's say EVM developers,
would be building on Ethereum,
and they might already have applications or smart contracts on Ethereum.
So for them to migrate their applications
or deploy their applications,
same applications on Shardim,
what do they actually need to do?
That's the very interesting part, right?
So that's the whole advantage of being an EVM platform
is, like, they don't need to change a single line of code
Like, the smart contract will remain just the same.
The only change they need to make while deploying,
it's just the deployment process that's different,
using Shardim's RPC and, like, using Shardim's,
like, you need to make sure you have enough SHM in your wallet
Like, if these two criteria are made,
like, on the smart contract level,
there is not a single line of change needed.
I am, I think so, on Ethereum, on Shardim,
you would have deployed on other EVM chains.
So your experience has been that it's the same process.
Just the deployment is a different path.
And have you used any other,
I don't even know what other VMs are in the blockchain
but from your experience in the last four years,
what advantages is it on building via EVM?
Like, one of the advantages we already discussed is
it is mature and it has been through the tough times.
Are there any other advantages over other VMs on blockchain?
So there are many, many recent VMs which came out after Ethereum
and, like, those, because obviously they will have some sort of an advantage
because they have seen EVM's evolution.
And based upon that, they, right from the beginning itself,
just like what Shardim is doing regarding the scalability,
since we are a new ecosystem, we have the power
because we have already the knowledge of what happens
Like, from day one itself, we can get those solved and move forward.
So just like that, other eco, like, there are other, like,
ecosystems using different kind of, like, virtual machines
or, like, the most popular other ones is, I would say,
it wasn't from the whole Cosmos ecosystem.
So that is also a very popular kind of execution layer.
So I think that's the whole thing.
Everyone, both parties have its own advantages
Like, EVM will give you much beginner-friendly,
like, resources are much more available.
And then, on the other hand, there are other advantages
But, yeah, it's an overall what you need
and what's the easiest part for you.
Here, I was just thinking while you were answering this
that one of the most important part would also be users, right?
For a developer, if they are building an application,
they need to know where the users are.
And if the users are on an EVM chain,
it will be more beneficial for them
to build on an EVM chain, correct?
Yeah, that is, like, it becomes easier on the,
yeah, correct, on the user level also
because you have the same,
you use the same MetaMask wallet
which you use in other chains by using Shardium.
So you didn't have to sign up for a new,
like, download a new extension,
create a new kind of a wallet.
So those are some little advantages
which gives you if you are EVM-based from D1.
And, like, the more advantages,
it's from the developer's side.
EVM at a deeper level can be very tough
and very, like, thorough.
But as a beginner-friendly language,
I think, like, Solidity is good enough
as a beginner-friendly language
if you have context of, like, JavaScript
and, like, a little bit of programming context
instead of picking up something like Rust
which can have a high learning curve.
So I think that's the biggest advantage of EVM.
like, it's not that EVM cannot get complex.
The more you get into it,
you will find how complex it can become
for complex applications.
But as an entry-level beginner,
I think EVM is very big enough.
And I have heard that you are a fan of Rust.
I would say, like, Rust is pretty good
on when you want to have a control on the hardware.
But as a developer, if you're not doing,
like, if you want to have that memory control,
if you want to have that CPU control
for something making very efficient programs,
then at those cases, Rust can be good.
But if I just want to execute a logic,
essentially, I wouldn't pick up something like Rust.
So that's the whole thing of abstraction.
Like, how much do you need to get your work done?
If it can be done on the high-level language,
like, Rust is also high-level language,
but if it can be done on the overview
or on the execution side,
why would you need to go in such a depth?
So that's the whole comparison.
like, one of the benefits of Rust,
are there any limitations with AVM right now
that also are enabling new VMs into the picture?
So what are the current limitations?
like, it will depend on how much, again,
like, how much access you want to have.
For something like smart contracts,
Also, like, my bad on mentioning
that Rust is a high-level language,
That's the whole concept of Rust
being a low-level language
like, the memory and the computation.
So that's the whole thing.
Like, if you need that much access,
then only you would go for something like those.
But on a smart contract programming level,
you don't need that much access
like the validator hardware.
As a smart contract developer,
you just want to execute your logic.
I think something like AVM excels.
since AVM is most popular right now,
it is possible that AVM itself
has a lot of different things into it,
or there might be something better
that comes into the picture.
pretty sure there is a lot of documentation
available on the internet on AVM, correct?
So for all the developers
that are currently listening
even Shadyum documentation
and which other documentation
in their developer journey?
I think as a blockchain developer,
if you're an entirely beginner,
how you can make AVM work,
of solidity on those levels.
And then only after that,
I think the level achieves
like security implementations,
like you want your smart contracts
And then there are optimizations.
You want your smart contract
to consume as less gas as possible.
like knowing how the AVM works
I think only getting to know
who are currently building
or so what can you suggest
on a Shadyum documentation part
Yeah, I think on the AVM level,
we haven't added anything
in the Shadyum documentation
from the Ethereum foundation team
the Shadyum documentation,
a sort of an understanding
Ethereum foundation's websites
I think the top resources