foreign
[Music]
oh wait so this is not the Spanish
language I showed up am I bad I'm sorry
okay so uh excuse me uh so welcome
everyone thank you for being here uh we
have a lot of wonderful people in this
panel and I'm gonna start by introducing
the organizers uh in case you didn't
know them already those three wonderful
folks over there are the organizers of
this event and we have the formal
verification lead and compiler engineer
uh the ethereum foundation with over 2
000 Twitter followers and over 1 000
GitHub contributions in the last year
Leonardo aka Leo alt big round of
applause
next one we have Team Epsilon lead and
solidity language X co-lead at the
ethereum foundation coffee addict and
evm nerd Alex AKA axic in that side over
here
and last but not least
it's like it's like and last but not
least
um Harry AKA Hari
[Applause]
so I do need your password answer
foreign
Y and now that we have introduced the
organizers let's introduce our wonderful
participants so from Faye we have Mr
Grant
Grant is a developer at the EF focused
on design and implementation of field
Lang before Fey he mostly contributed to
consensus clients thank you for your
service Yoshi yoshimoto is a developer
at the ethereum foundation working on
FEI Lang and sonatina compiler back end
[Applause]
from half we have Joshua
Joshua AKA JT former super fluid
solidity engineer mobile app developer
and half contributor thank you for being
here sir
from Viper we have Bryant
Bryant is the CEO of April x a python
Dev tool startup and a contributor to
the Viper compiler he has also
contributed on several eaps and core
python libraries in the ecosystem
from the ATK language we have Ansgar
he's a researcher at the ethereum
foundation previously at consensus quilt
he has worked on protocol improvements
including eips 3034 4488 and 48 44.
thank you for your service I'm amazed I
pronounced that right
now from the solidity team we have
Camille is one of the core developers at
the salinity team at the ethereum
foundation he is also a co-founder of
code poets a Polish Software House
specializing in chemi informatics and
blockchain in the past he worked on a
variety of software projects in multiple
languages ranging from Video Editor to C
plus plus to python web development to
Devos and infrastructure his blockchain
experience started with a printing
cooperation with Golem he's currently
focused on the solidity language and
compiler wow thank you Camille and
Daniel
Mr Daniel has been with the solidity
team for the past 4.5 years he's
passionate about talking so taking
somebody to the next level with generics
and he will be taking over the language
technical lead role at the solidity team
wow thank you everyone for being here it
is everybody Pleasant thank you all for
being here as well so
we are coming with a pop quiz there are
no drinks but maybe later will be so uh
let's start with some historical
questions Mr Leo would you mind uh
showing them on the
wait
you can see that all this is improvised
one for you
just in time development you know how
this works
so we are gonna go through a couple of
questions to make this fun in order to
see which language is the best one uh
please do not kill each other like we
really appreciate your work and our
bloodbath here is not wouldn't be
actually quite fun so and don't cheat
absolutely not I we will verify we have
a formal verification lead here
and Harry is going to be taking over
that role today he will be standing up
and checking that your answers are
actually correct and if they are correct
then you will score a point and there
may be or may not be a price at the end
I cannot confirm nor deny so let's go
with history language okay are you ready
listen to me
so who was the original creator of each
language so for Viper half fade solidity
and etk and you have 30 seconds
15 seconds
four four
pins up pants up pants up ends up
friends down or pencil
thank you okay so
should I say their answers okay so for
okay say that loud
favorite Sanders Mr how are you confirm
oh you're asking me
I just put grant you know just
optimistically
okay uh what about you
did you write it down
ah shall we given a half a point maybe
left
[Applause]
okay so what did you what did you write
for a half
okay so no point what did you write for
solidity
no let's go one by one solidity
whatever for 80k
doxed okay
okay so he gets the points as well right
okay what did you write
for for Viper
okay vitalik
point
so go through your list again
discuss your business again
okay next one
on the list solidity no
no TK no idea
yes sir
uh not like solidity is Gap in Wood I
believe and Faye is David
but I only wrote David
okay give me the mic
okay
let's go down the list oh
yeah
how do you define your
mind yeah
they are the dictators of this game they
get to decide and the bottle begins
okay next one
[Music]
but apparently that was wrong and I have
I had no idea
and salinity okay so for solidity we put
giving increase uh for five Grant and we
run out of time for others
all right
so
oh well the answer is if the colleagues
are wondering about the answer so Viper
is vitalik for half is Zach for Faye is
David Sanders for salinity Chris and God
and ATK Sam Mad Dogs again
that's fine let's go to the next
question in regards to the parity hack
Okay so
there's
Ah that's a great question so there's
gonna be five
um
okay so let's give you one minute for
you this one okay so there's gonna be
five questions here so for the ability
hack number one what was the GitHub
issued title of the priority hack by
devops 199.
the second question is what was the text
in the first comment
the third one what year was it
the fourth one was it solid is fault
and the fifth one is what Viper feature
proposal was motivated by it
you have one minute
what
processing
are you gonna how are you gonna answer
that
okay this is gonna be good
the last one is what Viper feature
proposal was motivated by
you have 25 seconds
you have 15 seconds to open your Google
browser and find the answers online
now
foreign
okay so let's go one by one
and let's start from the other side this
time okay so
what was the GitHub issue title of the
party hack by devops
no idea
okay what was the text in the first
comment
convince it I killed it that's probably
what it was
I accidentally killed it
yeah okay what year was it 2017
was it solidity's fold of course not
okay what Viper future proposal was
motivated by it no idea
okay so sir
let's go over here yeah um
okay so uh I couldn't remember the title
either something like anyone can I don't
know something something anyone can yeah
but I forgot the rest I don't know can
give me half a point if you want to uh
and then I put down I think I killed it
but apparently it was I accidentally
killed it I don't know uh 2017 I guess
as well of course not solid his fault I
mean you know given the judges here what
else can you say
um and no idea about the Viper feature
let's go with you sir
oh I forgot the title of the issue uh I
accidentally killed it
2017.
and was it to leave this fault
I have to think about that
I guess not
not this time and I forgot the feature
proposals I probably made
[Music]
cool uh what was the GitHub issue title
no idea
the text in the first comment no idea
what year was it no idea what is the
latest fault yes
what Viper feature proposal wasn't
divided by no idea good
that was awesome
title uh so I guessed we got hacked
it was a joke uh text in the first
comment dot dot dot
what
what year was it uh 2017. was it the
latest fault no what Viper feature
proposal was uh re-entrancy protection
but
um okay so uh I guess they both have
already been assigned let me go through
the answers for the public and the
audience at home
come here play with us sir
okay so that's the first answer to the
question what was
what was the text in the first comment
does anyone know
yes sir
what year was it who knows that
that was easy
was it so this is fault
I cannot confirm Northern ire at this
point
what Viper feature proposal was
motivated by it and yeah so Alex said it
was like cloning Factory all righty are
we ready to go to the next section
regarding ethereum evm knowledge
yes
alrighty so here's the first question
for which you will have uh 30 seconds
which is what is the cheapest evm up
code just name one
you can name more
name as many as you can
what is the cheapest evm up code
five seconds
oh this point is awful okay so let's
start with you
minus one point
okay
zero points
ah this is a dictatorship sorry
we put down code size at two guys but
after the fact we think it was like jump
this at one
no
okay who here knows the right answer sir
there's two points for you sir good job
give this man a beer
and there is one more
there is one more
it's
revert
apparently okay shall we go to the next
evm
question 30 seconds
which
up code was motivated by the dial hack
30 seconds
which op code was motivated by the Dao
hack
you got seven seconds
go for it
three two one
okay so let's start from here which up
code was motivated by the dial hack
s
that's correct he had no idea but that's
correct
all right
okay next
it's okay people get lost usually
no
okay
okay next question are you ready
can you emit logs in a static call
I'm giving you 30 if the public wants to
answer them please go ahead you will
gain nothing but you will get knowledge
you can write it down actually yeah you
can just if you have a phone or
something just like play along
[Music]
well this is what just two is you're not
even gonna bother something at all okay
so
shall we start asking
okay so what about the public can you
emit logs in a static call
no that's right that's right
okay next one
all right so which
up code returns to stack items
which op code returns to stack items
so you have 10 seconds
the audience also if you if you know it
then like write it down time yes that's
the spirit
okay
all right so shall we start with that
side okay so which op code returns two
stack items
yeah we should really know but I don't
right now
no point
known it's like the answer or not like
you don't know
uh it's just too fast I don't have any
time
so it's actually none
okay
what was it
genius
next one Okay so
which up code reverts on out of bounds
access
into 30 seconds
and I'm asking you two this time
which up code reverts on out of bound
access
five seconds
he's wrong
okay so hey let's talk with you uh call
data copy
oh no obviously
the
uh no
I remember a bit too late it's returning
the coffee I think
that's true though we had returned in a
coffee we actually got something in the
Optima wrong about that once
well I cannot ask you anymore because I
already know the answer so it wouldn't
make sense
okay next category
language specific questions
wow someone has a follower here
okay so the first question is what is
the latest release of Viper solidity
phase half and ATK
let's do 35 seconds
this is
five seconds
one
okay which way shall we start Alex you
tell this time
okay so for Viper
no idea okay for solidity uh op 0.8.17
for pay
or something
he's not wrong for half oh something
for ATK or something okay
sir I have zero points uh Viper nothing
soluti 0.8.10 is what I guess but
apparently we have power beyond that
okay no idea Huff no idea ATK no idea
slum I put down 1.0 just in case you
know
oh that was close though sir Viper
solidity
huh
put forward
not applicable is that a valid answer no
and
etk
all right I'm sorry okay
okay
great now you can hear me buff it on the
recording awesome so uh yeah Viper 0.3.4
solidity 0.8.18 Huff 0.1.0
etk no idea fee no idea
which one
like
I'm pretty sure the salinity docs points
to 0.8.18 though
I'm going to check that you've got drugs
all right well uh fee might be 0 18.0
um solidity zero dot eight that's
something and I didn't know any of the
other ones
I like his honesty no
okay so let's give you all the answers
so Viper 0.3.7 sorry ET
0.8.17
Fe 0.19.1 have only night lies
TK 0.2.1
good job
[Laughter]
okay so next question
what language was serpent written in
Viper
and Viper
how do you pronounce those foreign
yes so those are three questions 35
seconds folks
what language was serpent written in
Viper and Viper
thank you
okay are you ready
so uh let's start with you folks so
serpent what language was it written
with
oh yeah the mic this is working yeah
let's say python okay and Viper python
and a Viper we said the rust but I
suspected might be python
so what's your final answer
python
okay for you sir so uh for the three
like I I put down python python C so
which which one is which well uh serpent
python Viper python Viper with an y c I
don't know
not bad
sir uh surface are in C plus
uh Viper with a Y is written in Python
and Viper with an I from the ecff uh
whatever it's a formal verification
tools written in C plus
oh
did you forget about that
that's the reason why we have to change
the name from fiber with an eye to Viper
with a Y because
but they're not though
[Laughter]
technically correct is the best kind of
correct
can someone verify this
can you give me like five or ten points
for this okay uh sir serpent uh uh I
said python three times
well that's two out of three so
and you folks
yeah uh serpent python Viper with a Y
Python and Viper with an i c plus
even 2.01 points
wow
that was pretty curious actually how
okay so uh are you ready for the next
question
so
what language is half written in
35 seconds
what
yeah there's like multiple answers and
you get many points
write down all the programming languages
they are
I think it's in vipers
okay you have five seconds
you know that half was brilliant in half
okay so let's start with you folks rest
okay so that's the only answer you had
yeah there was a another language I
think it was uh
was it originally implemented in C plus
plus I don't know but now it's
implemented in Rust so
rust is correct
would you would you put the mic
all right so original Huff no idea uh
slightly modern Huff typescript modern
modern Huff rust
that's two points for you sir
typescript
I wrote Haskell which is cool
in this room
that's a solid answer okay yeah Mingus
was dressed and then I I was just
throwing in C plus but apparently that's
wrong so rest
that's one point
so we wrote rust
all right so well the correct answer was
also does anyone know actually there is
three answers
so rust is one typescript is another
there's a third one hands up
so
no I don't hear an answer JavaScript can
we give him a point
okay
I tried I'm sorry
okay so uh shall we go
to the next question
Mr Leo
okay are we ready what was Faye
originally called
35 seconds
five more seconds
all right so
yeah we had it earlier but I don't
remember exactly what's rusted something
he put down rust Viper but
that's correct wow
respect
no I did not put down rust but I just
you know I put down fee with two e's
because that always confuses me but you
know
uh the correct answer is Russ Viper
because it was originally supposed to be
a rust implementation a Viper compiler
even though it didn't follow semantics
at all
uh not rust Viper
breast Viper
well Harry's not very fine the answers
anyway so
all right are you ready for the next one
which
solidity version introduced named
function arguments
you have one hour to answer this
question
If someone knows this stand up and
scream it out loud which saluted version
introduced name function arguments
foreign
it's obvious
15 seconds
yeah let's do that one one
okay we got two one and time's up
okay let's start from that side one four
zero
okay the audience any answer
okay uh
I said o4o
do you want to change your answer
okay just write it down don't forget
I give a little bit of a benefit of a
doubt and I said zero one two
a little bit
I'm surprised the answer isn't
immediately no answer changes right okay
I put down zero four zero
you're good
okay it was long before my time but it
was there for ages so I said like 0.1.0
but
Okay so
we said uh should I say no you say this
Alex
so it could have been oh yeah
so I get a half a point right
I guess something before that time
yeah you know this Oprah Winfrey meme
you get a point you get a point
okay so ready for the next question
which pre-compiles do not have a
built-in in solidity
30 seconds
there's multiple Alpha leak
which pre-compiles do not have a
built-in in solidity
multiple answers are allowed
so uh let's start here
yeah we had identity that's the only one
that I was sure uh
then some hash thingy with B
but
like something yeah that's a that's does
it ever Freedom finally these days I
don't know but they're the only ones you
have
okay that's one point right
wow Viper going hard yes
right pretty similar answers that like
the identity one and then this hash
thingy but I didn't even know that like
it began with a B so I put it ah so do
with that what you want
maybe we should just rename it to the
hash thingy pre-compile
I said identity and Blake 2.
identity and shot 256.
no idea
okay that's the audience know
there's more
so again
no
well for the sake of time it's going to
be identity
pairing and black 2.
all right let's go to the next one
okay so two questions here when was Yule
introduced and what was it originally
called
and you can get bonus points because
Alex says so
answers
okay you have
five seconds when was Yule introduced
and what was it originally called
okay uh shall we start with you sir
uh 2018.
and something that started with a j
supposed to be a version
a year it's a year
okay pause the mic no no no points I'm
sorry uh no idea when but it was
originally called Julia
I rode zero four two six which was
released in 2018 so that's kind of right
there
yeah I had no idea about the name I put
down 2017.
that's a point for him
it says 2017 here but you're the master
[Laughter]
uh
so yeah you have you also had I think we
also only named the deal in 2018 but
introduced it maybe as Julia earlier but
not sure
so they got one or two feet
you got
yeah let's do two why not
I'm 0.5 from him
is everyone happy yes let's continue
then
next question what version introduced
metadata support or metadata depending
how do you pronounce it
for solidity and also
Viper
so what version introduced metadata
support in solidity and in Viper
two questions in soluti I mean Viber you
should know
this is
[Music]
two seconds
no
so
we are discovering a lot of new things
here we are learning together isn't that
fun
so yeah why probably guess zero three
four uh for solidity it was before our
time and we guessed there was three six
well that's a fun puff quiz were there
any questions and answers but uh I put
down solidity 0.30
um Viper I don't know 0.20
plausible you know sure
uh selated Team actually got the Viper
one right zero three four and then I
wrote zero four twelve for solidity
probably have to look that one up then
no idea
straightforward no idea
I also have no idea
Alex
just one point for everyone
[Laughter]
okay uh we're almost done
next question
what version allows disabling the
metadata in solidity and in Viper
so personality and for Viper which
version allows disabling the metadata
sure
for Authority I'm for Viper
okay everyone seems so confident I'm
just gonna oh thumbs up
Okay so
yeah I don't know any of these version
questions
okay
no idea
for solidity I put zero eight eleven
because why not and Viper I put zero
three seven that's one point
wow yeah if I put
0.34 and then solidity I put zero seven
zero
all right can I put some Mike
okay for for Viper we said 036 and for
solidity
okay 034 and for solution we measured
the pr like last week so it will be 08
18. that's one point
okay
the last question of the pub quiz
if you win this you win this you win
everything
or not
Okay so
if you name them correctly all of them
so even the audience if you name it then
you win as well so name one forgotten
evm language
there's multiple apparently name one or
a couple
or name all of them
thank you
five seconds
time flies
okay so shall we start with you
I just wrote surfing
I'll do that uh there was like three
others I remember but vaguely can you
just like remember
one of them was uh
that guy that used to work on formal
verification for the EF before he
left in protests right
um
yeah what was it called
okay so I'll pass the mic
uh serpent
it's forgotten
we put uh Serpent and solang
's pretty actively developed guys what
is souling
okay sir yeah I didn't didn't think
serpent counted as as forgotten I put
down move you know because why not I
think that compiles to evm right
okay so we have LL and nib
okay the audience
what's your plan oh wow
[Music]
hi
uh well the answers apparently are like
mutton lll and bamboo have you heard of
those
okay well congratulations everyone for
this amazing uh display of knowledge
that we got here now we have a should I
introduce a
yeah the question audience right but
okay so let's introduce the question for
the audience okay this is for you and
you will have to scream and shout and
jump or not I don't know okay so
what is the best solidity version
in 2018.
why argument your argument your what's
your thesis
the correct answer is it's a trick
question so
I'm would upset it
foreign
okay okay
and what what feature would you remove
[Applause]
we too
okay
and well
um we are um out of time
okay we have 10 minutes for you want to
do this are you sure
sorry
okay so you are going to be you have not
only seen a massive display of brain
power but you will also see a display of
strength
okay so Harry would you mind would you
do would you do the honors
do you know what a tog war is
and because uh there is like too many
solidity people so
I don't know you're one of them
Okay so
yes would you like that yes yes she
likes that
and he took my sock I want that talk
back
Okay so
how do you wanna put this we need some
people on one side and we need people on
the other side so
okay
you also count
do you do you think the organizer should
also do like participate in this right
take positions
[Laughter]
does anyone have like a rock music or
like something solid to play in the
background
one until one loses
of course so one two three four five
yeah is is anyone recording oh yeah
yeah
[Music]
we need to talk a bit more in the middle
okay so you see you see you see this
if you put it a bit here in the in the
in the middle
Ah that's it
okay at the count of zero three two one
go
the solidity team is becoming strong
thank you all for coming thank you all
for tuning in in this language Showdown
thank you all for your time