Homework on EVM

1.) The EVM connects the instructions written in a smart contract on the Ethereum Blockchain and the CPU of the nodes in the network.

2.) The instructions in smart contracts are written in byte code. The EVM can only read byte code.

3.) Solidity is the programming language on the front end, which developers of a smart contract use to program. The programming language will run through a compiler, which compile the code in byte language.

4.) BTC is written on the language Script. Script is a non turing complete language.

5.) With a turing complete language developers can code loops and repeat a task as long as its needed.

1 Like
  1. The EVM runs the smart contract code. There is an EVM instance running on each node in the network, making use of the node’s CPU. All the nodes run the smart contract code and need to validate the result for security purposes.

  2. The instructions are compiled into EVM byte code - step by step machine code/operations.

  3. The compiler compiles Solidity code which is human readable into Bytecode which is machine readable.

  4. Bitcoin uses a programming language called Script which is not Turing complete, which means it does not have all the features of Solidity which is a Turing complete language (e.g. loops).

  5. A Turing complete programming language is one that can solve any type of mathematical problem regardless of its complexity.

1 Like
  1. What does the EVM do? Reads & executes the smart contract instructions
  2. What is the format of the instructions that the EVM can read? Byte code
  3. What is the relationship between the programming language Solidity and Bytecode? It is turing complete i
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? It is not turing complete
  5. What is a Turing Complete programming language? It has LOOPS, a feature to tell software to repeat actions. A series of instructions repeated.
1 Like

2. What is the format of the instructions that the EVM can read ?

3. What is the relationship between the programming language Solidity and Bytecode?

Quite close sir, but Solidity is the programming language that you use to create/design smart contracts, after that, it will be compiled into ByteCode, so the format of the instructions that EVM reads is Bytecode.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

  1. The EVM makes it possible to execute code on the network in a way that the entire network is in consensus on the result should be regarding a smart contract.
  2. The format of the instructions the EVM can read is bytecode.
  3. A smart contract has a bunch of instructions in bytecode, programmers use Solidity to get to the bytecode. When programmers use Solidity, they also use a complier that compiles the logic and instructions that is written by the developers in Solidity into bytecode - which is where the EVM will read the instructions.
  4. Bitcoin cannot run the same type of complex programs like Ethereum can because Bitcoin’s Script is not a Turing Complete Language.
  5. A Turing Complete programming language is a language that has loops - allowing for a developer to tell the computer to run a set of instructions several times, so the developers do not need to write out all of the instructions by hand.
1 Like
  1. The EVM acts as middleman for the nodes in the Ethereum network. It overlays the node CPU and reads the smart-contract, then directs the node resources to execute the contract requirements.

  2. The instructions in the smart-contract is formatted in “Byte Code,” which is then read by the EVM.

  3. The code is written in Ethereum’s programming language, “Solidity,” but then via the “Compiler,” is converted to Byte Code in the smart-contract.

  4. Bitcoin can’t run complex programs like Ethereum can because Bitcoin’s programming language “Script” is a very basic/primitive language, only capable of very simple coding, or in other words, it isn’t Turing Complete.

  5. Ethereum’s coding language Solidity, and languages like JavaScript are examples of Turing Complete coding languages.

1 Like
  1. EVM helps execute smart contracts from cpu to the blockchain.
  2. EVM reads instructions in byte code.
  3. Solidity from eth gets compiled into byte code which can then be read by the EVM to carry out the contract.
  4. Because Bitcoin is not turing complete, which means it cannot be built on like eth can.
  5. Turing complete means that it is compatible with layer two applications or code can be built on top of a turing complete language such as solidity.
1 Like
  1. Runs programs and smart contracts.
  2. Solidity.
  3. Solidity is the language programmers use, while Bytecode is the language the EVM uses. Solidity is translated into Bytecode.
  4. It is not a Turing Complete language.
  5. A language that can solve any problem and run loops.
1 Like

1-The ethereum virtual machine makes the whole process of smart contract run on the ethereum blockchain
2- it reads byte codes
3- to get to the byte code, the programming language solidity is used. the special application compiler is then complied into byte code that eventually the Evm will read.
4- because bitcoin is not Turing complete which means it’s very limited and cannot solve all problems.
5- Turing complete means it can solve any problem. We can write and command any program that we like on it

1 Like
  1. What does the EVM do?

EVN makes it posable to execute code on the Ethereum network so all nodes can be in consensus.

  1. What is the format of the instructions that the EVM can read?

EVN reads Bytecode it dose not care what language the smart contract is written in.

  1. What is the relationship between the programming language Solidity and Bytecode?

Solidity is like the English language that can be read by humans. Solidity language gets compiled by compiler to Bytecode then the EVN reads it tell CPU to execute the instructions on the smart contract.

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?

Because Bitcoin is not Turing Complete its very limited script language.

  1. What is a Turing Complete programming language?

