WEBVTT
Kind: captions
Language: en

00:00:04.230 --> 00:00:09.000 align:start position:0%
 
you

00:00:09.000 --> 00:00:09.010 align:start position:0%
 
 

00:00:09.010 --> 00:00:15.790 align:start position:0%
 
[Music]

00:00:15.790 --> 00:00:15.800 align:start position:0%
[Music]
 

00:00:15.800 --> 00:00:27.019 align:start position:0%
[Music]
hello<00:00:16.800><c> everyone</c><00:00:23.570><c> yeah</c><00:00:24.599><c> so</c><00:00:25.140><c> I'm</c><00:00:25.700><c> palpable</c><00:00:26.700><c> Itza</c>

00:00:27.019 --> 00:00:27.029 align:start position:0%
hello everyone yeah so I'm palpable Itza
 

00:00:27.029 --> 00:00:32.420 align:start position:0%
hello everyone yeah so I'm palpable Itza
and<00:00:27.450><c> this</c><00:00:28.200><c> talk</c><00:00:28.500><c> will</c><00:00:28.919><c> be</c><00:00:28.950><c> about</c><00:00:30.079><c> DM</c><00:00:31.079><c> and</c><00:00:31.410><c> DM</c><00:00:31.439><c> C</c>

00:00:32.420 --> 00:00:32.430 align:start position:0%
and this talk will be about DM and DM C
 

00:00:32.430 --> 00:00:37.700 align:start position:0%
and this talk will be about DM and DM C
which<00:00:33.329><c> is</c><00:00:33.860><c> portable</c><00:00:35.480><c> API</c><00:00:36.480><c> for</c><00:00:36.630><c> a</c><00:00:37.320><c> theory</c><00:00:37.620><c> on</c>

00:00:37.700 --> 00:00:37.710 align:start position:0%
which is portable API for a theory on
 

00:00:37.710 --> 00:00:43.340 align:start position:0%
which is portable API for a theory on
filter<00:00:38.220><c> machine</c><00:00:39.350><c> I'm</c><00:00:41.120><c> software</c><00:00:42.350><c> software</c>

00:00:43.340 --> 00:00:43.350 align:start position:0%
filter machine I'm software software
 

00:00:43.350 --> 00:00:47.079 align:start position:0%
filter machine I'm software software
developer<00:00:43.980><c> I</c><00:00:44.219><c> specialized</c><00:00:45.120><c> in</c><00:00:45.390><c> C++</c><00:00:46.170><c> and</c>

00:00:47.079 --> 00:00:47.089 align:start position:0%
developer I specialized in C++ and
 

00:00:47.089 --> 00:00:51.829 align:start position:0%
developer I specialized in C++ and
currently<00:00:48.089><c> I'm</c><00:00:48.269><c> working</c><00:00:49.850><c> mostly</c><00:00:50.850><c> in</c><00:00:50.969><c> the</c><00:00:51.179><c> CPP</c>

00:00:51.829 --> 00:00:51.839 align:start position:0%
currently I'm working mostly in the CPP
 

00:00:51.839 --> 00:00:57.139 align:start position:0%
currently I'm working mostly in the CPP
aetherium<00:00:52.320><c> project</c><00:00:52.800><c> and</c><00:00:53.280><c> I</c><00:00:54.440><c> also</c><00:00:55.519><c> I'm</c><00:00:56.519><c> out</c><00:00:56.910><c> the</c>

00:00:57.139 --> 00:00:57.149 align:start position:0%
aetherium project and I also I'm out the
 

00:00:57.149 --> 00:01:03.220 align:start position:0%
aetherium project and I also I'm out the
author<00:00:57.300><c> of</c><00:00:57.449><c> EVM</c><00:00:58.109><c> jet</c><00:00:58.379><c> which</c><00:00:58.800><c> is</c><00:01:02.030><c> alternative</c>

00:01:03.220 --> 00:01:03.230 align:start position:0%
author of EVM jet which is alternative
 

00:01:03.230 --> 00:01:07.720 align:start position:0%
author of EVM jet which is alternative
VM<00:01:04.230><c> implementation</c><00:01:05.100><c> that</c><00:01:05.659><c> translates</c>

00:01:07.720 --> 00:01:07.730 align:start position:0%
VM implementation that translates
 

00:01:07.730 --> 00:01:12.620 align:start position:0%
VM implementation that translates
evm<00:01:08.730><c> bytecode</c><00:01:09.270><c> to</c><00:01:09.690><c> native</c><00:01:10.290><c> machine</c><00:01:11.630><c> language</c>

00:01:12.620 --> 00:01:12.630 align:start position:0%
evm bytecode to native machine language
 

00:01:12.630 --> 00:01:18.620 align:start position:0%
evm bytecode to native machine language
and<00:01:14.689><c> and</c><00:01:15.689><c> I</c><00:01:16.290><c> also</c><00:01:16.470><c> try</c><00:01:16.950><c> to</c><00:01:16.979><c> come</c><00:01:17.909><c> up</c><00:01:17.939><c> with</c><00:01:18.090><c> the</c>

00:01:18.620 --> 00:01:18.630 align:start position:0%
and and I also try to come up with the
 

00:01:18.630 --> 00:01:25.510 align:start position:0%
and and I also try to come up with the
API<00:01:19.850><c> for</c><00:01:20.850><c> for</c><00:01:21.390><c> EVM</c><00:01:21.810><c> and</c><00:01:22.170><c> that</c><00:01:22.710><c> is</c><00:01:22.860><c> called</c><00:01:23.159><c> TV</c><00:01:23.340><c> MC</c>

00:01:25.510 --> 00:01:25.520 align:start position:0%
API for for EVM and that is called TV MC
 

00:01:25.520 --> 00:01:30.350 align:start position:0%
API for for EVM and that is called TV MC
so<00:01:26.520><c> this</c><00:01:27.420><c> talk</c><00:01:27.719><c> will</c><00:01:27.990><c> be</c><00:01:28.610><c> will</c><00:01:29.610><c> have</c><00:01:29.850><c> two</c><00:01:30.119><c> parts</c>

00:01:30.350 --> 00:01:30.360 align:start position:0%
so this talk will be will have two parts
 

00:01:30.360 --> 00:01:34.700 align:start position:0%
so this talk will be will have two parts
first<00:01:31.170><c> one</c><00:01:31.409><c> I</c><00:01:31.590><c> would</c><00:01:31.710><c> like</c><00:01:31.979><c> to</c><00:01:32.869><c> explain</c><00:01:33.869><c> what</c>

00:01:34.700 --> 00:01:34.710 align:start position:0%
first one I would like to explain what
 

00:01:34.710 --> 00:01:37.819 align:start position:0%
first one I would like to explain what
exactly<00:01:34.920><c> am</c><00:01:35.460><c> I</c><00:01:35.549><c> talking</c><00:01:35.969><c> about</c><00:01:36.240><c> and</c><00:01:36.680><c> what</c><00:01:37.680><c> I</c>

00:01:37.819 --> 00:01:37.829 align:start position:0%
exactly am I talking about and what I
 

00:01:37.829 --> 00:01:42.620 align:start position:0%
exactly am I talking about and what I
mean<00:01:38.100><c> by</c><00:01:38.340><c> by</c><00:01:38.880><c> a</c><00:01:39.299><c> VM</c><00:01:40.219><c> API</c><00:01:41.219><c> and</c><00:01:41.610><c> EVM</c><00:01:42.090><c> interface</c>

00:01:42.620 --> 00:01:42.630 align:start position:0%
mean by by a VM API and EVM interface
 

00:01:42.630 --> 00:01:47.050 align:start position:0%
mean by by a VM API and EVM interface
and<00:01:43.250><c> in</c><00:01:44.250><c> the</c><00:01:44.430><c> second</c><00:01:44.789><c> part</c><00:01:45.030><c> I</c><00:01:45.329><c> would</c><00:01:45.420><c> like</c><00:01:45.479><c> to</c>

00:01:47.050 --> 00:01:47.060 align:start position:0%
and in the second part I would like to
 

00:01:47.060 --> 00:01:50.120 align:start position:0%
and in the second part I would like to
show<00:01:48.060><c> what</c><00:01:48.689><c> would</c><00:01:49.200><c> have</c><00:01:49.469><c> been</c><00:01:49.680><c> done</c><00:01:49.860><c> so</c><00:01:49.890><c> far</c>

00:01:50.120 --> 00:01:50.130 align:start position:0%
show what would have been done so far
 

00:01:50.130 --> 00:01:52.580 align:start position:0%
show what would have been done so far
what<00:01:51.090><c> we</c><00:01:51.270><c> wanted</c><00:01:51.539><c> to</c><00:01:51.659><c> do</c><00:01:51.810><c> in</c><00:01:52.049><c> the</c><00:01:52.200><c> near</c><00:01:52.350><c> future</c>

00:01:52.580 --> 00:01:52.590 align:start position:0%
what we wanted to do in the near future
 

00:01:52.590 --> 00:01:56.719 align:start position:0%
what we wanted to do in the near future
and<00:01:53.479><c> explain</c><00:01:54.479><c> some</c><00:01:55.439><c> design</c><00:01:55.920><c> decisions</c><00:01:56.490><c> we</c>

00:01:56.719 --> 00:01:56.729 align:start position:0%
and explain some design decisions we
 

00:01:56.729 --> 00:02:01.940 align:start position:0%
and explain some design decisions we
made<00:01:56.909><c> so</c><00:01:57.600><c> far</c><00:01:58.039><c> to</c><00:01:59.039><c> be</c><00:01:59.520><c> able</c><00:01:59.689><c> for</c><00:02:00.689><c> you</c><00:02:00.810><c> to</c><00:02:01.020><c> better</c>

00:02:01.940 --> 00:02:01.950 align:start position:0%
made so far to be able for you to better
 

00:02:01.950 --> 00:02:05.690 align:start position:0%
made so far to be able for you to better
understand<00:02:02.700><c> why</c><00:02:03.509><c> things</c><00:02:03.899><c> look</c><00:02:04.439><c> as</c><00:02:04.799><c> they</c><00:02:05.520><c> look</c>

00:02:05.690 --> 00:02:05.700 align:start position:0%
understand why things look as they look
 

00:02:05.700 --> 00:02:10.389 align:start position:0%
understand why things look as they look
at<00:02:06.030><c> the</c><00:02:06.479><c> moment</c>

00:02:10.389 --> 00:02:10.399 align:start position:0%
 
 

00:02:10.399 --> 00:02:16.119 align:start position:0%
 
so<00:02:11.060><c> evm</c><00:02:11.629><c> the</c><00:02:12.620><c> etherium</c><00:02:13.220><c> filter</c><00:02:13.879><c> machine</c><00:02:15.129><c> one</c>

00:02:16.119 --> 00:02:16.129 align:start position:0%
so evm the etherium filter machine one
 

00:02:16.129 --> 00:02:20.080 align:start position:0%
so evm the etherium filter machine one
of<00:02:16.280><c> the</c><00:02:16.459><c> most</c><00:02:16.790><c> important</c><00:02:17.420><c> components</c><00:02:18.290><c> of</c><00:02:19.090><c> ATM</c>

00:02:20.080 --> 00:02:20.090 align:start position:0%
of the most important components of ATM
 

00:02:20.090 --> 00:02:26.830 align:start position:0%
of the most important components of ATM
software<00:02:20.629><c> and</c><00:02:20.870><c> the</c><00:02:21.970><c> ecosystem</c><00:02:23.409><c> so</c><00:02:24.409><c> it's</c><00:02:25.840><c> in</c>

00:02:26.830 --> 00:02:26.840 align:start position:0%
software and the ecosystem so it's in
 

00:02:26.840 --> 00:02:30.550 align:start position:0%
software and the ecosystem so it's in
short<00:02:27.200><c> words</c><00:02:29.110><c> virtual</c><00:02:30.110><c> machine</c><00:02:30.530><c> that</c>

00:02:30.550 --> 00:02:30.560 align:start position:0%
short words virtual machine that
 

00:02:30.560 --> 00:02:35.440 align:start position:0%
short words virtual machine that
actually<00:02:31.069><c> can</c><00:02:32.030><c> execute</c><00:02:32.799><c> small</c><00:02:34.150><c> programs</c><00:02:35.150><c> or</c>

