Homework on EVM

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

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. What does the EVM do?
    ETH Virtual Machine code is the consensus mechanism that dynamically instructs the ETH world computer to leverage - the entire Processing power of each of its Node’s – and run the many calculations and execute instructions of a Smart contract to publish the results back and consensus from nodes is confirmed back with to the CPU (Central scrutinizer).

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

Instructions in Bytecode, wrapped / Encapsulated in a protective layer

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

Solidity is a programming language to get to the Bytecode (also Viper soon too), then a compiler takes the Solidity code and compiles the logic n’ instructions into Bytecode; EVM instructs the nodes to execute the smart Contract instructions by instructions;, that is bytecode.

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

Bitcoin runs a programming language in “Script”. MultiSig transactions are possible, yet “Not True and Complete”. Can’t solve all problems, like Solidity, 4.

  1. What is a Turing Complete programming language?

Bitcoin purposefully did not wants Loops – programmability and scripting and the ability to programming anything you want - “Not True and Complete”. Can’t solve all problems, like Solidity, which has Loops (do one job or task or thing, several times)

1 Like

1: the Ethereum virtual machine is the layer that enables the solidity and viper code to be interpreted and executed on the physical machines.
2: the format is solididy and viper code compiled to byte code.
3: the byte code ( machine readable ) is the compiled version of the solidity source code ( human readable ) .
4: because its programing language is to simplistic. It is not turing complete. Doesn’t have features like loops.
5: Turing complete means that the language allows you to basically do anything that any other programing language can do.

1 Like
  1. The EVM takes the instructions from the smart contract and give it to the cpu to execute.
  2. Solidity is the human readable language that smart contracts on Ethereum are written in. This code is then compiled into a machine code that the EVM uses, called Bytecode.
  3. Bitcoin is not TC which means it is very limited in what it can do , it was designed in this manner to prevent issues with blocksizes and abuse of the network.
  4. TC indicates if a language is complex and can preform complicated operations, basically in theory execute any command you can think of.
1 Like
  1. EVM or Ethereum Virtual Machine, the EVM is an application thats runs on a node/miner and creates and isolated enviroment to execute the SC. the EVM reads the smart contract and tells the GPU in byte code to execute the functions.
  2. the EVM only cares about byte code
  3. the programming language Solidity is the language used for programming SC on ETH. Solidiy is more like english then programming code. the Solidity language is translated to byte code and then the EVM can read it and send to GPU to execute functions.
  4. because of the programlanguage BTC uses (script). This language isn’t Turing complete. and cannot solve complex problems. This approach is chosen because it prevents loops, and large amount of data being written on the ledger.
  5. a Turing complete programming language can program (in theory) everything. loops can be used to make sure a function is repeated (x amount of time)
1 Like

The EVM executes compiles and executes Ethereum code

The format is EVM bytecode

Solidity is the programming language that is compiled into bytecode

Bitcoin can’t run complex programs because it is not Turing complete

Turing complete means that the language can process any type of problem

1 Like

1. What does the EVM do?
The EVM runs on every node. Its purpose is to read each transaction/smart contract and tell the CPU what to do.

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

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the programming language that devs use to write smart contracts and other applications. This code gets compiled into byte code which the EVM can read.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin cannot run the same type of complex programs as Ethereum can because it uses bitcoin script. This is not a Turing complete language. Therefore only simple things can be programmed such as multi-sig transactions.

5. What is a Turing Complete programming language?
A Turing complete programming language is one that can solve complex problems. In theory, it should be able to solve any problem. In practice, however, there are limitations such as runtime and memory.

1 Like
  • What does the EVM do?
    The EVM reads the instructions of the smart contract and tells the CPU how to execute them.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language, a compiler translates it to byte code which can be read by the EVM.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the network would get completely spammed.

  • What is a Turing Complete programming language?
    It means that you can write loops (instructions that are executed x times).

1 Like
  1. Runs/executes programs / smart contracts on the etherium blockchain
  2. Byte code
  3. Solididy is a human readable programming language used to write code, it is compiled into bytecode before it can be run on EVM
  4. It is intentionally turing incomplete, therefore it is only able to run very limited programs
  5. A language capable of running a turing machine, capable of writing any mathematical instruction.
1 Like
  1. What does the EVM do?
    Executes the smart contract code. It is the run time environment for the smart contract that runs in each node and coordinates the consensus of the network.
  2. What is the format of the instructions that the EVM can read?
    Bytr Code. A low level machine language
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the high level language that humans uses to write smart contracts, whereas bytecode is the low level machine instructions generated by the EVM compiler.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because its language is deliberately limited, being non-turing complete. Basically loops control structures does not exists in Bitcoin language.
  5. What is a Turing Complete programming language?
    A language that can execute everything that can be computable. A language that possesses the three basic control structures: Loops, Decision and sequential.
