Indeed sir, but it’s not only for the EVM, its for any kind of programming language that can execute complex operations, just keep it in mind
Carlos Z.
Indeed sir, but it’s not only for the EVM, its for any kind of programming language that can execute complex operations, just keep it in mind
Carlos Z.
The EVM runs smart contracts on the distributed and decentralized Ethereum blockchain.
The EVM understands Bytecode.
When one programs on the Ethereum blockchain, one composes is Solidity, which is compiled to bytecode
It is not Turing Complete. Bitcoin devs limit the bitcoin blockchain to the simplest of features in order to limit the increase of the size of the blockchain.
A Turning-complete programming language is not limited the type of program it can run. It can perform loops.
Quite close sir, just keep in mind that EVM does not convert the code into Bytecode, thats Solidity/Viper does, after you write the code in Solidity/Viper, it will compiled into Bytecode that will be used through the EVM to execute the instructions of the Smart Contract.
Keep learning sir, you almost catch it!
Carlos Z.
@thecil Ah I see, Thanks for the clarification. I was a little confused about that specific function
1/ An Ethereum Virtual Machine reads the binary code coming from a smart contract an executes it
2/ Bytecode
3/ Solidity is what a programmer writes and the Bytecode is what gets read by the EVM. The compiler is what links both together, transforming solidity code to Bytecode
4/ It was not designed for it and the programming language script chosen for the project is not Turing Complete
5/ A Turing complete language is one that can run any type of program imaginable
1.The EVM is an acronym for Ethereum Virtual Machine. The EVM takes the smart contract code and runs the byte code. This byte code is run by the CPU.
EVM uses a sandbox environment. The smart contracts can not be run directly on the nodes. They are isolated from the network and run by the CPU.
Solidity compiles the code in to Bytecode that the EVM uses to solve the smart contract.
Bitcoin can not run the sam programs like Ethereum because Bitcoin is not using a turing complete language.
A turing complete language like Solidity and Viper, makes it possible to program theoretically anything.
What does the EVM do?
It executes bytecode and is meant to encapsulate the Ethereum System from OS. When I got it right it is nothing else as a container (like Docker)
What is the format of the instructions that the EVM can read?
Bytecode
What is the relationship between the programming language Solidity and Bytecode?
Solidity is the language and a compiler translates solidity to bytecode, as well as in any other programming language
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
It is not turing complete
What is a Turing Complete programming language?
It can for instance execute loops
What is the EVM and what does it do?
What is the format of the instructions that the EVM can read?
What is the relationship between the programming language Solidity and Bytecode?
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
What is Turing Complete programming language?
Homework on EVM - Questions (Updated on Dec 3 2019)
What does the EVM do?
The EVM is the program that runs the smart contract to the cpu’s of the nodes.
It makes executing code on the network possible in a way all nodes will have consensus with the contracts.
What is the format of the instructions that the EVM can read?
The EVM can only read byte code.
What is the relationship between the programming language Solidity and Bytecode?
You are able to write code in Solidity. Solidity can compile the code to byte code so that the EVM can read the byte code, because it cannot read Solidity.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Script on Bitcoin is not turing complete, Ethereum and Solidity are.
What is a Turing Complete programming language?
It means it is possible to program anything on Solidity.
EVM supports in executing the smart contract , byte code instructions in smart contract and act as a layer protection for CPU.
byte code instructions
Solidity is compiled to bytecode instructions
Because Bitcoin language is not Turing complete.
Turing complete means it can be programmed dynamically along with the loops etc.
Solidity is assembled into Bytecode that is interpreted through the EVM to the computer’s CPU.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin runs on script. Scripts is not Turing complete. It is unable to solve all problems and create complex contracts. Also, BTC did not implement the same approach in order to avoid spamming due to loops and the existing block size limitation.
5. What is a Turing Complete programming language?
Solidity is Turing complete and can be solve any problems the user can code. Technically this means the language contains “Loops” which allows the programmer to make the CPU complete actions over and over.
The EVM runs on Nodes and creates a closed enviroment in wich you can run smart Contracts
EVM reads SC —> consensus —> istructions for CPU
The EVM reads Bytecode
The solidity programminglanguage is compiled into Bytecode wich can be read and executed by
the EVM
The BTC script is not touring complete which means that creating complex SC is not possible.
The language can solve loops, making repeated task possible