00:02:35.440 --> 00:02:35.450 align:start position:0%
actually can execute small programs or
 

00:02:35.450 --> 00:02:41.280 align:start position:0%
actually can execute small programs or
small<00:02:35.900><c> scripts</c><00:02:36.260><c> called</c><00:02:36.709><c> smart</c><00:02:37.640><c> contracts</c><00:02:39.370><c> and</c>

00:02:41.280 --> 00:02:41.290 align:start position:0%
small scripts called smart contracts and
 

00:02:41.290 --> 00:02:45.940 align:start position:0%
small scripts called smart contracts and
yeah<00:02:42.290><c> where</c><00:02:42.470><c> it</c><00:02:42.590><c> is</c><00:02:43.299><c> every</c><00:02:44.299><c> every</c><00:02:45.230><c> atrium</c>

00:02:45.940 --> 00:02:45.950 align:start position:0%
yeah where it is every every atrium
 

00:02:45.950 --> 00:02:49.270 align:start position:0%
yeah where it is every every atrium
client<00:02:46.400><c> at</c><00:02:46.700><c> least</c><00:02:47.030><c> four</c><00:02:47.359><c> full</c><00:02:47.959><c> notes</c><00:02:48.200><c> have</c><00:02:48.890><c> a</c>

00:02:49.270 --> 00:02:49.280 align:start position:0%
client at least four full notes have a
 

00:02:49.280 --> 00:02:53.800 align:start position:0%
client at least four full notes have a
VM<00:02:49.700><c> somewhere</c><00:02:50.150><c> inside</c><00:02:52.090><c> usually</c><00:02:53.090><c> there</c><00:02:53.420><c> is</c><00:02:53.450><c> one</c>

00:02:53.800 --> 00:02:53.810 align:start position:0%
VM somewhere inside usually there is one
 

00:02:53.810 --> 00:02:57.039 align:start position:0%
VM somewhere inside usually there is one
implementation<00:02:54.650><c> of</c><00:02:54.799><c> that</c><00:02:55.180><c> but</c><00:02:56.180><c> we</c><00:02:56.629><c> have</c><00:02:56.840><c> some</c>

00:02:57.039 --> 00:02:57.049 align:start position:0%
implementation of that but we have some
 

00:02:57.049 --> 00:03:01.330 align:start position:0%
implementation of that but we have some
examples<00:02:57.200><c> where</c><00:02:59.440><c> EVM</c><00:03:00.440><c> clients</c><00:03:00.980><c> can</c><00:03:01.159><c> actually</c>

00:03:01.330 --> 00:03:01.340 align:start position:0%
examples where EVM clients can actually
 

00:03:01.340 --> 00:03:07.599 align:start position:0%
examples where EVM clients can actually
have<00:03:01.760><c> more</c><00:03:02.450><c> of</c><00:03:02.510><c> them</c><00:03:02.780><c> and</c><00:03:03.879><c> and</c><00:03:06.069><c> cpp</c><00:03:07.069><c> atrium</c><00:03:07.459><c> is</c>

00:03:07.599 --> 00:03:07.609 align:start position:0%
have more of them and and cpp atrium is
 

00:03:07.609 --> 00:03:12.520 align:start position:0%
have more of them and and cpp atrium is
one<00:03:07.940><c> of</c><00:03:08.060><c> the</c><00:03:08.209><c> examples</c><00:03:08.780><c> here</c><00:03:09.019><c> but</c><00:03:11.079><c> the</c><00:03:12.079><c> problem</c>

00:03:12.520 --> 00:03:12.530 align:start position:0%
one of the examples here but the problem
 

00:03:12.530 --> 00:03:15.120 align:start position:0%
one of the examples here but the problem
I<00:03:12.650><c> would</c><00:03:12.709><c> like</c><00:03:12.980><c> to</c><00:03:13.159><c> address</c><00:03:13.370><c> is</c><00:03:13.790><c> the</c><00:03:14.150><c> fact</c><00:03:14.180><c> that</c>

00:03:15.120 --> 00:03:15.130 align:start position:0%
I would like to address is the fact that
 

00:03:15.130 --> 00:03:18.159 align:start position:0%
I would like to address is the fact that
EVMS<00:03:16.130><c> are</c><00:03:16.400><c> somehow</c><00:03:16.819><c> embedded</c><00:03:17.720><c> inside</c><00:03:17.930><c> the</c>

00:03:18.159 --> 00:03:18.169 align:start position:0%
EVMS are somehow embedded inside the
 

00:03:18.169 --> 00:03:20.620 align:start position:0%
EVMS are somehow embedded inside the
client<00:03:18.579><c> you</c><00:03:19.579><c> can</c><00:03:19.609><c> have</c><00:03:20.060><c> more</c><00:03:20.480><c> or</c><00:03:20.540><c> less</c>

00:03:20.620 --> 00:03:20.630 align:start position:0%
client you can have more or less
 

00:03:20.630 --> 00:03:24.990 align:start position:0%
client you can have more or less
indirect<00:03:21.530><c> access</c><00:03:21.799><c> to</c><00:03:22.220><c> it</c><00:03:22.340><c> to</c><00:03:23.120><c> easy</c><00:03:23.419><c> em</c><00:03:23.889><c> through</c>

00:03:24.990 --> 00:03:25.000 align:start position:0%
indirect access to it to easy em through
 

00:03:25.000 --> 00:03:32.080 align:start position:0%
indirect access to it to easy em through
JSON<00:03:26.000><c> RPC</c><00:03:26.500><c> some</c><00:03:27.500><c> test</c><00:03:27.889><c> RPC</c><00:03:28.519><c> systems</c><00:03:31.090><c> VM</c>

00:03:32.080 --> 00:03:32.090 align:start position:0%
JSON RPC some test RPC systems VM
 

00:03:32.090 --> 00:03:38.400 align:start position:0%
JSON RPC some test RPC systems VM
tracing<00:03:34.599><c> storage</c><00:03:35.599><c> backlog</c><00:03:36.530><c> and</c><00:03:36.829><c> and</c><00:03:37.040><c> so</c><00:03:37.400><c> on</c>

00:03:38.400 --> 00:03:38.410 align:start position:0%
tracing storage backlog and and so on
 

00:03:38.410 --> 00:03:42.970 align:start position:0%
tracing storage backlog and and so on
but<00:03:39.410><c> what</c><00:03:40.400><c> what</c><00:03:40.940><c> I</c><00:03:40.970><c> try</c><00:03:41.359><c> to</c><00:03:41.389><c> address</c><00:03:41.810><c> is</c><00:03:42.500><c> I</c>

00:03:42.970 --> 00:03:42.980 align:start position:0%
but what what I try to address is I
 

00:03:42.980 --> 00:03:46.240 align:start position:0%
but what what I try to address is I
would<00:03:43.099><c> like</c><00:03:43.280><c> this</c><00:03:44.019><c> this</c><00:03:45.019><c> composition</c><00:03:45.500><c> to</c><00:03:46.099><c> be</c>

00:03:46.240 --> 00:03:46.250 align:start position:0%
would like this this composition to be
 

00:03:46.250 --> 00:03:48.069 align:start position:0%
would like this this composition to be
look<00:03:46.519><c> more</c><00:03:46.790><c> or</c><00:03:46.849><c> less</c><00:03:46.879><c> like</c><00:03:47.269><c> this</c><00:03:47.629><c> one</c>

00:03:48.069 --> 00:03:48.079 align:start position:0%
look more or less like this one
 

00:03:48.079 --> 00:03:52.629 align:start position:0%
look more or less like this one
so<00:03:49.629><c> this</c><00:03:50.629><c> thin</c><00:03:50.989><c> layer</c><00:03:51.230><c> that</c><00:03:51.639><c> actually</c>

00:03:52.629 --> 00:03:52.639 align:start position:0%
so this thin layer that actually
 

00:03:52.639 --> 00:03:56.530 align:start position:0%
so this thin layer that actually
connects<00:03:53.180><c> EVMs</c><00:03:53.989><c> to</c><00:03:54.199><c> theorem</c><00:03:54.829><c> clients</c><00:03:55.400><c> to</c><00:03:56.359><c> be</c>

00:03:56.530 --> 00:03:56.540 align:start position:0%
connects EVMs to theorem clients to be
 

00:03:56.540 --> 00:04:00.189 align:start position:0%
connects EVMs to theorem clients to be
to<00:03:57.410><c> be</c><00:03:57.560><c> very</c><00:03:58.220><c> well</c><00:03:58.400><c> specified</c><00:03:59.090><c> very</c><00:04:00.019><c> well</c>

00:04:00.189 --> 00:04:00.199 align:start position:0%
to be very well specified very well
 

00:04:00.199 --> 00:04:07.000 align:start position:0%
to be very well specified very well
documented<00:04:00.590><c> and</c><00:04:03.099><c> to</c><00:04:04.099><c> be</c><00:04:04.250><c> also</c><00:04:04.430><c> usable</c><00:04:05.389><c> in</c><00:04:06.010><c> from</c>

00:04:07.000 --> 00:04:07.010 align:start position:0%
documented and to be also usable in from
 

00:04:07.010 --> 00:04:13.599 align:start position:0%
documented and to be also usable in from
different<00:04:07.250><c> programming</c><00:04:07.970><c> languages</c><00:04:10.810><c> and</c><00:04:12.609><c> also</c>

00:04:13.599 --> 00:04:13.609 align:start position:0%
different programming languages and also
 

00:04:13.609 --> 00:04:18.640 align:start position:0%
different programming languages and also
what<00:04:14.569><c> can</c><00:04:14.870><c> can</c><00:04:15.139><c> add</c><00:04:15.349><c> to</c><00:04:15.620><c> this</c><00:04:16.419><c> this</c><00:04:17.419><c> scheme</c><00:04:18.380><c> is</c>

00:04:18.640 --> 00:04:18.650 align:start position:0%
what can can add to this this scheme is
 

00:04:18.650 --> 00:04:23.410 align:start position:0%
what can can add to this this scheme is
to<00:04:19.039><c> be</c><00:04:19.340><c> able</c><00:04:19.519><c> to</c><00:04:20.289><c> actually</c><00:04:21.289><c> plug</c><00:04:22.070><c> in</c><00:04:22.270><c> this</c>

00:04:23.410 --> 00:04:23.420 align:start position:0%
to be able to actually plug in this
 

00:04:23.420 --> 00:04:26.200 align:start position:0%
to be able to actually plug in this
named<00:04:23.570><c> EVM</c><00:04:24.470><c> implementation</c><00:04:25.370><c> two</c><00:04:25.640><c> different</c>

00:04:26.200 --> 00:04:26.210 align:start position:0%
named EVM implementation two different
 

00:04:26.210 --> 00:04:37.300 align:start position:0%
named EVM implementation two different
clients<00:04:31.960><c> okay</c><00:04:32.960><c> so</c><00:04:33.370><c> if</c><00:04:34.370><c> EMC</c><00:04:34.880><c> is</c><00:04:36.010><c> one</c><00:04:37.010><c> of</c><00:04:37.160><c> the</c>

00:04:37.300 --> 00:04:37.310 align:start position:0%
clients okay so if EMC is one of the
 

00:04:37.310 --> 00:04:40.590 align:start position:0%
clients okay so if EMC is one of the
possible<00:04:37.970><c> solutions</c><00:04:38.150><c> to</c><00:04:38.570><c> this</c><00:04:38.780><c> problem</c><00:04:39.290><c> and</c>

00:04:40.590 --> 00:04:40.600 align:start position:0%
possible solutions to this problem and
 

00:04:40.600 --> 00:04:44.260 align:start position:0%
possible solutions to this problem and
it's<00:04:41.600><c> it's</c><00:04:42.140><c> exactly</c><00:04:42.680><c> what</c><00:04:42.920><c> I</c><00:04:42.950><c> what</c><00:04:43.490><c> I</c><00:04:43.520><c> what</c><00:04:44.210><c> I</c>

00:04:44.260 --> 00:04:44.270 align:start position:0%
it's it's exactly what I what I what I
 

00:04:44.270 --> 00:04:49.270 align:start position:0%
it's it's exactly what I what I what I
meant<00:04:44.660><c> before</c><00:04:45.560><c> it's</c><00:04:46.010><c> EVM</c><00:04:46.700><c> API</c><00:04:47.470><c> that</c><00:04:48.470><c> uses</c><00:04:49.010><c> C</c>