1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine runs smart contract code through the nodes of the network.

  2. What is the format of the instructions that the EVM can read?
    EVM reads its instructions as bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity compiles its language into bytecode that is readable by the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can only run simpler programs because it is not Turing Complete.

  5. What is a Turing Complete programming language?
    A Turing Complete language is capable of more complex code, such as the use of loops.

1 Like
  1. What does the EVM do?

The EVM is responsible for executing the smart contracts on the Ethereum block chain.

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

The EVM reads bytecode.

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

The high-level instructions of a Solidity smart contract are compiled by a compiler into bytecode.

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

The bitcoin’s Script language is not considered turing complete and therefore can not be used to program complex programs.

  1. What is a Turing Complete programming language?

A turing complete programming language is one that can reasonably be used to implement any complex computational problem.

1 Like
  1. The EVM reads the bytecode of the smart contract (the code that was written on solidity and compiled by a compiler into byte code) then transfers this data to the CPU for the CPU to calculate.
  2. Bytecode
  3. The programming language is the code developers use to create smart contracts and the Bytecode is that same code only compiled by a compiler for the EVM to read.
  4. Bitcoin cannot run the same type of programs Ethereum can run because Bitcoin’s coding language Script is not turing complete whereas Solidity is.
  5. A Turing Complete programming language is in theory, a programming language that can solve any equation and can be programmed to do anything the programmer wishes it to do.
1 Like
  1. Etherium Virtual Machines are the programs that run on multiple CPUs executing smart contracts using consensus in between them.

  2. EVMs read byte code, the smart contract can be written in any programing language but a compiler translates into byte code and sends it to the EVM to execute.

  3. Solidity is a programing language used to write smart contracts, It is Turing complete, once a smart contract program is develop on Solidity it is translated into byte code for the EVM to read via a compiler.

  4. Bitcoin is limited in its capability to handle all the instructions like the EVM and its script language is not Turing complete.

  5. A Turing complete programing language allows the programmer to develop anything they want through a set of instructions.

1 Like

1.- EVM is the software above the hardware of each node’s computer, reads and runs the smart contracts and is ensuring security by indirectly using the CPU to execute instructions and not directly.

2.- EVM reads Bytecode

3.- Solidity instructions are written more like English language.

It uses a compiler to translate it to byte code. EVM reads and executes byte code.

4.- Because Bitcoin’s language script is made just for simple transactions whereas Ethereums solidity is a turing complete language which means you can program anything you want on this platform.

5.- Turing complete means that one can program

1 Like

[quote=“filip, post:1, topic:8443”]

  • What does the EVM do?
    EVM’s are programs exist on all ethereum nodes that read compiled smart contracts.
  • What is the format of the instructions that the EVM can read?
    compiled Bytecode from smart contracts
  • What is the relationship between the programming language Solidity and Bytecode?
    Compiled smart contract written in Solidity is translated in to Bytecode
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has some programming abilities with Script language but it’s not complete.
  • What is a Turing Complete programming language?
    A complete programming language is something which allows to perform all the programming rules such as loops, conditional statements etc.
1 Like

1 - the Ethereum Virtual Machine (EVM) processes all the program code of smart contracts. The EVM is distributed across the Ethereum network, and operates on top of the resources (CPU, GPU, RAM, etc) of a node.

2 - the EVM reads byte code

3 - the programming language Solidity is human-readable code that gets converted (via a compiler) to byte code, which the EVM processes

4 - Bitcoin does not have a Turing Complete programming language, which means it is very limited in what type of programs it can perform

5 - a Turing Complete programming language can solve any mathematical problem, therefore can be programmed to do anything one can think of

1 Like
  1. it is a software that run the smart contracts
  2. those are bytecode instructions
  3. solidity is the progrmming language the programmers use , byte code are solidity code compiled to be red by the EVm
  4. because it has a different programming language called script that is a non tuning complete - you cant program everything
  5. is a programming language that can do almost whatever you want
1 Like
  1. What does the EVM do?

It runs on every machine across the network, and executes the smart contract, it sits on top of the existing hardware on each node.

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

The EVM reads bytecode.

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

Solidity is a language written for Ethereum, this is converted by the Compiler to bytecode which is processed by the EVM.

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

Bitcoin’s language - Script, is not as sophisticated as Solidity written for Ethereum. Script is not Turing complete.

  1. What is a Turing Complete programming language?

A language which allows you to run loops for starters.

1 Like
  1. What does the EVM do?
    it executes the smart contracts on the Ethereum blockchain
  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?
    solidity programming language (used for smart contracts) is compiled and translated into bytecode so the EVM can read and execute it
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    because bitcoin is not Turing complete
  5. What is a Turing Complete programming language?
    it is a language that can program every command
1 Like