Hi it’s Keir Finlow-Bates here, and video two in
a series about the structure of Ethereum, and I said that today I'll talk about layer two. Now
traditionally layer two in Ethereum is described as the “programming layer” – I think layer
two can actually be broken up into two parts, and you'll see why when I talk about layer three,
but I like to think of layer two as the “compiler and API” layer. So the Ethereum blockchain layer,
layer 1, allows you to transmit code in the form of bytecode, which is effectively machine code,
to all the other nodes on the network so that they can run it, and human beings are not very good at
putting together code at the machine level, so we use compilers – we create higher level programming
languages that we can actually comprehend with our minds to write the code.
The compiler then turns
it into instructions that a machine can actually run, and there are a number of different
languages out there that can be compiled down into Ethereum bytecode, the most popular
and familiar being Solidity. There is also, for Python enthusiasts, Vyper, and there's nothing
stopping anybody taking the bytecode specification and writing their own compiler. And then you can
replace Solidity with that instead. So that's one side of the layer 2 – it's the tool set that
allows developers to produce the data string that represents the transactions or actions that
they want the nodes on the Ethereum blockchain to actually take.
And there's a second purpose
to the layer 2, which is: when you have a good toolkit it also automatically generates the
APIs that will allow other programmers to create software that allows interaction
with that code running on that layer 1 level of the blockchain, and that I will go
into more detail on when I talk about layer 3, which is the Dapp layer. So I hope that makes
sense and see you in video three. Bye for now!.