00:04:49.270 --> 00:04:49.280 align:start position:0%
meant before it's EVM API that uses C
 

00:04:49.280 --> 00:04:54.490 align:start position:0%
meant before it's EVM API that uses C
language<00:04:50.470><c> to</c><00:04:51.470><c> kinetic</c><00:04:51.980><c> the</c><00:04:52.160><c> these</c><00:04:52.760><c> two</c><00:04:53.500><c> now</c>

00:04:54.490 --> 00:04:54.500 align:start position:0%
language to kinetic the these two now
 

00:04:54.500 --> 00:04:57.130 align:start position:0%
language to kinetic the these two now
separated<00:04:55.220><c> components</c><00:04:55.610><c> the</c><00:04:56.030><c> the</c><00:04:56.360><c> EVM</c><00:04:56.840><c> in</c>

00:04:57.130 --> 00:04:57.140 align:start position:0%
separated components the the EVM in
 

00:04:57.140 --> 00:05:01.150 align:start position:0%
separated components the the EVM in
virtual<00:04:57.890><c> machine</c><00:04:58.540><c> to</c><00:04:59.540><c> be</c><00:04:59.660><c> connected</c><00:05:00.200><c> with</c><00:05:00.230><c> a</c>

00:05:01.150 --> 00:05:01.160 align:start position:0%
virtual machine to be connected with a
 

00:05:01.160 --> 00:05:08.830 align:start position:0%
virtual machine to be connected with a
Syrian<00:05:01.820><c> client</c><00:05:04.390><c> and</c><00:05:06.640><c> why</c><00:05:07.640><c> why</c><00:05:07.940><c> C</c><00:05:08.240><c> language</c><00:05:08.420><c> was</c>

00:05:08.830 --> 00:05:08.840 align:start position:0%
Syrian client and why why C language was
 

00:05:08.840 --> 00:05:11.560 align:start position:0%
Syrian client and why why C language was
chosen<00:05:09.640><c> not</c><00:05:10.640><c> because</c><00:05:10.670><c> it's</c><00:05:11.270><c> the</c><00:05:11.420><c> most</c>

00:05:11.560 --> 00:05:11.570 align:start position:0%
chosen not because it's the most
 

00:05:11.570 --> 00:05:16.840 align:start position:0%
chosen not because it's the most
beautiful<00:05:11.870><c> one</c><00:05:12.410><c> but</c><00:05:12.980><c> it</c><00:05:13.820><c> happens</c><00:05:14.300><c> that</c><00:05:15.550><c> C</c><00:05:16.550><c> is</c>

00:05:16.840 --> 00:05:16.850 align:start position:0%
beautiful one but it happens that C is
 

00:05:16.850 --> 00:05:20.020 align:start position:0%
beautiful one but it happens that C is
actually<00:05:17.270><c> accessible</c><00:05:18.020><c> for</c><00:05:18.620><c> many</c><00:05:19.250><c> many</c>

00:05:20.020 --> 00:05:20.030 align:start position:0%
actually accessible for many many
 

00:05:20.030 --> 00:05:23.410 align:start position:0%
actually accessible for many many
programming<00:05:20.480><c> languages</c><00:05:22.030><c> the</c><00:05:23.030><c> obvious</c>

00:05:23.410 --> 00:05:23.420 align:start position:0%
programming languages the obvious
 

00:05:23.420 --> 00:05:27.310 align:start position:0%
programming languages the obvious
examples<00:05:23.930><c> are</c><00:05:24.080><c> C</c><00:05:24.350><c> and</c><00:05:24.560><c> C++</c><00:05:24.770><c> but</c><00:05:26.080><c> for</c><00:05:27.080><c> many</c>

00:05:27.310 --> 00:05:27.320 align:start position:0%
examples are C and C++ but for many
 

00:05:27.320 --> 00:05:31.690 align:start position:0%
examples are C and C++ but for many
popular<00:05:27.710><c> languages</c><00:05:28.430><c> that</c><00:05:28.880><c> are</c><00:05:29.240><c> around</c><00:05:30.700><c> you</c>

00:05:31.690 --> 00:05:31.700 align:start position:0%
popular languages that are around you
 

00:05:31.700 --> 00:05:34.750 align:start position:0%
popular languages that are around you
can<00:05:31.880><c> actually</c><00:05:32.390><c> at</c><00:05:32.870><c> least</c><00:05:33.110><c> use</c><00:05:33.710><c> some</c><00:05:34.340><c> C</c>

00:05:34.750 --> 00:05:34.760 align:start position:0%
can actually at least use some C
 

00:05:34.760 --> 00:05:38.470 align:start position:0%
can actually at least use some C
libraries<00:05:35.300><c> and</c><00:05:35.680><c> use</c><00:05:36.760><c> execute</c><00:05:37.760><c> functions</c><00:05:38.270><c> from</c>

00:05:38.470 --> 00:05:38.480 align:start position:0%
libraries and use execute functions from
 

00:05:38.480 --> 00:05:43.390 align:start position:0%
libraries and use execute functions from
C<00:05:38.690><c> libraries</c><00:05:39.140><c> from</c><00:05:39.770><c> that</c><00:05:39.980><c> languages</c><00:05:40.520><c> I</c><00:05:42.400><c> tried</c>

00:05:43.390 --> 00:05:43.400 align:start position:0%
C libraries from that languages I tried
 

00:05:43.400 --> 00:05:47.020 align:start position:0%
C libraries from that languages I tried
all<00:05:43.790><c> this</c><00:05:44.030><c> stuff</c><00:05:44.360><c> with</c><00:05:45.140><c> with</c><00:05:45.650><c> go</c><00:05:45.950><c> using</c><00:05:46.490><c> the</c><00:05:46.700><c> C</c>

00:05:47.020 --> 00:05:47.030 align:start position:0%
all this stuff with with go using the C
 

00:05:47.030 --> 00:05:54.090 align:start position:0%
all this stuff with with go using the C
go<00:05:47.210><c> tool</c><00:05:47.480><c> and</c><00:05:47.810><c> also</c><00:05:48.320><c> in</c><00:05:49.220><c> Python</c><00:05:49.790><c> using</c><00:05:51.160><c> C</c><00:05:52.160><c> FFI</c>

00:05:54.090 --> 00:05:54.100 align:start position:0%
go tool and also in Python using C FFI
 

00:05:54.100 --> 00:05:57.430 align:start position:0%
go tool and also in Python using C FFI
library<00:05:55.100><c> but</c><00:05:55.910><c> I'm</c><00:05:56.330><c> sure</c><00:05:56.660><c> there</c><00:05:57.290><c> are</c><00:05:57.350><c> other</c>

00:05:57.430 --> 00:05:57.440 align:start position:0%
library but I'm sure there are other
 

00:05:57.440 --> 00:06:01.230 align:start position:0%
library but I'm sure there are other
examples<00:05:57.620><c> when</c><00:05:58.340><c> you</c><00:05:58.640><c> can</c><00:05:58.850><c> at</c><00:05:59.750><c> least</c><00:05:59.890><c> use</c>

00:06:01.230 --> 00:06:01.240 align:start position:0%
examples when you can at least use
 

00:06:01.240 --> 00:06:06.660 align:start position:0%
examples when you can at least use
libraries<00:06:02.240><c> in</c><00:06:02.980><c> more</c><00:06:05.200><c> more</c><00:06:06.200><c> high-level</c>

00:06:06.660 --> 00:06:06.670 align:start position:0%
libraries in more more high-level
 

00:06:06.670 --> 00:06:14.080 align:start position:0%
libraries in more more high-level
abstract<00:06:07.670><c> languages</c><00:06:09.640><c> and</c><00:06:12.580><c> second</c><00:06:13.580><c> important</c>

00:06:14.080 --> 00:06:14.090 align:start position:0%
abstract languages and second important
 

00:06:14.090 --> 00:06:17.220 align:start position:0%
abstract languages and second important
part<00:06:14.300><c> of</c><00:06:14.480><c> that</c><00:06:14.540><c> is</c><00:06:15.050><c> we</c><00:06:15.800><c> want</c><00:06:16.040><c> to</c><00:06:16.250><c> have</c>

00:06:17.220 --> 00:06:17.230 align:start position:0%
part of that is we want to have
 

00:06:17.230 --> 00:06:21.430 align:start position:0%
part of that is we want to have
polymorphic<00:06:18.230><c> interfaces</c><00:06:19.070><c> there</c><00:06:19.280><c> so</c><00:06:20.320><c> we</c><00:06:21.320><c> would</c>

00:06:21.430 --> 00:06:21.440 align:start position:0%
polymorphic interfaces there so we would
 

00:06:21.440 --> 00:06:25.990 align:start position:0%
polymorphic interfaces there so we would
like<00:06:21.620><c> to</c><00:06:21.650><c> be</c><00:06:22.400><c> able</c><00:06:22.520><c> to</c><00:06:22.930><c> use</c><00:06:23.930><c> different</c><00:06:25.000><c> to</c>

00:06:25.990 --> 00:06:26.000 align:start position:0%
like to be able to use different to
 

00:06:26.000 --> 00:06:28.450 align:start position:0%
like to be able to use different to
switch<00:06:26.300><c> between</c><00:06:26.570><c> different</c><00:06:27.460><c> EVM</c>

00:06:28.450 --> 00:06:28.460 align:start position:0%
switch between different EVM
 

00:06:28.460 --> 00:06:31.300 align:start position:0%
switch between different EVM
implementations<00:06:29.360><c> and</c><00:06:29.570><c> runtime</c><00:06:30.050><c> not</c><00:06:30.860><c> that</c><00:06:31.130><c> we</c>

00:06:31.300 --> 00:06:31.310 align:start position:0%
implementations and runtime not that we
 

00:06:31.310 --> 00:06:34.420 align:start position:0%
implementations and runtime not that we
want<00:06:31.550><c> to</c><00:06:31.610><c> build</c><00:06:32.510><c> a</c><00:06:32.900><c> client</c><00:06:33.410><c> with</c><00:06:33.620><c> this</c><00:06:33.890><c> one</c><00:06:34.130><c> and</c>

00:06:34.420 --> 00:06:34.430 align:start position:0%
want to build a client with this one and
 

00:06:34.430 --> 00:06:37.150 align:start position:0%
want to build a client with this one and
decide<00:06:35.330><c> on</c><00:06:35.540><c> on</c><00:06:36.080><c> the</c><00:06:36.320><c> build</c><00:06:36.530><c> time</c>

00:06:37.150 --> 00:06:37.160 align:start position:0%
decide on on the build time
 

00:06:37.160 --> 00:06:39.010 align:start position:0%
decide on on the build time
what<00:06:37.310><c> what</c><00:06:37.700><c> actually</c><00:06:38.120><c> implementation</c><00:06:38.900><c> would</c>

00:06:39.010 --> 00:06:39.020 align:start position:0%
what what actually implementation would
 

00:06:39.020 --> 00:06:43.090 align:start position:0%
what what actually implementation would
like<00:06:39.230><c> to</c><00:06:39.440><c> use</c><00:06:40.750><c> yeah</c><00:06:41.750><c> we</c><00:06:42.080><c> wanted</c><00:06:42.380><c> to</c><00:06:42.500><c> have</c><00:06:43.070><c> a</c>

00:06:43.090 --> 00:06:43.100 align:start position:0%
like to use yeah we wanted to have a
 

00:06:43.100 --> 00:06:46.060 align:start position:0%
like to use yeah we wanted to have a
switch<00:06:43.580><c> that</c><00:06:44.090><c> user</c><00:06:44.480><c> can</c><00:06:44.810><c> actually</c><00:06:45.020><c> use</c><00:06:45.680><c> to</c>

00:06:46.060 --> 00:06:46.070 align:start position:0%
switch that user can actually use to
 

00:06:46.070 --> 00:06:49.470 align:start position:0%
switch that user can actually use to
decide<00:06:46.670><c> what</c><00:06:47.600><c> kind</c><00:06:48.050><c> of</c><00:06:48.230><c> back-end</c><00:06:48.740><c> they</c><00:06:49.100><c> want</c>

