Homework on EVM

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

Yes, but that is not the correct answer to the question, maybe you want to redesign it.

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

Carlos Z.

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 Like

5.What is a Turing Complete programming language?

Quite right close, but that could be one of the abilities of the Turing Complete programming language, could you please describe it in general terms?

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

Carlos Z.

1 Like

appreciate the correction

1.The EVM runs on all nodes of the Etherium network. It runs all the transactions and tell the CPU what to do.
2.The EVM can read Solidity EVM byte code.
3.Solidity is the language used to create Etherium. Bytecode is the EVM language taken from the Solidity compiler.
4.Bitcoin uses Script a language that is not Turing Complete and has limitations. Etherium on the other hand uses Solidity which is Turing Complete and has many smart features including Loops.
5. A Turing Complete language can be programmed to do anything. It can solve any computation no matter how complex.

Homework on EVM - Questions (Updated on Dec 3 2019)

  1. What does the EVM do?

The EVM provides a sandbox for the byte code to run on.

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

Byte code.

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

Solidity is read by the EVM and converted into byte code to run.

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

The developers have left the bitcoin code Turin incomplete to avoid the extras on top.

  1. What is a Turing Complete programming language?

It is a programming language with no programming limits.

1 Like
  1. What does the EVM do?
    A. It ensures that nothing bad happens to the CPU and provides all the instructions on the contract
  2. What is the format of the instructions that the EVM can read?
    A. The format is a byte code in Solidity and compiles it to logic in the byte code for the EVM to read all the instructions) There is also Viper as well.
  3. What is the relationship between the programming language Solidity and Bytecode?
    A. The byte code is written in Solidity which is the compiler of the code.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    A. BTC is not turing complete so it can’t really solve all the problems and they don’t want a loop that can create spam
  5. What is a Turing Complete programming language?
    A. It can create loops so it can allow a smart contract to execute multiple commands
1 Like
  1. The EVM is the bridge between the Ethereum blockchain and the individual PCs that make up all of it’s nodes. It is responsible to reading and executing commands contained within the smart contracts on the Ethereum blockchain.

  2. Bytecode

  3. Solidity is the language developers write smart contracts before they compiled into Bytecode which is the actual language that the EVM can read and execute.

  4. Because it does not use a Turing Complete language.

  5. One that can solve all the problems needed to execute it’s commands.

1 Like

1. What does the EVM do?

A virtual machine or executor that runs smart contracts on every node in ethereum.

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

The EVM reads byte code compiled from Solidity

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

Solidity is similar to JavaScript and english that is compiled to bytecode.

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

Because Bitcoin uses a programming language that is non-turing complete.

5**. What is a Turing Complete programming language?**

Non-turing complete means it cannot loop through instructions compared to turing complete where it can do the same set of instructions multiple times.

1 Like
  1. The EVM makes it possible to execute code on the network in such a way that all the network is in consensus about what the code does.
  2. The EVM can read bytecode instructions.
  3. Solidity code is compiled into Bytecode, which is sent to the EVM.
  4. On bitcoin you have to write smart contracts with Script, a non touring complete language.
  5. A Turing Complete programming language means that you can program anything you want with it.
1 Like
  1. The EVM reads the smart contract and tells the CPU to execute the program.
  2. byte code.
    3.solidity a programming language in a human way of understanding but Bytecode is a code compiled by a compiler so as the EVM or CPU can read.
  3. Beacuse the bitcon founders want the bitcoin to be a digital money and they don’t like the idea of turing complete programming language because that could leads to spam and also it may increase the block size.
    5.Turing Complete programming language is a language that you can program anything because it have the feature of loops.
1 Like
  1. The EVM executes the code from the smart contract and tells the cpu what to do.
  2. The format of the instructions that the EVM can read is bytecode.
  3. Solidity compiles the smart contract program into bytecode.
  4. Bitcoin cannot run the same type of complex programs like ethereum because it uses script and cannot execute loops. It does not use a turing complete language.
  5. A turing complete language can solve all problems.
1 Like
  1. What does the EVM do?

The EVM allows for execution of smart contracts on Ethereum.

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

Bytecode

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

Solidity complies smart contract instructions into bytecode, so the EVM can read them.

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

