Good to know, thank you!!! Is there a certain program that is used for compiling the code?
- What does the EVM do?
The EVM is the node that reads the instructions created in a smart contract and enacts upon the instructions depending on the context of the contract.
- What is the format of the instructions that the EVM can read?
The format bytecode.
- What is the relationship between the programming language Solidity and Bytecode?
Solidity is the programming language of Ethereum and it is converted to Bytecode for the smart contract to be read by the EVM (Ethereum Virtual Machine).
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is not a Turing complete programming language and uses Scrypt.
- What is a Turing Complete programming language?
A Turing Complete programming language can execute loops, it can execute code for anything you can imagine
The EVM can only read and execute bytecode
1.Ethereum Virtual Machine. Virtual machines are essentially creating a level of abstraction between the executing code and the executing machine. This layer is needed to improve the portability of software, as well as to make sure applications are separated from each other, and separated from their host.
2.EVM reads the bytecode from Solidity compiler.
3.Smart contracts are written in Solidity and compiles the code and instructions into bytecode. EVM do the rest.
4.Bitcoin have script. language, that is limited.
5.Turing complete language are used. It contains loop features. Its unlimited for programming.
- What does the EVM do? EVM (Ethereum virtual machine)runs the smart code.
- What is the format of the instructions that the EVM can read? Opcodes
- What is the relationship between the programming language Solidity and Bytecode? Solidity is compiled to bytecode that is executable on the EVM.
-
- Why canât Bitcoin run the same type of complex programs like Ethereum can? EVM can read and execute smart contracts.
- What is a Turing Complete programming language? Turing complete is a term used in computability theory to describe abstract machines, usually called automata. Such an automaton is Turing complete, if it can be used to emulate a Turing machine. It is also called computationally universal. Most modern programming languages are Turing-complete .
- EVM makes possible that a code (Smart contract) is executed on and by the Ethereum network in such way that all nodes are in consensus what the result should be.
- EVM compiles the smart contracts written in Solidity into EVM bytecode and then will send the instructions to the nodeâs CPUs.
- Because the Bitcoin is written in Turing incomplete script and ETH is in Turing complete.
- You can theoretically everything you can imagine, plus you can add loops to the code, which allows you to tell the software to something several times.
[quote=âfilip, post:1, topic:8443, full:trueâ]
Homework on EVM - Questions (Updated on Dec 3 2019)
1. What does the EVM do?
When Contracts are coded into a smart contract using specific programming languages like Solidity and Viper, it compiles the codes into bytecode, which the Ethereum Virtual Machines (EVM) can read and execute the smart contract.
EVMâs are essentially creating a level of security between the executing code (smart contract) and the executing machine (CPU). All the nodes execute this contract using their EVMs which they all have on their computers. The EVM executes a contract with whatever rules the Ethereum developer initially programmed/coded.
2. What is the format of the instructions that the EVM can read?
⢠Bytecode
Further reference:
1 Byte = 8 Bits
1 Kilobyte = 1,024 Bytes
1 Megabyte = 1,048,576 Bytes
3. What is the relationship between the programming language Solidity and Bytecode?
A smart contract uses specific programming languages like Solidity and Viper, which compiles the codes into bytecode, therefore the Ethereum Virtual Machines (EVM) can read and execute the smart contract.
4. Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin and Ethereum are similar in the way of the of Blockchain technology, which was created by combining already existing technologies like:-
⢠Cryptography
⢠POW
⢠Decentralised Networks architecture
The one major difference Bitcoin and Ethereum is that Bitcoin is used as an application for decentralising money, while Ethereum is used to run Smart Contracts and decentralises basically everything.
Today Bitcoin is considered a store of value, digital asset/money more than just a payment currency system.
On the other hand, Ethereum is the Do It Yourself platform for decentralised programs also known as Dapps â decentralised apps.
Unlike Bitcoin Ethereum is not a currency but a platform which uses Ether â the currency that incentivizes people to run the Ethereum protocol on their computer. This is very similar to the way Bitcoin miners get paid for maintaining the Bitcoin blockchain.
5. What is a Turing Complete programming language?
Turing Complete is a language that can program anything and that is capable of performing complex operations like a smart contract.
Bitcon uses Script as its coding language that is basic and has its limitations; therefore Bitcoin is written in what is known as a âturing incompleteâ
Ethereum provides a decentralised ecosystem for Ethereum developers to build amazing Dapps and products using Solidity & Viper with EVM to execute the codes. Ethereum is written in what is known as a Turing Complete.
-
EVM protects the CPU from the smart contract and reads the Byte Code to impliment the smart contract.
-
EVM can read Byte Code.
-
Solidity is the programming language used on Etherium based blockchain smart contracts. This code is turned into Bytecode by a compiler programme.
4.Bitcoin cannot do this as it is not Turing Complete. This means it cannot run loops on its blockchain.
5.A Turing Complete programming language would be Solidity.
- What does the EVM do?
Executes smart contract instructions
- 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 high-level programming language that is compiled into low-level program code called Bytecode
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Because the script language associated with Bitcoin is non-turing-complete language
- What is a Turing Complete programming language?
A language that can be used to solve any computational problem
-
What does the EVM do?The EVM reads and executes smart contracts
-
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 a programming language where you can write your instructions and then compile them to Bytecode for the EVM to read -
Why canât Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoinâs script is not a Turing complete language -
What is a Turing Complete programming language?
A language that allows a programmer to program whatever they want
-
What does the EVM do?
EVM is Ethereum Virtual Machine. It is avirtual machine on ethereum that runs smart contracts on the nodes that are in its network. The EVM makes sure that no malicious activity is taking place on the smart contracts. -
What is the format of the instructions that the EVM can read?
It is complied to byte code. -
What is the relationship between the programming language Solidity and Bytecode?
Solidity is a object oriented programming language like JavaScript. Solidity is complied to byte code, then the EVM runs everything through byte code to the CPU of the node it is on. -
Why canât Bitcoin run the same type of complex programs like Ethereum can?
Script is not turing complete like solidity is. -
What is a Turing Complete programming language?
A Turing Complete programming language is a flexible language that in theory allows you to program whatever you want on it. It is dynamic. A none turing complete language like Script is not as flexible and is not able to be changed dynamically on the fly.
- Ethereum virtual machine. All the nodes in the system use the EVM to read the programming of the smart contracts who was written in solidity or Viper. compiled text in Byte Code.
- Solidity/Viper (compiled)
- Solidity can only be read in EVM Bytecode.
- Bitcoin is not Turing complete. Script is not that good to program.
- You can program anything you want, loops can be applied.
-
EVM stands for Etherium Virtual Machine. Imagine you are a medical researcher that has invented a cure for a certain disease but you are not sure of the side effects on humans. Now also imagine that you also have a device that can mimic every part of the human being. You inject the medicine into this âvirtualâ human and observe any possible side effects and also the efficacy of the medicine. The way a code is run outside a virtual environment is by having the CPU of computer read each line of code and executing the instructions. The CPU canât discern between a malicious and benevolent code and executes the instructions regardless. Etherium uses a virtual code crunching devise on every node in its system to run the line of codes. If all the nodes agree that the code is not malicious then and only then the program is executed. Therefore security is improved.
-
Smart contract languages like Solidity cannot be executed by the EVM directly. Instead, they are compiled to low-level machine instructions called opcodes.
-
Solidity is a high level machine instructions where Bytecode is a low-level machine instructions.
-
Bitcoin is mostly a transaction crunching system and doesât run more complex programs. Doing so can jeopardise security by having malicious software creating large loops in the code making it slow down and or compromising the security.
-
It basically means that that program can actually solve the task it was given not taking into consideration runtime or memory.
#1 - What does the EVM do?
The Ethereum Virtual Machine is layer between the CPU and the smart contracts
#2 - What is the format of the instructions that the EVM can read?
The smart contracts that are read by the EVM is called solidity
#3 - What is the relationship between the programming language Solidity and Bytecode?
?
#4 - Why canât Bitcoin run the same type of complex programs like Ethereum can?
Because bitcoinâs programming language scrypt is not able to perform loops
#5 - What is a Turing Complete programming language?
A turing complete is able to perform complex operations
- The EVM is a small piece of code, runs on top of all the nodes of the Ethereum network. EVMs execute directly all the instructions in a smart contract and tells the CPU of a PC what to do, to reach the result of a SC.
- The format of the instructions that the EVM can read is Bytecode.
- The relationship between the programming language Solidity and Bytecode is that Bytecode represents the instructions given to the Solidity lanuage to execute the SC. The solidity code is compiled down to the Bytecode with the compiler. SPV than executes the instructions = reads the Bytecode.
- Bitcoin canât run the same type of complex program like Ethereum can, because bitcoinâs scripting language is not turing complete. Itâs ability to solve problems is very limited.
- A Turing Complete programming language is a language that is able to solve complex problems. It can also tell software to do one thing several times, because it has loops.
- The EVM in ethereum is the virtual machine that runs smart contract Bytecode. It provides security by encapsulating the execution of the smart contracts so that access to to the underlying operating system is blocked.
- The EVM reads byte code. Similar to the JVM in java.
- Solidity is one of the languages used to write smart contracts. It get compiled into Bytecode that the EVM will read and execute.
- Bitcoin cannot run complex programs like smart contracts because it is not Turing complete. There are no loops.
- A Turing complete language is one that you can write any type of to solve any type of problem programs because it has loops.
- Ethereum Virtual Machine- reads and directs smart contracts.
- The format of the instructions that EVM can read id a byte code.
- Relationship between Solidity and Bytecode is they can be read by the EVM
- Bitcoin is not Turing Complete
- Viper is a turing complete- can solve any issues that may come up and has loops.
- EVM ensures the smart contract is carried out correctly.
- The format of the instructions are in Byte code.
- Solidity is the programme that takes your instructions and compiles it into Byte code.
- Bitcoin is not Turing Complete where Ethereumâs programme Solidity is.
- It is a language that can create smart contracts
-
The Ethereum Virtual Machine is an important element of the Ethereum construction, because it is responsible for handling internal state and computation on the network. The machine must also handle account information pertaining to addresses, balances, current gas price, and block information.
-
Bytecode
-
Solidity programming language is used to create smart contracts which are then converted into bytecode once compiled.
-
Script - the programming language of Bitcoin is not capable of performing complete operations.
-
A programming language that can program everything including the most complicated things.
-
The EVM is a program on the node that acts as a go between for the Ethereum network and the nodes cpu. As well reading smart contracts and deciding the course of action on the contract.
-
Byte code
-
Solidity programming language compiled into bytecode.
-
A programming language that can theoretically program anything without issues.