00:06:49.470 --> 00:06:49.480 align:start position:0%
decide what kind of back-end they want
 

00:06:49.480 --> 00:06:55.380 align:start position:0%
decide what kind of back-end they want
for<00:06:50.480><c> its</c><00:06:50.630><c> task</c><00:06:50.930><c> and</c><00:06:52.510><c> and</c><00:06:53.510><c> third</c><00:06:54.370><c> third</c>

00:06:55.380 --> 00:06:55.390 align:start position:0%
for its task and and third third
 

00:06:55.390 --> 00:06:59.730 align:start position:0%
for its task and and third third
important<00:06:56.390><c> part</c><00:06:56.630><c> we</c><00:06:56.930><c> we</c><00:06:57.200><c> took</c><00:06:57.380><c> account</c><00:06:57.800><c> of</c><00:06:58.660><c> to</c>

00:06:59.730 --> 00:06:59.740 align:start position:0%
important part we we took account of to
 

00:06:59.740 --> 00:07:03.120 align:start position:0%
important part we we took account of to
make<00:07:00.740><c> some</c><00:07:00.980><c> design</c><00:07:01.460><c> decisions</c><00:07:01.490><c> is</c>

00:07:03.120 --> 00:07:03.130 align:start position:0%
make some design decisions is
 

00:07:03.130 --> 00:07:08.080 align:start position:0%
make some design decisions is
composability<00:07:04.900><c> so</c><00:07:05.920><c> the</c><00:07:06.920><c> composability</c><00:07:07.610><c> means</c>

00:07:08.080 --> 00:07:08.090 align:start position:0%
composability so the composability means
 

00:07:08.090 --> 00:07:11.320 align:start position:0%
composability so the composability means
actually<00:07:09.400><c> we</c><00:07:10.400><c> could</c><00:07:10.610><c> do</c><00:07:10.760><c> something</c><00:07:11.120><c> like</c><00:07:11.150><c> that</c>

00:07:11.320 --> 00:07:11.330 align:start position:0%
actually we could do something like that
 

00:07:11.330 --> 00:07:15.700 align:start position:0%
actually we could do something like that
when<00:07:13.900><c> having</c><00:07:14.900><c> some</c><00:07:15.170><c> concrete</c>

00:07:15.700 --> 00:07:15.710 align:start position:0%
when having some concrete
 

00:07:15.710 --> 00:07:19.480 align:start position:0%
when having some concrete
implementations<00:07:16.640><c> of</c><00:07:16.790><c> vm</c><00:07:17.240><c> we</c><00:07:17.480><c> can</c><00:07:17.890><c> add</c><00:07:18.890><c> more</c>

00:07:19.480 --> 00:07:19.490 align:start position:0%
implementations of vm we can add more
 

00:07:19.490 --> 00:07:22.420 align:start position:0%
implementations of vm we can add more
and<00:07:19.760><c> more</c><00:07:19.940><c> layers</c><00:07:20.120><c> on</c><00:07:20.750><c> top</c><00:07:20.870><c> of</c><00:07:21.170><c> that</c><00:07:21.430><c> that</c>

00:07:22.420 --> 00:07:22.430 align:start position:0%
and more layers on top of that that
 

00:07:22.430 --> 00:07:25.000 align:start position:0%
and more layers on top of that that
actually<00:07:22.870><c> delegate</c><00:07:23.870><c> the</c><00:07:24.170><c> execution</c><00:07:24.800><c> to</c><00:07:24.980><c> the</c>

00:07:25.000 --> 00:07:25.010 align:start position:0%
actually delegate the execution to the
 

00:07:25.010 --> 00:07:29.200 align:start position:0%
actually delegate the execution to the
lower<00:07:25.460><c> layers</c><00:07:25.820><c> but</c><00:07:26.780><c> on</c><00:07:27.470><c> the</c><00:07:27.800><c> upper</c><00:07:28.760><c> layer</c><00:07:28.940><c> you</c>

00:07:29.200 --> 00:07:29.210 align:start position:0%
lower layers but on the upper layer you
 

00:07:29.210 --> 00:07:32.830 align:start position:0%
lower layers but on the upper layer you
can<00:07:29.450><c> make</c><00:07:30.080><c> some</c><00:07:30.790><c> additional</c><00:07:31.790><c> decisions</c><00:07:32.390><c> where</c>

00:07:32.830 --> 00:07:32.840 align:start position:0%
can make some additional decisions where
 

00:07:32.840 --> 00:07:35.610 align:start position:0%
can make some additional decisions where
actually<00:07:33.260><c> you</c><00:07:33.320><c> want</c><00:07:33.440><c> to</c><00:07:33.740><c> send</c><00:07:34.130><c> your</c><00:07:34.280><c> code</c><00:07:34.580><c> to</c>

00:07:35.610 --> 00:07:35.620 align:start position:0%
actually you want to send your code to
 

00:07:35.620 --> 00:07:42.480 align:start position:0%
actually you want to send your code to
so<00:07:36.620><c> for</c><00:07:37.130><c> example</c><00:07:38.200><c> if</c><00:07:39.200><c> we</c><00:07:39.440><c> can</c><00:07:39.700><c> consider</c>

00:07:42.480 --> 00:07:42.490 align:start position:0%
so for example if we can consider
 

00:07:42.490 --> 00:07:48.220 align:start position:0%
so for example if we can consider
interpreter<00:07:43.490><c> and</c><00:07:43.760><c> get</c><00:07:44.750><c> like</c><00:07:45.020><c> a</c><00:07:45.470><c> VM</c><00:07:46.330><c> you</c><00:07:47.330><c> might</c>

00:07:48.220 --> 00:07:48.230 align:start position:0%
interpreter and get like a VM you might
 

00:07:48.230 --> 00:07:53.820 align:start position:0%
interpreter and get like a VM you might
want<00:07:48.470><c> to</c><00:07:48.590><c> actually</c><00:07:49.040><c> have</c><00:07:49.720><c> and</c><00:07:52.450><c> top</c><00:07:53.450><c> layer</c><00:07:53.750><c> that</c>

00:07:53.820 --> 00:07:53.830 align:start position:0%
want to actually have and top layer that
 

00:07:53.830 --> 00:07:56.980 align:start position:0%
want to actually have and top layer that
actually<00:07:54.830><c> decides</c><00:07:55.250><c> if</c><00:07:55.700><c> the</c><00:07:55.940><c> code</c><00:07:56.419><c> should</c><00:07:56.720><c> go</c>

00:07:56.980 --> 00:07:56.990 align:start position:0%
actually decides if the code should go
 

00:07:56.990 --> 00:07:59.440 align:start position:0%
actually decides if the code should go
to<00:07:57.200><c> that</c><00:07:57.590><c> the</c><00:07:57.950><c> treat</c><00:07:58.190><c> one</c><00:07:58.400><c> or</c><00:07:58.700><c> to</c><00:07:59.300><c> the</c>

00:07:59.440 --> 00:07:59.450 align:start position:0%
to that the treat one or to the
 

00:07:59.450 --> 00:08:02.980 align:start position:0%
to that the treat one or to the
interpreter<00:07:59.960><c> one</c><00:08:00.290><c> and</c><00:08:01.210><c> the</c><00:08:02.210><c> top</c><00:08:02.419><c> layer</c><00:08:02.630><c> can</c>

00:08:02.980 --> 00:08:02.990 align:start position:0%
interpreter one and the top layer can
 

00:08:02.990 --> 00:08:06.460 align:start position:0%
interpreter one and the top layer can
actually<00:08:03.410><c> for</c><00:08:04.220><c> example</c><00:08:04.850><c> count</c><00:08:05.690><c> the</c><00:08:06.020><c> number</c><00:08:06.320><c> of</c>

00:08:06.460 --> 00:08:06.470 align:start position:0%
actually for example count the number of
 

00:08:06.470 --> 00:08:10.270 align:start position:0%
actually for example count the number of
executions<00:08:06.800><c> of</c><00:08:07.430><c> particular</c><00:08:08.120><c> code</c><00:08:08.470><c> if</c><00:08:09.470><c> if</c><00:08:10.070><c> we</c>

00:08:10.270 --> 00:08:10.280 align:start position:0%
executions of particular code if if we
 

00:08:10.280 --> 00:08:12.640 align:start position:0%
executions of particular code if if we
have<00:08:10.460><c> some</c><00:08:10.700><c> hot</c><00:08:11.060><c> code</c><00:08:11.360><c> that</c><00:08:11.630><c> is</c><00:08:11.750><c> executed</c><00:08:11.780><c> in</c>

00:08:12.640 --> 00:08:12.650 align:start position:0%
have some hot code that is executed in
 

00:08:12.650 --> 00:08:15.040 align:start position:0%
have some hot code that is executed in
many<00:08:12.919><c> transactions</c><00:08:13.669><c> you</c><00:08:14.419><c> might</c><00:08:14.720><c> want</c><00:08:14.960><c> to</c>

00:08:15.040 --> 00:08:15.050 align:start position:0%
many transactions you might want to
 

00:08:15.050 --> 00:08:18.760 align:start position:0%
many transactions you might want to
actually<00:08:16.000><c> translate</c><00:08:17.000><c> that</c><00:08:17.300><c> using</c><00:08:17.870><c> the</c><00:08:18.050><c> DD</c><00:08:18.290><c> VM</c>

00:08:18.760 --> 00:08:18.770 align:start position:0%
actually translate that using the DD VM
 

00:08:18.770 --> 00:08:23.470 align:start position:0%
actually translate that using the DD VM
to<00:08:19.750><c> some</c><00:08:20.750><c> native</c><00:08:21.320><c> machine</c><00:08:21.680><c> code</c><00:08:21.919><c> and</c><00:08:22.490><c> speed</c><00:08:23.300><c> up</c>

00:08:23.470 --> 00:08:23.480 align:start position:0%
to some native machine code and speed up
 

00:08:23.480 --> 00:08:26.260 align:start position:0%
to some native machine code and speed up
the<00:08:23.630><c> execution</c><00:08:24.160><c> but</c><00:08:25.160><c> that</c><00:08:25.490><c> might</c><00:08:25.790><c> not</c><00:08:25.820><c> may</c><00:08:26.240><c> not</c>

00:08:26.260 --> 00:08:26.270 align:start position:0%
the execution but that might not may not
 

00:08:26.270 --> 00:08:31.090 align:start position:0%
the execution but that might not may not
have<00:08:27.080><c> sense</c><00:08:27.410><c> if</c><00:08:28.090><c> if</c><00:08:29.090><c> you</c><00:08:29.660><c> want</c><00:08:29.900><c> if</c><00:08:30.200><c> if</c><00:08:30.650><c> the</c><00:08:30.860><c> code</c>

00:08:31.090 --> 00:08:31.100 align:start position:0%
have sense if if you want if if the code
 

00:08:31.100 --> 00:08:34.540 align:start position:0%
have sense if if you want if if the code
is<00:08:31.130><c> not</c><00:08:31.490><c> frequent</c><00:08:32.000><c> enough</c><00:08:32.270><c> to</c><00:08:32.930><c> actually</c><00:08:33.550><c> pay</c>

00:08:34.540 --> 00:08:34.550 align:start position:0%
is not frequent enough to actually pay
 

00:08:34.550 --> 00:08:37.540 align:start position:0%
is not frequent enough to actually pay
the<00:08:34.729><c> cost</c><00:08:34.969><c> of</c><00:08:35.240><c> overhead</c><00:08:35.930><c> of</c><00:08:36.200><c> doing</c><00:08:36.680><c> the</c>

00:08:37.540 --> 00:08:37.550 align:start position:0%
the cost of overhead of doing the
 

00:08:37.550 --> 00:08:42.219 align:start position:0%
the cost of overhead of doing the
translation<00:08:37.880><c> upfront</c><00:08:38.630><c> and</c><00:08:39.219><c> not</c><00:08:40.219><c> having</c><00:08:41.229><c> my</c>

00:08:42.219 --> 00:08:42.229 align:start position:0%
translation upfront and not having my
 

00:08:42.229 --> 00:08:46.180 align:start position:0%
translation upfront and not having my
may<00:08:42.830><c> not</c><00:08:42.979><c> make</c><00:08:43.250><c> a</c><00:08:43.580><c> lot</c><00:08:43.669><c> of</c><00:08:43.820><c> sense</c><00:08:44.210><c> the</c><00:08:45.190><c> second</c>