It doesn’t use a Turing-complete language and is more limited in its applications.

  1. What is a Turing Complete programming language?

A programming language that allows for more complex features like loops, etc., which in theory lets you build anything you want. (In practice, you’re limited by ETH’s lack of massive scalability)

1 Like
  1. EVM basically reads all the byte codes and executes it on the Ethereum Network.
    2.EVM can read Loops as well.
  2. Solidity is a Turing Complete Language that can be compiled into byte codes for the CPU to process easily.
  3. Because the BTC programming script is primitive and not Turing Complete.
  4. Turing complete means you can practically write any imaginable code without failure but of course final execution/rejection is determined by the EVM
1 Like
  1. The EVM runs the smart contracts and translate them to the CPU to interpret what the result should be. The EVM encapsulates the execution of the contract to avoid corruption of the actual machine and therefore avoid corruption of the network. By achieving the same result throughout all the EVM’s in the network Consensus is achieved.

  2. EVM reads in the format of Bytecode.

  3. Solidity is a Turing and Complete programing language with english sintax that has a compiler that translate the sintax into Bytecode, which is the format of instructions that an EVM reads.

  4. Bitcoin can not run complex programs because its programming language is Script, which is not a Turing and complete language, it is very primitive; whereas Ethereum has Solidity which is a Turing and Complete language that allows it to write complex programs; through the use of loops for example.

  5. A Turing and Complete language is a language that can write complex programs and perform repetitive calculations through the use of loops for example.

1 Like

Format is bytecode which is written by Viper or solidity.

The EVM provides a level of security for the ETH blockchain by creating a barrier or safeguard for smart contracts that have malicious intent from accessing the full functionality of a nodes CPU.

The EVM instructional format is called Bytecode

The relationship between the programming language Solidity & Bytecode functions in a manner where the smart contract instructions is written in Solidity or (upcoming) Viper then compiled to Bytecode so the EVM can process and relay the information needed to preform the contract to the CPU.

Bitcoin can’t run the same type of complex programs like ETH can because Bitcoin utilizes a language called script which is not a turing complete language and is unable to fulfill the level of tasks that the ETH blockchain is capable of.

A turing complete programming language is a programming language that is capable of running more complex programs, can utilize loops and is capable of solving issues that arise from more complicated code that BTC simply cannot handle with script.

1 Like
  1. EVM reads the code and tells the cpu what to do.
  2. Bytecode
  3. You write in solidity and this gets transferred to bytecode.
  4. Script programming language is not TC
  5. Its a complete programming language, meaning you can code anything you want.
1 Like
  1. What does the EVM do?

The Ethereum Virtual Machine is software that executes contracts on the ethereum blockchain. A version of the EVM will run on each node of the blockchain interacting with the resources of the node. The EVM’s operational procedures protect the node from maliciously designed contracts.

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

EVM only reads Bytecode

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

Solidity is a statically typed language created for ethereum developers. As the EVM can only read bytecode the contract written in solidity is put through a compiler, which translates the contract from Solidity to Bytecode.

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

While Bitcoin was written in C++ it also has its own programming language called Script that is not Turing Complete.

  1. What is a Turing Complete programming language?

A Turing complete language can solve any properly programmed computational problem given enough time. In general for a programming language to be Turing-complete it needs:

  1. A form of conditional repetition(Loops) or conditional jump (while, for, if and goto)
  2. A way to read and write(input or removal) to some storage mechanism (variables)
1 Like

1.) The EVM is a piece of code or application that that runs on the CPU of the nodes. The EVM also reds and executes smart contracts and then tells the CPUs of the nodes to execute the code in said contracts. After all nodes complete these actions and reaches the same result consensus is reached. This is the EVM in a nutshell.

2.) The EVM reads Solidity as Byte code. So Byte code.

3.) Code is originally written in Solidity. After that you feed the code into an application known as a compiler. This takes what is written in Solidity and compiles it into Byte code. The Byte code is the ready to be read by the EVM.

4.) Bitcoin uses a language known as Script. Scripts is not a TC or Turing complete language. Solidity the language of Etherium id Turing complete.

5.) A Turing complete programming language is a language that can understand and implement any future agreement. Also it allows for loops which allows the program do one thing many times over. In theory a TC complete language allows one to create anything they can dream up.

1 Like