Solidity is a Turing Complete language which has a feature called loops to allow programers to tell software to do one thing several times like one thing 1000 times.

1 Like

1.The EVM runs on top of the existing hardware of each node in the network. EVM reads the instructions of a smart contract and executes them.

  1. The format of the instructions that EVM can read is Bytecode.

  2. Solidity is used to compile the logic and the instructions of a smart contract to Bytecode.

  3. The scripting language of Bitcoin is not Turing Complete and that is why it can not run the same type of complex programs that Ethereum can.

  4. A Turing Complete programming language allows a programmer to program anything they want onto the network.

1 Like
  1. What does the EVM do?
    Ethereum Virtual Machine dissects the smart contract or code written in Solidity and compiled to byte code and propagates to nodes running the EVM to verify and achieve consensus which will then execute the code via CPU and obtain result as stated in the smart contract.

  2. What is the format of the instructions that the EVM can read?
    Byte code

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is used by users to write codes that will be compiled to data that is readable by the EVM which is in the form of Bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it isn’t Turing complete

  5. What is a Turing Complete programming language?
    A Turing complete programming language is able to perform complex calculation and run iterations without having to scripting the loops individually

1 Like
  1. What does the EVM do?

The EVM reads smart contracts before coming to a result and telling the CPU to carry them out. The EVM runs on every node and hence consensus has to be reached before the smart contract is carried out.

  1. What is the format of the instructions that the EVM can read?

The EVM can read Bytecode.

  1. What is the relationship between the programming language Solidity and Bytecode?

Solidity is a programming language similair to English and Bytecode is the logic and ideas of the smart contract written in solidity compiled into code.

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?

Bitcoin cant run the same type of programmes as Ethereum as its programming language, script, is very basic and only allows for very simple contracts to be run. We call this a non Turing complete programming language.

  1. What is a Turing Complete programming language?

A Turing Complete programming language is a language which can express any idea the programmer may want.

1 Like
  1. What does the EVM do?
    -> Run propgram compiled from Solidity language

  2. What is the format of the instructions that the EVM can read?
    -> Bytecode

  3. What is the relationship between the programming language Solidity and Bytecode?
    -> Bytecode is the result of the compilation of Solidity. Solidity is the programing language for the human, the Bytecode is the understandable language for the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    -> Because Script is not Turing complete.

  5. What is a Turing Complete programming language?
    -> A language is TC if it do at least the same actions as the Turing machine (read, write, loop, …)

1 Like

1. What does the EVM do?
It reads and executes smart contracts compiled from Solidity language.

2. What is the format of the instructions that the EVM can read?
Bytecode.

3. What is the relationship between the programming language Solidity and Bytecode?
EVM will read the smart contract written in Solidity and compile it to EVM Bytecode.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoin blockchain only accepts the programming language Script which is very limited.

4. What is a Turing Complete programming language?
It can program anything you can think of.

1 Like

1.) The EVM reads instructions of a Smart Contract and gives orders to the CPU of the Nodee
2.) The EVM can read Bytecode
3.) Solidity is the program to write instructions in. Those are then compiled into Bytecode which can be read by the EVM
4.) Bitcoin uses the language Script which is not Turing complete and only supports simple code.
5.) A language thatcan solve all problems and enables loops. Solidity would be an example for a Turing complete language.

1 Like
  1. What does the EVM do?
    Executes the smart contracts instructions in a node of the network reaching consensus with other nodes.f
  2. What is the format of the instructions that the EVM can read?
    Byte code
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity has to be able to write byte code for the smart contracts to be executed.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because of the blockchain size.
  5. What is a Turing Complete programming language?
    A language that can execute everything.
1 Like
  1. the EVM is a piece of code that runs on the ethereum nodes. It interacts with the CPU of a computer and is able to read smart contracts. Hereby it is able to follow and perform tasks written in the smart contract

  2. the format is written in byte-code

  3. solidity is the programming language that is compiled to byto code. EVM can only read byte code.

  4. because bitcoins programming language is not turing complete

  5. a complexe type of programming that alows loops. (returning tasks)

1 Like
  1. What does the EVM do?
    EVM stands for Etheruem Virtual Machine which interacts with the smart contract instead of one CPU. EVM is made up of all Etheruem nodes

  2. What is the format of the instructions that the EVM can read?
    Byte Code

  3. What is the relationship between the programming language Solidity and Bytecode?
    Ethereum is programmed in Solidity language but the EVM cannot read it until it goes through a compiler which converts Solidity to Bytecode that EVM can interact with

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses programming language called “Script” and it is not Turning Complete language and is very limited.

  5. What is a Turing Complete programming language?
    Solidity is a Turning Complete progamming language which can handle loops.

1 Like
  1. EVM runs the ethereum smart contracts.

  2. Byte code

  3. Solidity is the programming language which is then compiled into byte code for the EVM to read

  4. It cannot run complex programs because it does not use a Turing complete language.

  5. A computer language that can execute any possible algorithm.

1 Like