00:08:46.180 --> 00:08:46.190 align:start position:0%
may not make a lot of sense the second
 

00:08:46.190 --> 00:08:49.120 align:start position:0%
may not make a lot of sense the second
example<00:08:46.550><c> of</c><00:08:46.790><c> such</c><00:08:47.420><c> some</c><00:08:48.020><c> such</c><00:08:48.440><c> a</c><00:08:48.470><c> composition</c>

00:08:49.120 --> 00:08:49.130 align:start position:0%
example of such some such a composition
 

00:08:49.130 --> 00:08:50.400 align:start position:0%
example of such some such a composition
can<00:08:49.370><c> be</c>

00:08:50.400 --> 00:08:50.410 align:start position:0%
can be
 

00:08:50.410 --> 00:08:52.400 align:start position:0%
can be
[Music]

00:08:52.400 --> 00:08:52.410 align:start position:0%
[Music]
 

00:08:52.410 --> 00:08:56.120 align:start position:0%
[Music]
having<00:08:53.220><c> actually</c><00:08:53.970><c> different</c><00:08:54.710><c> languages</c><00:08:55.710><c> in</c>

00:08:56.120 --> 00:08:56.130 align:start position:0%
having actually different languages in
 

00:08:56.130 --> 00:09:00.260 align:start position:0%
having actually different languages in
smart<00:08:56.580><c> contract</c><00:08:57.170><c> if</c><00:08:58.170><c> we</c><00:08:58.380><c> consider</c><00:08:59.270><c> the</c>

00:09:00.260 --> 00:09:00.270 align:start position:0%
smart contract if we consider the
 

00:09:00.270 --> 00:09:07.370 align:start position:0%
smart contract if we consider the
proposed<00:09:00.720><c> EU</c><00:09:01.710><c> Azzam</c><00:09:02.190><c> and</c><00:09:02.540><c> EVM</c><00:09:04.339><c> 11.0</c><00:09:06.110><c> we</c><00:09:07.110><c> can</c>

00:09:07.370 --> 00:09:07.380 align:start position:0%
proposed EU Azzam and EVM 11.0 we can
 

00:09:07.380 --> 00:09:12.350 align:start position:0%
proposed EU Azzam and EVM 11.0 we can
just<00:09:07.710><c> add</c><00:09:07.920><c> very</c><00:09:08.279><c> simple</c><00:09:10.550><c> liar</c><00:09:11.550><c> on</c><00:09:11.820><c> top</c><00:09:12.029><c> of</c><00:09:12.180><c> that</c>

00:09:12.350 --> 00:09:12.360 align:start position:0%
just add very simple liar on top of that
 

00:09:12.360 --> 00:09:14.840 align:start position:0%
just add very simple liar on top of that
that<00:09:12.810><c> actually</c><00:09:13.140><c> can</c><00:09:13.529><c> recognize</c><00:09:14.100><c> if</c><00:09:14.430><c> the</c><00:09:14.580><c> smart</c>

00:09:14.840 --> 00:09:14.850 align:start position:0%
that actually can recognize if the smart
 

00:09:14.850 --> 00:09:17.860 align:start position:0%
that actually can recognize if the smart
contracts<00:09:15.330><c> uses</c><00:09:15.690><c> the</c><00:09:15.900><c> web</c><00:09:16.290><c> assembly</c><00:09:16.890><c> like</c>

00:09:17.860 --> 00:09:17.870 align:start position:0%
contracts uses the web assembly like
 

00:09:17.870 --> 00:09:25.820 align:start position:0%
contracts uses the web assembly like
language<00:09:18.870><c> or</c><00:09:19.279><c> EVM</c><00:09:20.279><c> one</c><00:09:20.520><c> byte</c><00:09:21.210><c> code</c><00:09:24.260><c> so</c><00:09:25.260><c> how</c>

00:09:25.820 --> 00:09:25.830 align:start position:0%
language or EVM one byte code so how
 

00:09:25.830 --> 00:09:30.980 align:start position:0%
language or EVM one byte code so how
actually<00:09:26.040><c> this</c><00:09:26.400><c> EVM</c><00:09:27.300><c> C</c><00:09:27.570><c> looks</c><00:09:27.810><c> like</c><00:09:29.839><c> this</c><00:09:30.839><c> is</c>

00:09:30.980 --> 00:09:30.990 align:start position:0%
actually this EVM C looks like this is
 

00:09:30.990 --> 00:09:33.920 align:start position:0%
actually this EVM C looks like this is
actually<00:09:31.470><c> the</c><00:09:31.620><c> single</c><00:09:32.040><c> file</c><00:09:32.279><c> a</c><00:09:32.760><c> single</c><00:09:33.390><c> C</c>

00:09:33.920 --> 00:09:33.930 align:start position:0%
actually the single file a single C
 

00:09:33.930 --> 00:09:40.130 align:start position:0%
actually the single file a single C
header<00:09:34.200><c> file</c><00:09:34.589><c> and</c><00:09:35.870><c> includes</c><00:09:38.990><c> declarations</c><00:09:39.990><c> of</c>

00:09:40.130 --> 00:09:40.140 align:start position:0%
header file and includes declarations of
 

00:09:40.140 --> 00:09:43.130 align:start position:0%
header file and includes declarations of
functions<00:09:40.650><c> and</c><00:09:40.800><c> structs</c><00:09:41.279><c> and</c><00:09:41.810><c> also</c><00:09:42.810><c> all</c><00:09:43.020><c> the</c>

00:09:43.130 --> 00:09:43.140 align:start position:0%
functions and structs and also all the
 

00:09:43.140 --> 00:09:45.740 align:start position:0%
functions and structs and also all the
documentation<00:09:43.680><c> is</c><00:09:43.950><c> is</c><00:09:44.160><c> is</c><00:09:44.460><c> this</c><00:09:44.730><c> file</c><00:09:45.089><c> in</c><00:09:45.390><c> in</c>

00:09:45.740 --> 00:09:45.750 align:start position:0%
documentation is is is this file in in
 

00:09:45.750 --> 00:09:49.850 align:start position:0%
documentation is is is this file in in
form<00:09:46.080><c> of</c><00:09:46.230><c> of</c><00:09:46.740><c> comments</c><00:09:47.570><c> so</c><00:09:48.570><c> this</c><00:09:49.290><c> is</c><00:09:49.440><c> actually</c>

00:09:49.850 --> 00:09:49.860 align:start position:0%
form of of comments so this is actually
 

00:09:49.860 --> 00:09:54.769 align:start position:0%
form of of comments so this is actually
the<00:09:50.040><c> the</c><00:09:51.230><c> only</c><00:09:52.230><c> source</c><00:09:52.529><c> you</c><00:09:52.860><c> should</c><00:09:53.779><c> care</c>

00:09:54.769 --> 00:09:54.779 align:start position:0%
the the only source you should care
 

00:09:54.779 --> 00:09:58.820 align:start position:0%
the the only source you should care
about<00:09:54.810><c> and</c><00:09:55.529><c> I</c><00:09:56.810><c> paid</c><00:09:57.810><c> attention</c><00:09:57.990><c> to</c><00:09:58.470><c> actually</c>

00:09:58.820 --> 00:09:58.830 align:start position:0%
about and I paid attention to actually
 

00:09:58.830 --> 00:10:01.250 align:start position:0%
about and I paid attention to actually
have<00:09:59.010><c> good</c><00:09:59.700><c> enough</c><00:10:00.029><c> documentation</c><00:10:00.510><c> to</c>

00:10:01.250 --> 00:10:01.260 align:start position:0%
have good enough documentation to
 

00:10:01.260 --> 00:10:03.380 align:start position:0%
have good enough documentation to
understand<00:10:01.920><c> how</c><00:10:02.100><c> it</c><00:10:02.279><c> works</c>

00:10:03.380 --> 00:10:03.390 align:start position:0%
understand how it works
 

00:10:03.390 --> 00:10:08.540 align:start position:0%
understand how it works
just<00:10:03.990><c> reading</c><00:10:04.200><c> the</c><00:10:04.470><c> single</c><00:10:04.860><c> file</c><00:10:05.300><c> and</c><00:10:07.310><c> at</c><00:10:08.310><c> the</c>

00:10:08.540 --> 00:10:08.550 align:start position:0%
just reading the single file and at the
 

00:10:08.550 --> 00:10:12.610 align:start position:0%
just reading the single file and at the
moment<00:10:08.700><c> this</c><00:10:09.420><c> is</c><00:10:09.630><c> part</c><00:10:10.589><c> of</c><00:10:10.890><c> my</c><00:10:11.339><c> EVM</c><00:10:11.850><c> G</c><00:10:12.060><c> project</c>

00:10:12.610 --> 00:10:12.620 align:start position:0%
moment this is part of my EVM G project
 

00:10:12.620 --> 00:10:18.650 align:start position:0%
moment this is part of my EVM G project
were<00:10:14.450><c> and</c><00:10:15.709><c> as</c><00:10:16.709><c> long</c><00:10:17.220><c> I'm</c><00:10:17.459><c> experimenting</c><00:10:18.120><c> with</c>

00:10:18.650 --> 00:10:18.660 align:start position:0%
were and as long I'm experimenting with
 

00:10:18.660 --> 00:10:22.300 align:start position:0%
were and as long I'm experimenting with
that<00:10:18.839><c> and</c><00:10:19.170><c> the</c><00:10:19.650><c> API</c><00:10:20.010><c> is</c><00:10:20.160><c> not</c><00:10:20.370><c> finished</c><00:10:21.270><c> yet</c>

00:10:22.300 --> 00:10:22.310 align:start position:0%
that and the API is not finished yet
 

00:10:22.310 --> 00:10:31.810 align:start position:0%
that and the API is not finished yet
we<00:10:23.330><c> it's</c><00:10:24.330><c> included</c><00:10:24.810><c> in</c><00:10:25.170><c> this</c><00:10:25.529><c> project</c><00:10:29.630><c> okay</c><00:10:30.630><c> so</c>

00:10:31.810 --> 00:10:31.820 align:start position:0%
we it's included in this project okay so
 

00:10:31.820 --> 00:10:35.960 align:start position:0%
we it's included in this project okay so
the<00:10:32.820><c> whole</c><00:10:33.380><c> the</c><00:10:34.380><c> whole</c><00:10:34.589><c> design</c><00:10:35.010><c> has</c><00:10:35.400><c> some</c><00:10:35.730><c> kind</c>

00:10:35.960 --> 00:10:35.970 align:start position:0%
the whole the whole design has some kind
 

00:10:35.970 --> 00:10:41.350 align:start position:0%
the whole the whole design has some kind
of<00:10:36.120><c> to</c><00:10:36.830><c> two</c><00:10:37.830><c> parts</c><00:10:38.279><c> two</c><00:10:39.209><c> sides</c><00:10:39.540><c> and</c><00:10:40.100><c> one</c><00:10:41.100><c> is</c>

00:10:41.350 --> 00:10:41.360 align:start position:0%
of to two parts two sides and one is
 

00:10:41.360 --> 00:10:44.960 align:start position:0%
of to two parts two sides and one is
related<00:10:42.360><c> to</c><00:10:42.690><c> the</c><00:10:43.020><c> client</c><00:10:43.500><c> to</c><00:10:44.190><c> the</c><00:10:44.220><c> client</c><00:10:44.730><c> side</c>

00:10:44.960 --> 00:10:44.970 align:start position:0%
related to the client to the client side
 

00:10:44.970 --> 00:10:50.630 align:start position:0%
related to the client to the client side
and<00:10:45.330><c> one</c><00:10:45.959><c> is</c><00:10:46.140><c> related</c><00:10:46.650><c> to</c><00:10:46.680><c> the</c><00:10:47.070><c> EVM</c><00:10:48.029><c> itself</c><00:10:49.640><c> on</c>

00:10:50.630 --> 00:10:50.640 align:start position:0%
and one is related to the EVM itself on
 

00:10:50.640 --> 00:10:54.860 align:start position:0%
and one is related to the EVM itself on
the<00:10:50.850><c> client</c><00:10:51.270><c> side</c><00:10:52.820><c> what</c><00:10:53.820><c> have</c><00:10:54.060><c> to</c><00:10:54.089><c> be</c><00:10:54.240><c> done</c><00:10:54.360><c> you</c>

00:10:54.860 --> 00:10:54.870 align:start position:0%
the client side what have to be done you
 

00:10:54.870 --> 00:10:57.290 align:start position:0%
the client side what have to be done you
you<00:10:55.230><c> need</c><00:10:55.410><c> to</c><00:10:55.620><c> implement</c><00:10:55.860><c> implement</c><00:10:56.550><c> some</c>

00:10:57.290 --> 00:10:57.300 align:start position:0%
you need to implement implement some
 

00:10:57.300 --> 00:11:03.449 align:start position:0%
you need to implement implement some
context<00:10:58.050><c> class</c><00:10:58.320><c> and</c><00:10:59.900><c> contact</c><00:11:00.900><c> class</c><00:11:01.610><c> provides</c>

00:11:03.449 --> 00:11:03.459 align:start position:0%
context class and contact class provides
 

00:11:03.459 --> 00:11:06.720 align:start position:0%
context class and contact class provides
to<00:11:03.610><c> our</c><00:11:03.730><c> methods</c><00:11:04.179><c> and</c><00:11:04.569><c> can</c><00:11:05.499><c> answer</c><00:11:05.740><c> questions</c>

00:11:06.720 --> 00:11:06.730 align:start position:0%
to our methods and can answer questions
 

00:11:06.730 --> 00:11:11.699 align:start position:0%
to our methods and can answer questions
coming<00:11:07.449><c> from</c><00:11:07.809><c> from</c><00:11:08.379><c> EVM</c><00:11:08.949><c> and</c><00:11:10.470><c> these</c><00:11:11.470><c> questions</c>

00:11:11.699 --> 00:11:11.709 align:start position:0%
coming from from EVM and these questions
 

00:11:11.709 --> 00:11:14.999 align:start position:0%
coming from from EVM and these questions
are<00:11:12.189><c> something</c><00:11:12.970><c> like</c><00:11:13.179><c> get</c><00:11:14.110><c> me</c><00:11:14.350><c> the</c><00:11:14.499><c> balance</c><00:11:14.829><c> of</c>

00:11:14.999 --> 00:11:15.009 align:start position:0%
are something like get me the balance of
 

00:11:15.009 --> 00:11:18.359 align:start position:0%
are something like get me the balance of
given<00:11:15.369><c> account</c><00:11:15.730><c> or</c><00:11:16.319><c> get</c><00:11:17.319><c> me</c><00:11:17.529><c> the</c><00:11:17.679><c> storage</c><00:11:18.100><c> at</c>

00:11:18.359 --> 00:11:18.369 align:start position:0%
given account or get me the storage at
 

00:11:18.369 --> 00:11:20.790 align:start position:0%
given account or get me the storage at
the<00:11:18.429><c> given</c><00:11:18.790><c> storage</c><00:11:19.329><c> slot</c><00:11:19.720><c> for</c><00:11:20.050><c> forgiven</c>

00:11:20.790 --> 00:11:20.800 align:start position:0%
the given storage slot for forgiven
 

00:11:20.800 --> 00:11:23.819 align:start position:0%
the given storage slot for forgiven
contract<00:11:21.480><c> all</c><00:11:22.480><c> this</c><00:11:22.660><c> information</c><00:11:23.319><c> cannot</c><00:11:23.619><c> be</c>

00:11:23.819 --> 00:11:23.829 align:start position:0%
contract all this information cannot be
 

00:11:23.829 --> 00:11:27.600 align:start position:0%
contract all this information cannot be
provided<00:11:24.429><c> to</c><00:11:24.879><c> the</c><00:11:25.449><c> AVM</c><00:11:25.839><c> upfront</c><00:11:26.350><c> because</c><00:11:26.889><c> we</c>

00:11:27.600 --> 00:11:27.610 align:start position:0%
provided to the AVM upfront because we
 

00:11:27.610 --> 00:11:30.629 align:start position:0%
provided to the AVM upfront because we
don't<00:11:27.790><c> want</c><00:11:28.059><c> to</c><00:11:28.149><c> send</c><00:11:29.139><c> the</c><00:11:29.800><c> whole</c><00:11:30.040><c> state</c><00:11:30.459><c> to</c>

00:11:30.629 --> 00:11:30.639 align:start position:0%
don't want to send the whole state to
 

00:11:30.639 --> 00:11:33.840 align:start position:0%
don't want to send the whole state to
the<00:11:30.790><c> AVM</c><00:11:31.179><c> to</c><00:11:31.569><c> execute</c><00:11:32.170><c> smart</c><00:11:32.529><c> smart</c><00:11:33.339><c> contracts</c>

00:11:33.840 --> 00:11:33.850 align:start position:0%
the AVM to execute smart smart contracts
 

00:11:33.850 --> 00:11:38.489 align:start position:0%
the AVM to execute smart smart contracts
but<00:11:34.689><c> DVM</c><00:11:35.970><c> need</c><00:11:36.970><c> either</c><00:11:37.600><c> way</c><00:11:37.869><c> to</c><00:11:37.929><c> actually</c>

00:11:38.489 --> 00:11:38.499 align:start position:0%
but DVM need either way to actually
 

00:11:38.499 --> 00:11:44.579 align:start position:0%
but DVM need either way to actually
extract<00:11:38.829><c> this</c><00:11:39.129><c> information</c><00:11:39.189><c> on</c><00:11:40.089><c> demand</c><00:11:43.589><c> on</c>

00:11:44.579 --> 00:11:44.589 align:start position:0%
extract this information on demand on
 

00:11:44.589 --> 00:11:50.419 align:start position:0%
extract this information on demand on
the<00:11:44.800><c> second</c><00:11:45.189><c> side</c><00:11:45.490><c> on</c><00:11:45.819><c> the</c><00:11:46.540><c> AVM</c><00:11:47.079><c> side</c><00:11:49.379><c> there</c><00:11:50.379><c> is</c>

00:11:50.419 --> 00:11:50.429 align:start position:0%
the second side on the AVM side there is
 

00:11:50.429 --> 00:11:55.829 align:start position:0%
the second side on the AVM side there is
AVM<00:11:51.429><c> class</c><00:11:51.790><c> and</c><00:11:52.149><c> EVM</c><00:11:52.990><c> class</c><00:11:54.480><c> it's</c><00:11:55.480><c> quite</c>

00:11:55.829 --> 00:11:55.839 align:start position:0%
AVM class and EVM class it's quite
 

00:11:55.839 --> 00:11:59.009 align:start position:0%
AVM class and EVM class it's quite
simple<00:11:56.490><c> there</c><00:11:57.490><c> is</c><00:11:57.550><c> a</c><00:11:58.089><c> way</c><00:11:58.509><c> to</c><00:11:58.569><c> actually</c>

00:11:59.009 --> 00:11:59.019 align:start position:0%
simple there is a way to actually
 

00:11:59.019 --> 00:12:04.710 align:start position:0%
simple there is a way to actually
construct<00:11:59.589><c> the</c><00:12:00.550><c> AVM</c><00:12:01.119><c> instance</c><00:12:02.339><c> and</c><00:12:03.629><c> there</c><00:12:04.629><c> is</c>

00:12:04.710 --> 00:12:04.720 align:start position:0%
construct the AVM instance and there is
 

00:12:04.720 --> 00:12:09.090 align:start position:0%
construct the AVM instance and there is
a<00:12:04.749><c> way</c><00:12:05.019><c> to</c><00:12:05.079><c> to</c><00:12:06.009><c> destroy</c><00:12:06.519><c> it</c><00:12:06.699><c> and</c><00:12:07.829><c> the</c><00:12:08.829><c> core</c>

00:12:09.090 --> 00:12:09.100 align:start position:0%
a way to to destroy it and the core
 

00:12:09.100 --> 00:12:11.699 align:start position:0%
a way to to destroy it and the core
function<00:12:09.639><c> is</c><00:12:09.819><c> actually</c><00:12:10.499><c> execute</c><00:12:11.499><c> function</c>

00:12:11.699 --> 00:12:11.709 align:start position:0%
function is actually execute function
 

00:12:11.709 --> 00:12:14.999 align:start position:0%
function is actually execute function
when<00:12:12.660><c> the</c><00:12:13.660><c> information</c><00:12:14.319><c> what</c><00:12:14.529><c> is</c><00:12:14.740><c> to</c><00:12:14.889><c> be</c>

00:12:14.999 --> 00:12:15.009 align:start position:0%
when the information what is to be
 

00:12:15.009 --> 00:12:18.150 align:start position:0%
when the information what is to be
executed<00:12:15.670><c> is</c><00:12:15.879><c> encoded</c><00:12:16.720><c> in</c><00:12:16.929><c> a</c><00:12:17.410><c> new</c><00:12:17.799><c> message</c>

00:12:18.150 --> 00:12:18.160 align:start position:0%
executed is encoded in a new message
 

00:12:18.160 --> 00:12:22.889 align:start position:0%
executed is encoded in a new message
object<00:12:18.369><c> and</c><00:12:20.579><c> also</c><00:12:21.579><c> the</c><00:12:21.759><c> context</c><00:12:22.240><c> is</c><00:12:22.329><c> provided</c>

00:12:22.889 --> 00:12:22.899 align:start position:0%
object and also the context is provided
 

00:12:22.899 --> 00:12:28.980 align:start position:0%
object and also the context is provided
for<00:12:23.889><c> the</c><00:12:24.040><c> execution</c><00:12:24.699><c> and</c><00:12:25.860><c> if</c><00:12:26.860><c> EVM</c><00:12:27.819><c> uses</c><00:12:28.749><c> this</c>

00:12:28.980 --> 00:12:28.990 align:start position:0%
for the execution and if EVM uses this
 

00:12:28.990 --> 00:12:35.129 align:start position:0%
for the execution and if EVM uses this
context<00:12:29.999><c> interface</c><00:12:30.999><c> to</c><00:12:33.299><c> to</c><00:12:34.299><c> ask</c><00:12:34.660><c> for</c><00:12:35.110><c> a</c>

00:12:35.129 --> 00:12:35.139 align:start position:0%
context interface to to ask for a
 

00:12:35.139 --> 00:12:40.829 align:start position:0%
context interface to to ask for a
mooring<00:12:35.470><c> for</c><00:12:35.639><c> more</c><00:12:36.639><c> data</c><00:12:36.819><c> if</c><00:12:37.209><c> needed</c><00:12:39.389><c> so</c><00:12:40.389><c> in</c>

00:12:40.829 --> 00:12:40.839 align:start position:0%
mooring for more data if needed so in
 

00:12:40.839 --> 00:12:44.669 align:start position:0%
mooring for more data if needed so in
case<00:12:41.170><c> you</c><00:12:42.129><c> would</c><00:12:42.249><c> like</c><00:12:42.699><c> to</c><00:12:43.149><c> implement</c><00:12:43.809><c> new</c>

00:12:44.669 --> 00:12:44.679 align:start position:0%
case you would like to implement new
 

00:12:44.679 --> 00:12:47.970 align:start position:0%
case you would like to implement new
client<00:12:45.189><c> but</c><00:12:45.579><c> you</c><00:12:45.730><c> don't</c><00:12:45.939><c> want</c><00:12:46.269><c> to</c><00:12:46.589><c> in</c><00:12:47.589><c> the</c><00:12:47.799><c> same</c>

00:12:47.970 --> 00:12:47.980 align:start position:0%
client but you don't want to in the same
 

00:12:47.980 --> 00:12:51.030 align:start position:0%
client but you don't want to in the same
time<00:12:48.309><c> implement</c><00:12:48.850><c> a</c><00:12:49.089><c> V</c><00:12:49.299><c> ender</c><00:12:49.709><c> you</c><00:12:50.709><c> would</c><00:12:50.860><c> like</c>

00:12:51.030 --> 00:12:51.040 align:start position:0%
time implement a V ender you would like
 

00:12:51.040 --> 00:12:55.679 align:start position:0%
time implement a V ender you would like
to<00:12:51.220><c> use</c><00:12:51.339><c> some</c><00:12:51.699><c> of</c><00:12:52.559><c> EVM</c><00:12:53.559><c> C</c><00:12:54.089><c> compatible</c><00:12:55.089><c> EVM</c><00:12:55.540><c> is</c>

00:12:55.679 --> 00:12:55.689 align:start position:0%
to use some of EVM C compatible EVM is
 

00:12:55.689 --> 00:12:58.949 align:start position:0%
to use some of EVM C compatible EVM is
available<00:12:56.259><c> and</c><00:12:56.889><c> what</c><00:12:57.100><c> you</c><00:12:57.220><c> have</c><00:12:57.429><c> to</c><00:12:57.459><c> do</c><00:12:57.959><c> your</c>

00:12:58.949 --> 00:12:58.959 align:start position:0%
available and what you have to do your
 

00:12:58.959 --> 00:13:00.929 align:start position:0%
available and what you have to do your
job<00:12:59.230><c> is</c><00:12:59.410><c> to</c><00:12:59.439><c> implement</c><00:12:59.920><c> the</c><00:13:00.220><c> context</c><00:13:00.730><c> class</c>

00:13:00.929 --> 00:13:00.939 align:start position:0%
job is to implement the context class
 

00:13:00.939 --> 00:13:05.819 align:start position:0%
job is to implement the context class
and<00:13:02.279><c> there</c><00:13:03.279><c> are</c><00:13:03.399><c> eight</c><00:13:04.329><c> virtual</c><00:13:05.170><c> methods</c><00:13:05.589><c> to</c>

00:13:05.819 --> 00:13:05.829 align:start position:0%
and there are eight virtual methods to
 

00:13:05.829 --> 00:13:10.650 align:start position:0%
and there are eight virtual methods to
that<00:13:06.519><c> have</c><00:13:06.819><c> to</c><00:13:06.999><c> be</c><00:13:07.149><c> implemented</c><00:13:07.420><c> and</c><00:13:09.449><c> you</c><00:13:10.449><c> have</c>

00:13:10.650 --> 00:13:10.660 align:start position:0%
that have to be implemented and you have
 

00:13:10.660 --> 00:13:13.499 align:start position:0%
that have to be implemented and you have
also<00:13:10.899><c> encode</c><00:13:11.620><c> your</c><00:13:11.970><c> information</c><00:13:12.970><c> what</c><00:13:13.299><c> to</c>

00:13:13.499 --> 00:13:13.509 align:start position:0%
also encode your information what to
 

00:13:13.509 --> 00:13:16.590 align:start position:0%
also encode your information what to
execute<00:13:14.079><c> in</c><00:13:14.410><c> in</c><00:13:15.040><c> the</c><00:13:15.249><c> message</c><00:13:15.639><c> in</c><00:13:16.240><c> the</c><00:13:16.480><c> message</c>

00:13:16.590 --> 00:13:16.600 align:start position:0%
execute in in the message in the message
 

00:13:16.600 --> 00:13:17.450 align:start position:0%
execute in in the message in the message
distraction

00:13:17.450 --> 00:13:17.460 align:start position:0%
distraction
 

00:13:17.460 --> 00:13:22.320 align:start position:0%
distraction
and<00:13:20.160><c> if</c><00:13:21.160><c> you</c><00:13:21.460><c> would</c><00:13:21.550><c> like</c><00:13:21.670><c> to</c><00:13:21.730><c> for</c><00:13:22.240><c> example</c>

00:13:22.320 --> 00:13:22.330 align:start position:0%
and if you would like to for example
 

00:13:22.330 --> 00:13:26.070 align:start position:0%
and if you would like to for example
implement<00:13:23.290><c> the</c><00:13:24.280><c> AVM</c><00:13:24.730><c> but</c><00:13:25.510><c> you</c><00:13:25.690><c> don't</c><00:13:25.900><c> care</c>

00:13:26.070 --> 00:13:26.080 align:start position:0%
implement the AVM but you don't care
 

00:13:26.080 --> 00:13:28.680 align:start position:0%
implement the AVM but you don't care
about<00:13:26.230><c> the</c><00:13:26.560><c> rest</c><00:13:26.650><c> of</c><00:13:26.920><c> the</c><00:13:27.270><c> etherium</c><00:13:28.270><c> client</c>

00:13:28.680 --> 00:13:28.690 align:start position:0%
about the rest of the etherium client
 

00:13:28.690 --> 00:13:34.020 align:start position:0%
about the rest of the etherium client
like<00:13:28.930><c> networks</c><00:13:29.590><c> dark</c><00:13:29.980><c> non</c><00:13:30.880><c> storage</c><00:13:33.030><c> database</c>

00:13:34.020 --> 00:13:34.030 align:start position:0%
like networks dark non storage database
 

00:13:34.030 --> 00:13:37.410 align:start position:0%
like networks dark non storage database
and<00:13:34.570><c> so</c><00:13:34.750><c> on</c><00:13:35.220><c> all</c><00:13:36.220><c> you</c><00:13:36.370><c> need</c><00:13:36.550><c> to</c><00:13:36.700><c> do</c><00:13:36.850><c> is</c><00:13:37.150><c> to</c>

00:13:37.410 --> 00:13:37.420 align:start position:0%
and so on all you need to do is to
 

00:13:37.420 --> 00:13:39.660 align:start position:0%
and so on all you need to do is to
implement<00:13:37.690><c> the</c><00:13:38.170><c> create</c><00:13:38.530><c> and</c><00:13:38.770><c> destroy</c><00:13:39.190><c> pair</c><00:13:39.550><c> of</c>

00:13:39.660 --> 00:13:39.670 align:start position:0%
implement the create and destroy pair of
 

00:13:39.670 --> 00:13:46.650 align:start position:0%
implement the create and destroy pair of
functions<00:13:39.940><c> and</c><00:13:40.980><c> the</c><00:13:41.980><c> execute</c><00:13:42.520><c> one</c><00:13:44.550><c> so</c><00:13:45.550><c> not</c><00:13:46.480><c> to</c>

00:13:46.650 --> 00:13:46.660 align:start position:0%
functions and the execute one so not to
 

00:13:46.660 --> 00:13:51.170 align:start position:0%
functions and the execute one so not to
be<00:13:46.780><c> confused</c><00:13:47.640><c> this</c><00:13:48.640><c> design</c><00:13:49.060><c> operates</c><00:13:49.660><c> on</c><00:13:50.530><c> the</c>

00:13:51.170 --> 00:13:51.180 align:start position:0%
be confused this design operates on the
 

00:13:51.180 --> 00:13:58.500 align:start position:0%
be confused this design operates on the
object-oriented<00:13:54.900><c> concepts</c><00:13:56.340><c> but</c><00:13:57.340><c> on</c><00:13:57.910><c> the</c><00:13:58.360><c> way</c>

00:13:58.500 --> 00:13:58.510 align:start position:0%
object-oriented concepts but on the way
 

00:13:58.510 --> 00:14:00.810 align:start position:0%
object-oriented concepts but on the way
you<00:13:58.570><c> will</c><00:13:59.170><c> do</c><00:13:59.350><c> that</c><00:13:59.620><c> you</c><00:14:00.430><c> will</c><00:14:00.580><c> have</c><00:14:00.610><c> to</c>

00:14:00.810 --> 00:14:00.820 align:start position:0%
you will do that you will have to
 

00:14:00.820 --> 00:14:04.140 align:start position:0%
you will do that you will have to
translate<00:14:01.390><c> it</c><00:14:01.720><c> down</c><00:14:01.900><c> to</c><00:14:02.140><c> the</c><00:14:02.290><c> C</c><00:14:02.560><c> so</c><00:14:03.400><c> it</c><00:14:03.850><c> gets</c>

00:14:04.140 --> 00:14:04.150 align:start position:0%
translate it down to the C so it gets
 

00:14:04.150 --> 00:14:12.180 align:start position:0%
translate it down to the C so it gets
more<00:14:04.510><c> obscure</c><00:14:05.500><c> and</c><00:14:06.060><c> and</c><00:14:07.060><c> complex</c><00:14:10.200><c> so</c><00:14:11.200><c> what</c><00:14:12.040><c> we</c>

00:14:12.180 --> 00:14:12.190 align:start position:0%
more obscure and and complex so what we
 

00:14:12.190 --> 00:14:16.380 align:start position:0%
more obscure and and complex so what we
have<00:14:12.370><c> so</c><00:14:12.550><c> far</c><00:14:12.580><c> with</c><00:14:13.120><c> this</c><00:14:14.310><c> so</c><00:14:15.310><c> as</c><00:14:15.610><c> I</c><00:14:16.000><c> mentioned</c>

00:14:16.380 --> 00:14:16.390 align:start position:0%
have so far with this so as I mentioned
 

00:14:16.390 --> 00:14:19.230 align:start position:0%
have so far with this so as I mentioned
at<00:14:16.870><c> the</c><00:14:16.930><c> beginning</c><00:14:17.170><c> the</c><00:14:17.830><c> C++</c><00:14:18.520><c> client</c><00:14:18.970><c> have</c>

00:14:19.230 --> 00:14:19.240 align:start position:0%
at the beginning the C++ client have
 

00:14:19.240 --> 00:14:24.480 align:start position:0%
at the beginning the C++ client have
actually<00:14:19.690><c> two</c><00:14:19.900><c> to</c><00:14:20.470><c> EVMS</c><00:14:21.340><c> and</c><00:14:21.550><c> one</c><00:14:22.330><c> is</c><00:14:23.490><c> classic</c>

00:14:24.480 --> 00:14:24.490 align:start position:0%
actually two to EVMS and one is classic
 

00:14:24.490 --> 00:14:27.660 align:start position:0%
actually two to EVMS and one is classic
interpreter<00:14:25.210><c> and</c><00:14:25.710><c> it</c><00:14:26.710><c> actually</c><00:14:26.950><c> does</c><00:14:27.280><c> not</c><00:14:27.460><c> use</c>

00:14:27.660 --> 00:14:27.670 align:start position:0%
interpreter and it actually does not use
 

00:14:27.670 --> 00:14:31.050 align:start position:0%
interpreter and it actually does not use
the<00:14:28.060><c> AVM</c><00:14:28.540><c> C</c><00:14:28.840><c> but</c><00:14:29.050><c> we</c><00:14:29.230><c> plan</c><00:14:29.470><c> to</c><00:14:29.650><c> do</c><00:14:29.800><c> it</c><00:14:29.920><c> in</c><00:14:30.850><c> the</c>

00:14:31.050 --> 00:14:31.060 align:start position:0%
the AVM C but we plan to do it in the
 

00:14:31.060 --> 00:14:36.060 align:start position:0%
the AVM C but we plan to do it in the
next<00:14:31.260><c> in</c><00:14:32.260><c> the</c><00:14:32.320><c> near</c><00:14:32.710><c> future</c><00:14:33.420><c> but</c><00:14:34.420><c> evm</c><00:14:34.990><c> get</c><00:14:35.230><c> the</c>

00:14:36.060 --> 00:14:36.070 align:start position:0%
next in the near future but evm get the
 

00:14:36.070 --> 00:14:39.240 align:start position:0%
next in the near future but evm get the
treat<00:14:36.250><c> like</c><00:14:36.490><c> a</c><00:14:36.820><c> VM</c><00:14:37.440><c> uses</c><00:14:38.440><c> the</c><00:14:38.620><c> avians</c>

00:14:39.240 --> 00:14:39.250 align:start position:0%
treat like a VM uses the avians
 

00:14:39.250 --> 00:14:42.570 align:start position:0%
treat like a VM uses the avians
interface<00:14:39.970><c> and</c><00:14:40.530><c> it's</c><00:14:41.530><c> it's</c><00:14:41.890><c> compatible</c><00:14:42.310><c> with</c>

00:14:42.570 --> 00:14:42.580 align:start position:0%
interface and it's it's compatible with
 

00:14:42.580 --> 00:14:47.610 align:start position:0%
interface and it's it's compatible with
the<00:14:42.970><c> recent</c><00:14:43.450><c> hard</c><00:14:43.720><c> fork</c><00:14:44.020><c> of</c><00:14:45.210><c> byzantium</c><00:14:46.620><c> there</c>

00:14:47.610 --> 00:14:47.620 align:start position:0%
the recent hard fork of byzantium there
 

00:14:47.620 --> 00:14:50.610 align:start position:0%
the recent hard fork of byzantium there
is<00:14:47.710><c> also</c><00:14:47.950><c> the</c><00:14:48.430><c> hero</c><00:14:49.090><c> project</c><00:14:49.660><c> that</c><00:14:50.020><c> a</c>

00:14:50.610 --> 00:14:50.620 align:start position:0%
is also the hero project that a
 

00:14:50.620 --> 00:14:54.630 align:start position:0%
is also the hero project that a
prototype<00:14:51.430><c> of</c><00:14:51.760><c> a</c><00:14:52.420><c> tedium</c><00:14:52.990><c> client</c><00:14:53.410><c> with</c><00:14:53.680><c> you</c><00:14:54.460><c> as</c>

00:14:54.630 --> 00:14:54.640 align:start position:0%
prototype of a tedium client with you as
 

00:14:54.640 --> 00:14:59.280 align:start position:0%
prototype of a tedium client with you as
embark<00:14:55.090><c> end</c><00:14:55.270><c> and</c><00:14:56.280><c> there</c><00:14:57.280><c> is</c><00:14:57.370><c> also</c><00:14:57.670><c> a</c><00:14:58.390><c> prototype</c>

00:14:59.280 --> 00:14:59.290 align:start position:0%
embark end and there is also a prototype
 

00:14:59.290 --> 00:15:02.940 align:start position:0%
embark end and there is also a prototype
of<00:14:59.560><c> EVM</c><00:15:00.510><c> implemented</c><00:15:01.510><c> purely</c><00:15:02.470><c> in</c><00:15:02.650><c> the</c><00:15:02.680><c> C</c>

00:15:02.940 --> 00:15:02.950 align:start position:0%
of EVM implemented purely in the C
 

00:15:02.950 --> 00:15:08.220 align:start position:0%
of EVM implemented purely in the C
language<00:15:02.980><c> I</c><00:15:05.040><c> also</c><00:15:06.040><c> prepared</c><00:15:06.700><c> some</c><00:15:07.180><c> time</c><00:15:07.930><c> ago</c><00:15:08.200><c> a</c>

00:15:08.220 --> 00:15:08.230 align:start position:0%
language I also prepared some time ago a
 

00:15:08.230 --> 00:15:11.610 align:start position:0%
language I also prepared some time ago a
prototype<00:15:08.830><c> of</c><00:15:08.860><c> GAF</c><00:15:09.600><c> with</c><00:15:10.600><c> the</c><00:15:10.870><c> AVM</c><00:15:11.260><c> due</c><00:15:11.440><c> to</c>

00:15:11.610 --> 00:15:11.620 align:start position:0%
prototype of GAF with the AVM due to
 

00:15:11.620 --> 00:15:15.150 align:start position:0%
prototype of GAF with the AVM due to
plug-in<00:15:12.160><c> and</c><00:15:12.750><c> the</c><00:15:13.750><c> Python</c><00:15:14.170><c> Python</c><00:15:14.710><c> client</c>

00:15:15.150 --> 00:15:15.160 align:start position:0%
plug-in and the Python Python client
 

00:15:15.160 --> 00:15:18.540 align:start position:0%
plug-in and the Python Python client
with<00:15:15.640><c> EVM</c><00:15:16.330><c> jet</c><00:15:16.510><c> plugged</c><00:15:16.780><c> in</c><00:15:17.100><c> this</c><00:15:18.100><c> to</c><00:15:18.370><c> needs</c>

00:15:18.540 --> 00:15:18.550 align:start position:0%
with EVM jet plugged in this to needs
 

00:15:18.550 --> 00:15:22.040 align:start position:0%
with EVM jet plugged in this to needs
some<00:15:18.730><c> work</c><00:15:18.940><c> and</c><00:15:19.270><c> it</c><00:15:20.110><c> requires</c><00:15:20.530><c> updates</c><00:15:21.430><c> to</c><00:15:21.640><c> the</c>

00:15:22.040 --> 00:15:22.050 align:start position:0%
some work and it requires updates to the
 

00:15:22.050 --> 00:15:25.470 align:start position:0%
some work and it requires updates to the
current<00:15:23.050><c> status</c><00:15:23.320><c> of</c><00:15:23.620><c> the</c><00:15:23.800><c> code</c><00:15:24.090><c> but</c><00:15:25.090><c> it's</c>

00:15:25.470 --> 00:15:25.480 align:start position:0%
current status of the code but it's
 

00:15:25.480 --> 00:15:28.270 align:start position:0%
current status of the code but it's
quite<00:15:25.720><c> fun</c><00:15:26.050><c> to</c><00:15:26.410><c> play</c><00:15:26.740><c> with</c><00:15:26.920><c> that</c>

00:15:28.270 --> 00:15:28.280 align:start position:0%
quite fun to play with that
 

00:15:28.280 --> 00:15:34.030 align:start position:0%
quite fun to play with that
and<00:15:28.420><c> what</c><00:15:29.420><c> we</c><00:15:29.570><c> want</c><00:15:29.840><c> to</c><00:15:29.930><c> do</c><00:15:30.790><c> next</c><00:15:32.740><c> the</c><00:15:33.740><c> missing</c>

00:15:34.030 --> 00:15:34.040 align:start position:0%
and what we want to do next the missing
 

00:15:34.040 --> 00:15:37.780 align:start position:0%
and what we want to do next the missing
piece<00:15:34.280><c> of</c><00:15:34.520><c> EVM</c><00:15:35.000><c> C</c><00:15:35.270><c> API</c><00:15:35.720><c> is</c><00:15:36.170><c> its</c><00:15:36.710><c> VM</c><00:15:36.980><c> tracing</c><00:15:37.550><c> and</c>

00:15:37.780 --> 00:15:37.790 align:start position:0%
piece of EVM C API is its VM tracing and
 

00:15:37.790 --> 00:15:40.600 align:start position:0%
piece of EVM C API is its VM tracing and
this<00:15:38.090><c> is</c><00:15:38.270><c> a</c><00:15:39.020><c> showstopper</c><00:15:39.530><c> for</c><00:15:40.160><c> a</c><00:15:40.190><c> moment</c>

00:15:40.600 --> 00:15:40.610 align:start position:0%
this is a showstopper for a moment
 

00:15:40.610 --> 00:15:44.280 align:start position:0%
this is a showstopper for a moment
because<00:15:40.880><c> we</c><00:15:41.270><c> cannot</c><00:15:41.840><c> replace</c><00:15:42.260><c> existing</c><00:15:42.770><c> VMs</c>

00:15:44.280 --> 00:15:44.290 align:start position:0%
because we cannot replace existing VMs
 

00:15:44.290 --> 00:15:46.930 align:start position:0%
because we cannot replace existing VMs
completely<00:15:45.290><c> because</c><00:15:45.950><c> this</c><00:15:46.370><c> missing</c><00:15:46.700><c> feature</c>

00:15:46.930 --> 00:15:46.940 align:start position:0%
completely because this missing feature
 

00:15:46.940 --> 00:15:52.090 align:start position:0%
completely because this missing feature
is<00:15:47.210><c> important</c><00:15:47.810><c> in</c><00:15:47.960><c> other</c><00:15:48.620><c> in</c><00:15:49.340><c> other</c><00:15:49.400><c> places</c><00:15:51.100><c> we</c>

00:15:52.090 --> 00:15:52.100 align:start position:0%
is important in other in other places we
 

00:15:52.100 --> 00:15:54.280 align:start position:0%
is important in other in other places we
would<00:15:52.190><c> like</c><00:15:52.400><c> if</c><00:15:52.850><c> this</c><00:15:53.150><c> is</c><00:15:53.210><c> in</c><00:15:53.480><c> place</c><00:15:53.720><c> we</c><00:15:54.200><c> would</c>

00:15:54.280 --> 00:15:54.290 align:start position:0%
would like if this is in place we would
 

00:15:54.290 --> 00:15:59.290 align:start position:0%
would like if this is in place we would
like<00:15:54.470><c> to</c><00:15:54.680><c> move</c><00:15:54.860><c> the</c><00:15:55.220><c> CPP</c><00:15:55.910><c> interpreter</c><00:15:57.340><c> to</c><00:15:58.340><c> use</c>

00:15:59.290 --> 00:15:59.300 align:start position:0%
like to move the CPP interpreter to use
 

00:15:59.300 --> 00:16:03.430 align:start position:0%
like to move the CPP interpreter to use
the<00:15:59.630><c> idioms</c><00:15:59.960><c> DMC</c><00:16:00.860><c> interface</c><00:16:01.370><c> as</c><00:16:01.580><c> well</c><00:16:01.790><c> and</c><00:16:02.440><c> I</c>

00:16:03.430 --> 00:16:03.440 align:start position:0%
the idioms DMC interface as well and I
 

00:16:03.440 --> 00:16:06.670 align:start position:0%
the idioms DMC interface as well and I
also<00:16:03.470><c> plan</c><00:16:03.980><c> to</c><00:16:04.270><c> to</c><00:16:05.270><c> release</c><00:16:05.680><c> experimental</c>

00:16:06.670 --> 00:16:06.680 align:start position:0%
also plan to to release experimental
 

00:16:06.680 --> 00:16:10.630 align:start position:0%
also plan to to release experimental
graph<00:16:06.950><c> with</c><00:16:07.280><c> a</c><00:16:07.550><c> VM</c><00:16:07.850><c> did</c><00:16:08.090><c> as</c><00:16:08.780><c> a</c><00:16:09.460><c> virtual</c><00:16:10.460><c> machine</c>

00:16:10.630 --> 00:16:10.640 align:start position:0%
graph with a VM did as a virtual machine
 

00:16:10.640 --> 00:16:18.670 align:start position:0%
graph with a VM did as a virtual machine
derp<00:16:12.940><c> recently</c><00:16:13.940><c> also</c><00:16:14.410><c> someone</c><00:16:16.900><c> considered</c><00:16:17.900><c> to</c>

00:16:18.670 --> 00:16:18.680 align:start position:0%
derp recently also someone considered to
 

00:16:18.680 --> 00:16:23.380 align:start position:0%
derp recently also someone considered to
using<00:16:19.070><c> this</c><00:16:19.310><c> interface</c><00:16:19.910><c> together</c><00:16:20.870><c> with</c><00:16:22.390><c> fast</c>

00:16:23.380 --> 00:16:23.390 align:start position:0%
using this interface together with fast
 

00:16:23.390 --> 00:16:28.630 align:start position:0%
using this interface together with fast
testing<00:16:23.840><c> project</c><00:16:26.020><c> ok</c><00:16:27.020><c> that</c><00:16:27.410><c> was</c><00:16:27.650><c> all</c><00:16:28.070><c> from</c>

00:16:28.630 --> 00:16:28.640 align:start position:0%
testing project ok that was all from
 

00:16:28.640 --> 00:16:32.710 align:start position:0%
testing project ok that was all from
mine<00:16:29.530><c> thank</c><00:16:30.530><c> you</c><00:16:30.650><c> for</c><00:16:30.800><c> your</c><00:16:30.890><c> attention</c><00:16:31.190><c> and</c><00:16:31.720><c> in</c>

00:16:32.710 --> 00:16:32.720 align:start position:0%
mine thank you for your attention and in
 

00:16:32.720 --> 00:16:37.120 align:start position:0%
mine thank you for your attention and in
case<00:16:33.050><c> some</c><00:16:33.320><c> questions</c><00:16:33.830><c> I'm</c><00:16:34.130><c> available</c><00:16:34.370><c> for</c><00:16:36.130><c> ya</c>

00:16:37.120 --> 00:16:37.130 align:start position:0%
case some questions I'm available for ya
 

00:16:37.130 --> 00:16:51.570 align:start position:0%
case some questions I'm available for ya
for<00:16:37.490><c> how</c><00:16:37.700><c> they've</c><00:16:37.940><c> come</c><00:16:37.970><c> around</c><00:16:38.720><c> thank</c><00:16:39.350><c> you</c>

00:16:51.570 --> 00:16:51.580 align:start position:0%
 
 

00:16:51.580 --> 00:16:53.530 align:start position:0%
 
you

00:16:53.530 --> 00:16:53.540 align:start position:0%
you
 

00:16:53.540 --> 00:17:01.130 align:start position:0%
you
[Music]

