WEBVTT
Kind: captions
Language: en

00:00:09.190 --> 00:00:14.879 align:start position:0%
 
[Music]

00:00:14.879 --> 00:00:14.889 align:start position:0%
[Music]
 

00:00:14.889 --> 00:00:18.640 align:start position:0%
[Music]
hi<00:00:15.889><c> everybody</c><00:00:16.190><c> my</c><00:00:16.699><c> name</c><00:00:17.119><c> is</c><00:00:17.150><c> Piper</c><00:00:17.630><c> and</c><00:00:18.020><c> I've</c>

00:00:18.640 --> 00:00:18.650 align:start position:0%
hi everybody my name is Piper and I've
 

00:00:18.650 --> 00:00:21.070 align:start position:0%
hi everybody my name is Piper and I've
been<00:00:19.310><c> making</c><00:00:19.670><c> tooling</c><00:00:20.480><c> and</c><00:00:20.660><c> things</c><00:00:20.870><c> like</c><00:00:21.020><c> that</c>

00:00:21.070 --> 00:00:21.080 align:start position:0%
been making tooling and things like that
 

00:00:21.080 --> 00:00:23.860 align:start position:0%
been making tooling and things like that
in<00:00:21.440><c> the</c><00:00:21.560><c> Python</c><00:00:21.830><c> Python</c><00:00:22.480><c> ecosystem</c><00:00:23.480><c> since</c>

00:00:23.860 --> 00:00:23.870 align:start position:0%
in the Python Python ecosystem since
 

00:00:23.870 --> 00:00:26.140 align:start position:0%
in the Python Python ecosystem since
about<00:00:24.290><c> well</c><00:00:25.220><c> since</c><00:00:25.400><c> the</c><00:00:25.520><c> frontier</c><00:00:25.850><c> network</c>

00:00:26.140 --> 00:00:26.150 align:start position:0%
about well since the frontier network
 

00:00:26.150 --> 00:00:27.940 align:start position:0%
about well since the frontier network
launched<00:00:26.480><c> and</c><00:00:26.750><c> today</c><00:00:27.470><c> we're</c><00:00:27.650><c> gonna</c><00:00:27.710><c> do</c><00:00:27.920><c> a</c>

00:00:27.940 --> 00:00:27.950 align:start position:0%
launched and today we're gonna do a
 

00:00:27.950 --> 00:00:30.280 align:start position:0%
launched and today we're gonna do a
really<00:00:28.640><c> fast</c><00:00:28.910><c> run</c><00:00:29.240><c> through</c><00:00:29.480><c> of</c><00:00:29.660><c> the</c><00:00:29.870><c> entire</c>

00:00:30.280 --> 00:00:30.290 align:start position:0%
really fast run through of the entire
 

00:00:30.290 --> 00:00:32.650 align:start position:0%
really fast run through of the entire
Python<00:00:30.830><c> toolset</c><00:00:31.280><c> that</c><00:00:31.700><c> that</c><00:00:32.390><c> I've</c><00:00:32.480><c> been</c>

00:00:32.650 --> 00:00:32.660 align:start position:0%
Python toolset that that I've been
 

00:00:32.660 --> 00:00:35.710 align:start position:0%
Python toolset that that I've been
working<00:00:32.840><c> on</c><00:00:33.100><c> and</c><00:00:34.100><c> talked</c><00:00:34.430><c> sort</c><00:00:34.670><c> of</c><00:00:34.730><c> about</c><00:00:34.970><c> the</c>

00:00:35.710 --> 00:00:35.720 align:start position:0%
working on and talked sort of about the
 

00:00:35.720 --> 00:00:37.090 align:start position:0%
working on and talked sort of about the
road<00:00:35.930><c> map</c><00:00:36.110><c> there</c><00:00:36.350><c> and</c><00:00:36.620><c> then</c><00:00:36.710><c> at</c><00:00:36.800><c> the</c><00:00:36.890><c> end</c><00:00:36.920><c> I'm</c>

00:00:37.090 --> 00:00:37.100 align:start position:0%
road map there and then at the end I'm
 

00:00:37.100 --> 00:00:38.680 align:start position:0%
road map there and then at the end I'm
gonna<00:00:37.190><c> talk</c><00:00:37.430><c> to</c><00:00:37.460><c> you</c><00:00:37.579><c> about</c><00:00:37.670><c> PI</c><00:00:37.940><c> EVM</c><00:00:38.360><c> which</c><00:00:38.570><c> is</c>

00:00:38.680 --> 00:00:38.690 align:start position:0%
gonna talk to you about PI EVM which is
 

00:00:38.690 --> 00:00:40.270 align:start position:0%
gonna talk to you about PI EVM which is
the<00:00:38.870><c> project</c><00:00:39.260><c> I'm</c><00:00:39.380><c> most</c><00:00:39.560><c> excited</c><00:00:39.680><c> about</c><00:00:39.980><c> right</c>

00:00:40.270 --> 00:00:40.280 align:start position:0%
the project I'm most excited about right
 

00:00:40.280 --> 00:00:43.150 align:start position:0%
the project I'm most excited about right
now<00:00:40.510><c> cool</c><00:00:41.510><c> so</c><00:00:41.900><c> uh</c><00:00:41.930><c> python</c><00:00:42.560><c> etherium</c><00:00:42.980><c> let's</c>

00:00:43.150 --> 00:00:43.160 align:start position:0%
now cool so uh python etherium let's
 

00:00:43.160 --> 00:00:44.560 align:start position:0%
now cool so uh python etherium let's
first<00:00:43.340><c> let's</c><00:00:43.550><c> talk</c><00:00:43.640><c> about</c><00:00:43.760><c> why</c><00:00:43.970><c> python</c><00:00:44.390><c> python</c>

00:00:44.560 --> 00:00:44.570 align:start position:0%
first let's talk about why python python
 

00:00:44.570 --> 00:00:46.540 align:start position:0%
first let's talk about why python python
is<00:00:44.930><c> slow</c><00:00:45.560><c> people</c><00:00:45.860><c> have</c><00:00:46.040><c> complaints</c><00:00:46.460><c> about</c>

00:00:46.540 --> 00:00:46.550 align:start position:0%
is slow people have complaints about
 

00:00:46.550 --> 00:00:48.760 align:start position:0%
is slow people have complaints about
python<00:00:47.030><c> there's</c><00:00:47.329><c> the</c><00:00:47.540><c> global</c><00:00:48.230><c> interpreter</c><00:00:48.590><c> to</c>

00:00:48.760 --> 00:00:48.770 align:start position:0%
python there's the global interpreter to
 

00:00:48.770 --> 00:00:51.010 align:start position:0%
python there's the global interpreter to
lock<00:00:48.920><c> things</c><00:00:49.130><c> like</c><00:00:49.340><c> that</c><00:00:49.520><c> but</c><00:00:50.480><c> the</c><00:00:50.600><c> big</c><00:00:50.780><c> thing</c>

00:00:51.010 --> 00:00:51.020 align:start position:0%
lock things like that but the big thing
 

00:00:51.020 --> 00:00:53.560 align:start position:0%
lock things like that but the big thing
here<00:00:51.200><c> is</c><00:00:51.410><c> that</c><00:00:51.680><c> diversity</c><00:00:51.860><c> matters</c><00:00:52.570><c> ëthere</c>

00:00:53.560 --> 00:00:53.570 align:start position:0%
here is that diversity matters ëthere
 

00:00:53.570 --> 00:00:55.600 align:start position:0%
here is that diversity matters ëthere
IAM<00:00:53.750><c> is</c><00:00:53.870><c> not</c><00:00:54.020><c> a</c><00:00:54.050><c> language</c><00:00:54.500><c> specific</c><00:00:54.980><c> tool</c><00:00:55.220><c> and</c>

00:00:55.600 --> 00:00:55.610 align:start position:0%
IAM is not a language specific tool and
 

00:00:55.610 --> 00:00:57.700 align:start position:0%
IAM is not a language specific tool and
if<00:00:55.760><c> developers</c><00:00:56.059><c> can</c><00:00:56.660><c> pickup</c><00:00:56.989><c> tooling</c><00:00:57.559><c> and</c>

00:00:57.700 --> 00:00:57.710 align:start position:0%
if developers can pickup tooling and
 

00:00:57.710 --> 00:00:59.950 align:start position:0%
if developers can pickup tooling and
languages<00:00:58.130><c> that</c><00:00:58.220><c> the</c><00:00:58.370><c> languages</c><00:00:59.180><c> that</c><00:00:59.420><c> they</c>

00:00:59.950 --> 00:00:59.960 align:start position:0%
languages that the languages that they
 

00:00:59.960 --> 00:01:02.020 align:start position:0%
languages that the languages that they
are<00:01:00.050><c> familiar</c><00:01:00.260><c> with</c><00:01:00.770><c> then</c><00:01:01.250><c> it</c><00:01:01.460><c> will</c><00:01:01.640><c> speed</c><00:01:01.910><c> up</c>

00:01:02.020 --> 00:01:02.030 align:start position:0%
are familiar with then it will speed up
 

00:01:02.030 --> 00:01:03.880 align:start position:0%
are familiar with then it will speed up
adoption<00:01:02.540><c> and</c><00:01:02.690><c> that's</c><00:01:02.840><c> a</c><00:01:02.960><c> big</c><00:01:03.110><c> deal</c><00:01:03.260><c> so</c><00:01:03.800><c> we</c>

00:01:03.880 --> 00:01:03.890 align:start position:0%
adoption and that's a big deal so we
 

00:01:03.890 --> 00:01:06.630 align:start position:0%
adoption and that's a big deal so we
need<00:01:04.009><c> more</c><00:01:04.339><c> tooling</c><00:01:04.969><c> in</c><00:01:05.149><c> more</c><00:01:05.449><c> languages</c><00:01:05.840><c> and</c>

00:01:06.630 --> 00:01:06.640 align:start position:0%
need more tooling in more languages and
 

00:01:06.640 --> 00:01:09.789 align:start position:0%
need more tooling in more languages and
python<00:01:07.640><c> is</c><00:01:07.729><c> a</c><00:01:07.790><c> big</c><00:01:07.940><c> deal</c><00:01:08.350><c> python</c><00:01:09.350><c> is</c><00:01:09.500><c> used</c><00:01:09.680><c> for</c>

00:01:09.789 --> 00:01:09.799 align:start position:0%
python is a big deal python is used for
 

00:01:09.799 --> 00:01:11.560 align:start position:0%
python is a big deal python is used for
all<00:01:09.979><c> kinds</c><00:01:10.370><c> of</c><00:01:10.430><c> stuff</c><00:01:10.670><c> it</c><00:01:10.909><c> is</c><00:01:11.030><c> an</c><00:01:11.180><c> extremely</c>

00:01:11.560 --> 00:01:11.570 align:start position:0%
all kinds of stuff it is an extremely
 

00:01:11.570 --> 00:01:14.020 align:start position:0%
all kinds of stuff it is an extremely
accessible<00:01:12.140><c> language</c><00:01:12.520><c> it's</c><00:01:13.520><c> used</c><00:01:13.700><c> heavily</c><00:01:13.880><c> in</c>

00:01:14.020 --> 00:01:14.030 align:start position:0%
accessible language it's used heavily in
 

00:01:14.030 --> 00:01:16.060 align:start position:0%
accessible language it's used heavily in
data<00:01:14.240><c> science</c><00:01:14.450><c> and</c><00:01:14.930><c> web</c><00:01:15.229><c> development</c><00:01:15.650><c> and</c><00:01:15.920><c> all</c>

00:01:16.060 --> 00:01:16.070 align:start position:0%
data science and web development and all
 

00:01:16.070 --> 00:01:18.580 align:start position:0%
data science and web development and all
these<00:01:16.190><c> things</c><00:01:16.460><c> and</c><00:01:16.670><c> so</c><00:01:16.960><c> we</c><00:01:17.960><c> need</c><00:01:18.170><c> good</c><00:01:18.200><c> tools</c>

00:01:18.580 --> 00:01:18.590 align:start position:0%
these things and so we need good tools
 

00:01:18.590 --> 00:01:21.160 align:start position:0%
these things and so we need good tools
in<00:01:18.740><c> Python</c><00:01:19.070><c> because</c><00:01:19.510><c> lots</c><00:01:20.510><c> of</c><00:01:20.630><c> people</c><00:01:20.690><c> use</c><00:01:21.020><c> it</c>

00:01:21.160 --> 00:01:21.170 align:start position:0%
in Python because lots of people use it
 

00:01:21.170 --> 00:01:23.890 align:start position:0%
in Python because lots of people use it
and<00:01:21.590><c> this</c><00:01:22.130><c> is</c><00:01:22.220><c> my</c><00:01:22.369><c> favorite</c><00:01:22.700><c> Python</c><00:01:23.600><c> is</c><00:01:23.720><c> the</c>

00:01:23.890 --> 00:01:23.900 align:start position:0%
and this is my favorite Python is the
 

00:01:23.900 --> 00:01:27.149 align:start position:0%
and this is my favorite Python is the
second<00:01:24.320><c> best</c><00:01:24.710><c> language</c><00:01:25.190><c> for</c><00:01:25.520><c> everything</c><00:01:26.119><c> I</c>

00:01:27.149 --> 00:01:27.159 align:start position:0%
second best language for everything I
 

00:01:27.159 --> 00:01:29.530 align:start position:0%
second best language for everything I
this<00:01:28.159><c> rings</c><00:01:28.430><c> so</c><00:01:28.640><c> true</c><00:01:28.670><c> to</c><00:01:29.000><c> me</c>

00:01:29.530 --> 00:01:29.540 align:start position:0%
this rings so true to me
 

00:01:29.540 --> 00:01:31.330 align:start position:0%
this rings so true to me
pythons<00:01:30.020><c> got</c><00:01:30.229><c> its</c><00:01:30.380><c> works</c><00:01:30.619><c> and</c><00:01:30.799><c> its</c><00:01:30.920><c> problems</c>

00:01:31.330 --> 00:01:31.340 align:start position:0%
pythons got its works and its problems
 

00:01:31.340 --> 00:01:33.880 align:start position:0%
pythons got its works and its problems
but<00:01:31.580><c> it's</c><00:01:31.729><c> also</c><00:01:31.880><c> a</c><00:01:32.000><c> wonderful</c><00:01:32.420><c> language</c><00:01:32.890><c> also</c>

00:01:33.880 --> 00:01:33.890 align:start position:0%
but it's also a wonderful language also
 

00:01:33.890 --> 00:01:35.950 align:start position:0%
but it's also a wonderful language also
we<00:01:34.490><c> have</c><00:01:34.610><c> tons</c><00:01:34.790><c> of</c><00:01:34.909><c> cute</c><00:01:35.090><c> animal</c><00:01:35.390><c> pictures</c><00:01:35.720><c> in</c>

00:01:35.950 --> 00:01:35.960 align:start position:0%
we have tons of cute animal pictures in
 

00:01:35.960 --> 00:01:38.320 align:start position:0%
we have tons of cute animal pictures in
our<00:01:36.049><c> github</c><00:01:37.210><c> cool</c>

00:01:38.320 --> 00:01:38.330 align:start position:0%
our github cool
 

00:01:38.330 --> 00:01:40.300 align:start position:0%
our github cool
so<00:01:38.450><c> the</c><00:01:38.720><c> Python</c><00:01:39.020><c> III</c><00:01:39.350><c> I'm</c><00:01:39.439><c> told</c><00:01:39.590><c> chain</c><00:01:39.770><c> first</c>

00:01:40.300 --> 00:01:40.310 align:start position:0%
so the Python III I'm told chain first
 

00:01:40.310 --> 00:01:41.640 align:start position:0%
so the Python III I'm told chain first
we'll<00:01:40.430><c> start</c><00:01:40.490><c> with</c><00:01:40.640><c> web</c><00:01:40.880><c> 3py</c>

00:01:41.640 --> 00:01:41.650 align:start position:0%
we'll start with web 3py
 

00:01:41.650 --> 00:01:44.620 align:start position:0%
we'll start with web 3py
thank<00:01:42.650><c> you</c><00:01:42.770><c> web</c><00:01:42.920><c> 3j</c><00:01:43.340><c> s</c><00:01:43.490><c> team</c><00:01:43.790><c> we</c><00:01:44.150><c> literally</c>

00:01:44.620 --> 00:01:44.630 align:start position:0%
thank you web 3j s team we literally
 

00:01:44.630 --> 00:01:46.719 align:start position:0%
thank you web 3j s team we literally
copied<00:01:45.049><c> your</c><00:01:45.200><c> codebase</c><00:01:45.619><c> converted</c><00:01:46.549><c> it</c><00:01:46.640><c> to</c>

00:01:46.719 --> 00:01:46.729 align:start position:0%
copied your codebase converted it to
 

00:01:46.729 --> 00:01:48.969 align:start position:0%
copied your codebase converted it to
Python<00:01:47.119><c> and</c><00:01:47.420><c> then</c><00:01:47.600><c> took</c><00:01:47.720><c> it</c><00:01:47.840><c> from</c><00:01:47.960><c> there</c>

00:01:48.969 --> 00:01:48.979 align:start position:0%
Python and then took it from there
 

00:01:48.979 --> 00:01:52.630 align:start position:0%
Python and then took it from there
so<00:01:49.759><c> what</c><00:01:50.060><c> three</c><00:01:50.240><c> py</c><00:01:50.570><c> is</c><00:01:50.630><c> your</c><00:01:51.619><c> sort</c><00:01:52.040><c> of</c><00:01:52.130><c> way</c><00:01:52.580><c> to</c>

00:01:52.630 --> 00:01:52.640 align:start position:0%
so what three py is your sort of way to
 

00:01:52.640 --> 00:01:54.370 align:start position:0%
so what three py is your sort of way to
access<00:01:53.210><c> the</c><00:01:53.330><c> bought</c><00:01:53.479><c> chain</c><00:01:53.689><c> it</c><00:01:53.930><c> handles</c><00:01:54.259><c> all</c>

00:01:54.370 --> 00:01:54.380 align:start position:0%
access the bought chain it handles all
 

00:01:54.380 --> 00:01:56.410 align:start position:0%
access the bought chain it handles all
your<00:01:54.560><c> all</c><00:01:54.740><c> of</c><00:01:54.770><c> your</c><00:01:54.950><c> RPC</c><00:01:55.369><c> communications</c><00:01:56.210><c> when</c>

00:01:56.410 --> 00:01:56.420 align:start position:0%
your all of your RPC communications when
 

00:01:56.420 --> 00:01:58.090 align:start position:0%
your all of your RPC communications when
you<00:01:56.509><c> want</c><00:01:56.630><c> to</c><00:01:56.720><c> talk</c><00:01:56.840><c> to</c><00:01:56.990><c> a</c><00:01:57.020><c> node</c><00:01:57.290><c> it</c><00:01:57.619><c> does</c>

00:01:58.090 --> 00:01:58.100 align:start position:0%
you want to talk to a node it does
 

00:01:58.100 --> 00:01:59.620 align:start position:0%
you want to talk to a node it does
things<00:01:58.310><c> like</c><00:01:58.430><c> converting</c><00:01:58.939><c> the</c><00:01:59.030><c> responses</c><00:01:59.600><c> to</c>

00:01:59.620 --> 00:01:59.630 align:start position:0%
things like converting the responses to
 

00:01:59.630 --> 00:02:01.330 align:start position:0%
things like converting the responses to
Python<00:02:00.079><c> objects</c><00:02:00.590><c> so</c><00:02:00.770><c> that</c><00:02:00.799><c> they're</c><00:02:01.009><c> nice</c><00:02:01.130><c> and</c>

00:02:01.330 --> 00:02:01.340 align:start position:0%
Python objects so that they're nice and
 

00:02:01.340 --> 00:02:04.630 align:start position:0%
Python objects so that they're nice and
friendly<00:02:01.520><c> for</c><00:02:01.850><c> you</c><00:02:03.130><c> things</c><00:02:04.130><c> that</c><00:02:04.280><c> you</c><00:02:04.430><c> don't</c>

00:02:04.630 --> 00:02:04.640 align:start position:0%
friendly for you things that you don't
 

00:02:04.640 --> 00:02:05.980 align:start position:0%
friendly for you things that you don't
want<00:02:04.909><c> to</c><00:02:05.030><c> be</c><00:02:05.150><c> working</c><00:02:05.299><c> on</c><00:02:05.600><c> when</c><00:02:05.869><c> you're</c>

00:02:05.980 --> 00:02:05.990 align:start position:0%
want to be working on when you're
 

00:02:05.990 --> 00:02:08.020 align:start position:0%
want to be working on when you're
building<00:02:06.170><c> your</c><00:02:06.290><c> product</c><00:02:06.710><c> it</c><00:02:07.610><c> has</c><00:02:07.729><c> tons</c><00:02:07.939><c> of</c>

00:02:08.020 --> 00:02:08.030 align:start position:0%
building your product it has tons of
 

00:02:08.030 --> 00:02:09.790 align:start position:0%
building your product it has tons of
built-in<00:02:08.329><c> utilities</c><00:02:08.840><c> for</c><00:02:09.049><c> doing</c><00:02:09.259><c> conversions</c>

00:02:09.790 --> 00:02:09.800 align:start position:0%
built-in utilities for doing conversions
 

00:02:09.800 --> 00:02:11.650 align:start position:0%
built-in utilities for doing conversions
converting<00:02:10.399><c> things</c><00:02:10.610><c> to</c><00:02:10.759><c> hex</c><00:02:10.970><c> and</c><00:02:11.239><c> from</c><00:02:11.420><c> hex</c>

00:02:11.650 --> 00:02:11.660 align:start position:0%
converting things to hex and from hex
 

00:02:11.660 --> 00:02:14.200 align:start position:0%
converting things to hex and from hex
and<00:02:11.959><c> between</c><00:02:12.380><c> bytes</c><00:02:12.709><c> and</c><00:02:12.950><c> text</c><00:02:13.220><c> formats</c>

00:02:14.200 --> 00:02:14.210 align:start position:0%
and between bytes and text formats
 

00:02:14.210 --> 00:02:16.840 align:start position:0%
and between bytes and text formats
those<00:02:14.360><c> currency</c><00:02:14.840><c> conversions</c><00:02:15.550><c> again</c><00:02:16.550><c> things</c>

00:02:16.840 --> 00:02:16.850 align:start position:0%
those currency conversions again things
 

00:02:16.850 --> 00:02:18.310 align:start position:0%
those currency conversions again things
you<00:02:16.940><c> don't</c><00:02:17.030><c> want</c><00:02:17.210><c> to</c><00:02:17.240><c> be</c><00:02:17.360><c> implementing</c><00:02:17.900><c> you</c>

00:02:18.310 --> 00:02:18.320 align:start position:0%
you don't want to be implementing you
 

00:02:18.320 --> 00:02:20.800 align:start position:0%
you don't want to be implementing you
can<00:02:18.410><c> focus</c><00:02:18.620><c> on</c><00:02:18.740><c> your</c><00:02:18.890><c> product</c><00:02:19.690><c> we</c><00:02:20.690><c> have</c>

00:02:20.800 --> 00:02:20.810 align:start position:0%
can focus on your product we have
 

00:02:20.810 --> 00:02:23.110 align:start position:0%
can focus on your product we have
contract<00:02:21.460><c> abstractions</c><00:02:22.460><c> for</c><00:02:22.610><c> a</c><00:02:22.670><c> contract</c>

00:02:23.110 --> 00:02:23.120 align:start position:0%
contract abstractions for a contract
 

00:02:23.120 --> 00:02:25.420 align:start position:0%
contract abstractions for a contract
objects<00:02:23.600><c> that</c><00:02:23.780><c> give</c><00:02:23.990><c> you</c><00:02:24.230><c> really</c><00:02:25.130><c> convenient</c>

00:02:25.420 --> 00:02:25.430 align:start position:0%
objects that give you really convenient
 

00:02:25.430 --> 00:02:26.830 align:start position:0%
objects that give you really convenient
all<00:02:25.610><c> you</c><00:02:25.700><c> have</c><00:02:25.790><c> to</c><00:02:25.910><c> do</c><00:02:26.000><c> is</c><00:02:26.120><c> feed</c><00:02:26.330><c> us</c><00:02:26.420><c> your</c><00:02:26.570><c> ABI</c>

00:02:26.830 --> 00:02:26.840 align:start position:0%
all you have to do is feed us your ABI
 

00:02:26.840 --> 00:02:28.900 align:start position:0%
all you have to do is feed us your ABI
tell<00:02:27.350><c> us</c><00:02:27.440><c> what</c><00:02:27.590><c> address</c><00:02:27.950><c> you're</c><00:02:28.130><c> at</c><00:02:28.250><c> you</c><00:02:28.760><c> can</c>

00:02:28.900 --> 00:02:28.910 align:start position:0%
tell us what address you're at you can
 

00:02:28.910 --> 00:02:30.490 align:start position:0%
tell us what address you're at you can
interact<00:02:29.240><c> with</c><00:02:29.330><c> your</c><00:02:29.510><c> contract</c><00:02:30.020><c> this</c><00:02:30.290><c> does</c>

00:02:30.490 --> 00:02:30.500 align:start position:0%
interact with your contract this does
 

00:02:30.500 --> 00:02:33.400 align:start position:0%
interact with your contract this does
deployment<00:02:31.100><c> all</c><00:02:31.910><c> of</c><00:02:32.090><c> the</c><00:02:32.210><c> ABI</c><00:02:32.600><c> in</c><00:02:32.840><c> coatings</c><00:02:33.260><c> of</c>

00:02:33.400 --> 00:02:33.410 align:start position:0%
deployment all of the ABI in coatings of
 

00:02:33.410 --> 00:02:37.720 align:start position:0%
deployment all of the ABI in coatings of
arguments<00:02:33.950><c> and</c><00:02:34.130><c> things</c><00:02:34.310><c> like</c><00:02:34.490><c> that</c><00:02:36.730><c> that's</c>

00:02:37.720 --> 00:02:37.730 align:start position:0%
arguments and things like that that's
 

00:02:37.730 --> 00:02:39.460 align:start position:0%
arguments and things like that that's
again<00:02:38.420><c> things</c><00:02:38.840><c> you</c><00:02:38.990><c> don't</c><00:02:39.170><c> want</c><00:02:39.290><c> to</c><00:02:39.380><c> be</c>

00:02:39.460 --> 00:02:39.470 align:start position:0%
again things you don't want to be
 

00:02:39.470 --> 00:02:42.910 align:start position:0%
again things you don't want to be
building<00:02:40.540><c> we</c><00:02:41.540><c> also</c><00:02:41.690><c> have</c><00:02:42.140><c> an</c><00:02:42.290><c> Accounts</c><00:02:42.650><c> API</c>

00:02:42.910 --> 00:02:42.920 align:start position:0%
building we also have an Accounts API
 

00:02:42.920 --> 00:02:45.760 align:start position:0%
building we also have an Accounts API
this<00:02:43.040><c> is</c><00:02:43.490><c> currently</c><00:02:44.360><c> in</c><00:02:44.690><c> sort</c><00:02:45.230><c> of</c><00:02:45.260><c> a</c><00:02:45.410><c> alpha</c>

00:02:45.760 --> 00:02:45.770 align:start position:0%
this is currently in sort of a alpha
 

00:02:45.770 --> 00:02:47.830 align:start position:0%
this is currently in sort of a alpha
stage<00:02:46.130><c> if</c><00:02:46.910><c> you're</c><00:02:47.090><c> familiar</c><00:02:47.270><c> with</c><00:02:47.630><c> the</c><00:02:47.690><c> web</c>

00:02:47.830 --> 00:02:47.840 align:start position:0%
stage if you're familiar with the web
 

00:02:47.840 --> 00:02:51.460 align:start position:0%
stage if you're familiar with the web
PHAs<00:02:48.440><c> new</c><00:02:49.340><c> accounts</c><00:02:49.700><c> API</c><00:02:50.000><c> again</c><00:02:50.570><c> we</c><00:02:50.960><c> generally</c>

00:02:51.460 --> 00:02:51.470 align:start position:0%
PHAs new accounts API again we generally
 

00:02:51.470 --> 00:02:53.730 align:start position:0%
PHAs new accounts API again we generally
kind<00:02:51.620><c> of</c><00:02:51.740><c> copied</c><00:02:52.100><c> this</c><00:02:52.250><c> you</c><00:02:53.060><c> can</c><00:02:53.210><c> do</c>

00:02:53.730 --> 00:02:53.740 align:start position:0%
kind of copied this you can do
 

00:02:53.740 --> 00:02:56.260 align:start position:0%
kind of copied this you can do
generation<00:02:54.740><c> of</c><00:02:54.980><c> accounts</c><00:02:55.550><c> management</c><00:02:56.120><c> of</c>

00:02:56.260 --> 00:02:56.270 align:start position:0%
generation of accounts management of
 

00:02:56.270 --> 00:02:57.820 align:start position:0%
generation of accounts management of
private<00:02:56.630><c> keys</c><00:02:56.780><c> from</c><00:02:57.050><c> right</c><00:02:57.230><c> there</c><00:02:57.260><c> within</c>

00:02:57.820 --> 00:02:57.830 align:start position:0%
private keys from right there within
 

00:02:57.830 --> 00:03:01.030 align:start position:0%
private keys from right there within
your<00:02:58.130><c> Python</c><00:02:58.970><c> code</c><00:02:59.180><c> base</c><00:02:59.590><c> loading</c><00:03:00.590><c> key</c><00:03:00.770><c> files</c>

00:03:01.030 --> 00:03:01.040 align:start position:0%
your Python code base loading key files
 

00:03:01.040 --> 00:03:03.280 align:start position:0%
your Python code base loading key files
signing<00:03:01.910><c> messages</c><00:03:02.480><c> sending</c><00:03:03.020><c> signed</c>

00:03:03.280 --> 00:03:03.290 align:start position:0%
signing messages sending signed
 

00:03:03.290 --> 00:03:06.010 align:start position:0%
signing messages sending signed
transactions<00:03:03.980><c> things</c><00:03:04.220><c> like</c><00:03:04.370><c> that</c><00:03:04.690><c> and</c><00:03:05.690><c> we</c>

00:03:06.010 --> 00:03:06.020 align:start position:0%
transactions things like that and we
 

00:03:06.020 --> 00:03:07.690 align:start position:0%
transactions things like that and we
have<00:03:06.110><c> this</c><00:03:06.200><c> great</c><00:03:06.410><c> middleware</c><00:03:06.860><c> API</c><00:03:07.190><c> and</c><00:03:07.580><c> this</c>

00:03:07.690 --> 00:03:07.700 align:start position:0%
have this great middleware API and this
 

00:03:07.700 --> 00:03:11.440 align:start position:0%
have this great middleware API and this
is<00:03:07.850><c> a</c><00:03:07.990><c> much</c><00:03:08.990><c> lower</c><00:03:09.230><c> level</c><00:03:09.380><c> API</c><00:03:09.920><c> but</c><00:03:10.340><c> impact</c><00:03:10.820><c> it</c>

00:03:11.440 --> 00:03:11.450 align:start position:0%
is a much lower level API but impact it
 

00:03:11.450 --> 00:03:13.740 align:start position:0%
is a much lower level API but impact it
enables<00:03:12.080><c> a</c><00:03:12.170><c> lot</c><00:03:12.320><c> of</c><00:03:12.410><c> really</c><00:03:12.620><c> powerful</c><00:03:12.800><c> things</c>

00:03:13.740 --> 00:03:13.750 align:start position:0%
enables a lot of really powerful things
 

00:03:13.750 --> 00:03:16.960 align:start position:0%
enables a lot of really powerful things
caching<00:03:14.920><c> interception</c><00:03:15.920><c> of</c><00:03:16.130><c> requests</c><00:03:16.820><c> and</c>

00:03:16.960 --> 00:03:16.970 align:start position:0%
caching interception of requests and
 

00:03:16.970 --> 00:03:19.020 align:start position:0%
caching interception of requests and
signing<00:03:17.450><c> them</c><00:03:17.600><c> in</c><00:03:17.750><c> flight</c><00:03:18.050><c> things</c><00:03:18.530><c> like</c><00:03:18.710><c> that</c>

00:03:19.020 --> 00:03:19.030 align:start position:0%
signing them in flight things like that
 

00:03:19.030 --> 00:03:21.790 align:start position:0%
signing them in flight things like that
that<00:03:20.030><c> you</c><00:03:20.300><c> can</c><00:03:20.480><c> build</c><00:03:20.810><c> using</c><00:03:21.140><c> this</c><00:03:21.380><c> middleware</c>

00:03:21.790 --> 00:03:21.800 align:start position:0%
that you can build using this middleware
 

00:03:21.800 --> 00:03:24.670 align:start position:0%
that you can build using this middleware
API<00:03:22.690><c> all</c><00:03:23.690><c> right</c><00:03:23.810><c> let's</c><00:03:23.960><c> talk</c><00:03:24.020><c> about</c><00:03:24.140><c> populist</c>

00:03:24.670 --> 00:03:24.680 align:start position:0%
API all right let's talk about populist
 

00:03:24.680 --> 00:03:26.980 align:start position:0%
API all right let's talk about populist
populist<00:03:25.460><c> is</c><00:03:25.610><c> a</c><00:03:25.640><c> development</c><00:03:26.570><c> framework</c>

00:03:26.980 --> 00:03:26.990 align:start position:0%
populist is a development framework
 

00:03:26.990 --> 00:03:28.990 align:start position:0%
populist is a development framework
written<00:03:27.560><c> in</c><00:03:27.770><c> Python</c><00:03:28.160><c> and</c><00:03:28.400><c> it</c><00:03:28.730><c> should</c><00:03:28.880><c> be</c>

00:03:28.990 --> 00:03:29.000 align:start position:0%
written in Python and it should be
 

00:03:29.000 --> 00:03:30.460 align:start position:0%
written in Python and it should be
pretty<00:03:29.090><c> familiar</c><00:03:29.300><c> for</c><00:03:29.750><c> Python</c><00:03:30.020><c> developers</c>

00:03:30.460 --> 00:03:30.470 align:start position:0%
pretty familiar for Python developers
 

00:03:30.470 --> 00:03:32.710 align:start position:0%
pretty familiar for Python developers
they're<00:03:31.400><c> really</c><00:03:31.670><c> the</c><00:03:31.970><c> biggest</c><00:03:32.180><c> thing</c><00:03:32.360><c> that</c><00:03:32.600><c> it</c>

00:03:32.710 --> 00:03:32.720 align:start position:0%
they're really the biggest thing that it
 

00:03:32.720 --> 00:03:34.560 align:start position:0%
they're really the biggest thing that it
that<00:03:32.960><c> it</c><00:03:33.080><c> focuses</c><00:03:33.470><c> on</c><00:03:33.620><c> is</c><00:03:33.680><c> testing</c><00:03:34.220><c> but</c>

00:03:34.560 --> 00:03:34.570 align:start position:0%
that it focuses on is testing but
 

00:03:34.570 --> 00:03:36.250 align:start position:0%
that it focuses on is testing but
populist<00:03:35.570><c> will</c><00:03:35.720><c> handle</c><00:03:35.990><c> all</c><00:03:36.110><c> of</c><00:03:36.140><c> your</c>

00:03:36.250 --> 00:03:36.260 align:start position:0%
populist will handle all of your
 

00:03:36.260 --> 00:03:40.360 align:start position:0%
populist will handle all of your
compilation<00:03:36.890><c> and</c><00:03:36.980><c> deployment</c><00:03:37.310><c> for</c><00:03:37.700><c> you</c><00:03:39.370><c> which</c>

00:03:40.360 --> 00:03:40.370 align:start position:0%
compilation and deployment for you which
 

00:03:40.370 --> 00:03:42.460 align:start position:0%
compilation and deployment for you which
means<00:03:40.550><c> finding</c><00:03:41.240><c> all</c><00:03:41.540><c> of</c><00:03:41.660><c> your</c><00:03:41.810><c> contracts</c>

00:03:42.460 --> 00:03:42.470 align:start position:0%
means finding all of your contracts
 

00:03:42.470 --> 00:03:44.200 align:start position:0%
means finding all of your contracts
scraping<00:03:42.890><c> them</c><00:03:43.040><c> all</c><00:03:43.160><c> up</c><00:03:43.370><c> feeding</c><00:03:43.730><c> them</c><00:03:44.000><c> into</c>

00:03:44.200 --> 00:03:44.210 align:start position:0%
scraping them all up feeding them into
 

00:03:44.210 --> 00:03:46.360 align:start position:0%
scraping them all up feeding them into
the<00:03:44.330><c> solidity</c><00:03:44.660><c> compiler</c><00:03:45.320><c> and</c><00:03:45.560><c> giving</c><00:03:46.220><c> you</c><00:03:46.280><c> the</c>

00:03:46.360 --> 00:03:46.370 align:start position:0%
the solidity compiler and giving you the
 

00:03:46.370 --> 00:03:49.480 align:start position:0%
the solidity compiler and giving you the
results<00:03:46.790><c> same</c><00:03:47.000><c> with</c><00:03:47.150><c> deployment</c><00:03:48.490><c> deploying</c>

00:03:49.480 --> 00:03:49.490 align:start position:0%
results same with deployment deploying
 

00:03:49.490 --> 00:03:51.340 align:start position:0%
results same with deployment deploying
those<00:03:49.880><c> and</c><00:03:50.300><c> then</c><00:03:50.510><c> recording</c><00:03:51.140><c> those</c>

00:03:51.340 --> 00:03:51.350 align:start position:0%
those and then recording those
 

00:03:51.350 --> 00:03:53.140 align:start position:0%
those and then recording those
deployments<00:03:51.710><c> so</c><00:03:52.130><c> that</c><00:03:52.310><c> for</c><00:03:52.610><c> future</c>

00:03:53.140 --> 00:03:53.150 align:start position:0%
deployments so that for future
 

00:03:53.150 --> 00:03:54.760 align:start position:0%
deployments so that for future
deployments<00:03:53.780><c> you</c><00:03:53.870><c> can</c><00:03:54.020><c> still</c><00:03:54.230><c> reference</c><00:03:54.560><c> old</c>

00:03:54.760 --> 00:03:54.770 align:start position:0%
deployments you can still reference old
 

00:03:54.770 --> 00:03:56.740 align:start position:0%
deployments you can still reference old
deployments<00:03:55.340><c> things</c><00:03:55.520><c> like</c><00:03:55.670><c> that</c>

00:03:56.740 --> 00:03:56.750 align:start position:0%
deployments things like that
 

00:03:56.750 --> 00:03:59.080 align:start position:0%
deployments things like that
it<00:03:57.320><c> handles</c><00:03:57.890><c> library</c><00:03:58.370><c> linking</c><00:03:58.730><c> so</c><00:03:58.880><c> when</c><00:03:59.000><c> you</c>

00:03:59.080 --> 00:03:59.090 align:start position:0%
it handles library linking so when you
 

00:03:59.090 --> 00:04:00.610 align:start position:0%
it handles library linking so when you
use<00:03:59.240><c> libraries</c><00:03:59.870><c> you</c><00:04:00.050><c> end</c><00:04:00.200><c> up</c><00:04:00.290><c> with</c><00:04:00.440><c> something</c>

00:04:00.610 --> 00:04:00.620 align:start position:0%
use libraries you end up with something
 

00:04:00.620 --> 00:04:02.350 align:start position:0%
use libraries you end up with something
like<00:04:00.830><c> this</c><00:04:01.130><c> in</c><00:04:01.370><c> your</c><00:04:01.400><c> bytecode</c><00:04:01.940><c> you</c><00:04:02.120><c> see</c><00:04:02.240><c> that</c>

00:04:02.350 --> 00:04:02.360 align:start position:0%
like this in your bytecode you see that
 

00:04:02.360 --> 00:04:03.850 align:start position:0%
like this in your bytecode you see that
thing<00:04:02.510><c> at</c><00:04:02.630><c> the</c><00:04:02.660><c> bottom</c><00:04:03.050><c> there</c><00:04:03.260><c> and</c><00:04:03.650><c> that's</c><00:04:03.770><c> a</c>

00:04:03.850 --> 00:04:03.860 align:start position:0%
thing at the bottom there and that's a
 

00:04:03.860 --> 00:04:06.250 align:start position:0%
thing at the bottom there and that's a
placeholder<00:04:04.190><c> and</c><00:04:04.790><c> what</c><00:04:05.270><c> needs</c><00:04:05.570><c> to</c><00:04:05.720><c> go</c><00:04:05.990><c> there</c>

00:04:06.250 --> 00:04:06.260 align:start position:0%
placeholder and what needs to go there
 

00:04:06.260 --> 00:04:08.140 align:start position:0%
placeholder and what needs to go there
is<00:04:06.410><c> the</c><00:04:06.530><c> actual</c><00:04:06.890><c> address</c><00:04:07.400><c> of</c><00:04:07.550><c> the</c><00:04:07.700><c> deployed</c>

00:04:08.140 --> 00:04:08.150 align:start position:0%
is the actual address of the deployed
 

00:04:08.150 --> 00:04:11.680 align:start position:0%
is the actual address of the deployed
version<00:04:08.570><c> of</c><00:04:08.930><c> that</c><00:04:09.050><c> greeter</c><00:04:09.500><c> library</c><00:04:10.220><c> and</c><00:04:11.210><c> this</c>

00:04:11.680 --> 00:04:11.690 align:start position:0%
version of that greeter library and this
 

00:04:11.690 --> 00:04:14.530 align:start position:0%
version of that greeter library and this
stuff<00:04:11.960><c> is</c><00:04:12.140><c> is</c><00:04:12.530><c> you</c><00:04:13.460><c> need</c><00:04:13.760><c> to</c><00:04:13.850><c> get</c><00:04:13.970><c> it</c><00:04:14.060><c> right</c><00:04:14.270><c> and</c>

00:04:14.530 --> 00:04:14.540 align:start position:0%
stuff is is you need to get it right and
 

00:04:14.540 --> 00:04:16.539 align:start position:0%
stuff is is you need to get it right and
populist<00:04:14.960><c> just</c><00:04:15.200><c> automates</c><00:04:15.650><c> and</c><00:04:15.860><c> does</c><00:04:16.010><c> all</c><00:04:16.220><c> of</c>

00:04:16.539 --> 00:04:16.549 align:start position:0%
populist just automates and does all of
 

00:04:16.549 --> 00:04:20.260 align:start position:0%
populist just automates and does all of
this<00:04:16.850><c> sort</c><00:04:17.150><c> of</c><00:04:17.210><c> stuff</c><00:04:17.450><c> for</c><00:04:17.690><c> you</c><00:04:18.760><c> and</c><00:04:19.760><c> package</c>

00:04:20.260 --> 00:04:20.270 align:start position:0%
this sort of stuff for you and package
 

00:04:20.270 --> 00:04:22.480 align:start position:0%
this sort of stuff for you and package
management<00:04:20.600><c> we</c><00:04:21.230><c> have</c><00:04:21.350><c> this</c><00:04:21.530><c> sort</c><00:04:21.950><c> of</c><00:04:22.040><c> unmerged</c>

00:04:22.480 --> 00:04:22.490 align:start position:0%
management we have this sort of unmerged
 

00:04:22.490 --> 00:04:25.270 align:start position:0%
management we have this sort of unmerged
branch<00:04:22.970><c> that</c><00:04:23.210><c> has</c><00:04:23.360><c> all</c><00:04:23.600><c> of</c><00:04:23.630><c> the</c><00:04:24.020><c> ERC</c><00:04:24.350><c> 190</c>

00:04:25.270 --> 00:04:25.280 align:start position:0%
branch that has all of the ERC 190
 

00:04:25.280 --> 00:04:27.520 align:start position:0%
branch that has all of the ERC 190
management's<00:04:25.850><c> stuff</c><00:04:26.030><c> in</c><00:04:26.180><c> it</c><00:04:26.300><c> it</c><00:04:26.780><c> is</c><00:04:27.170><c> a</c><00:04:27.200><c> high</c>

00:04:27.520 --> 00:04:27.530 align:start position:0%
management's stuff in it it is a high
 

00:04:27.530 --> 00:04:29.080 align:start position:0%
management's stuff in it it is a high
priority<00:04:27.830><c> for</c><00:04:28.160><c> us</c><00:04:28.340><c> to</c><00:04:28.490><c> get</c><00:04:28.610><c> this</c><00:04:28.730><c> stuff</c><00:04:28.970><c> in</c>

00:04:29.080 --> 00:04:29.090 align:start position:0%
priority for us to get this stuff in
 

00:04:29.090 --> 00:04:32.320 align:start position:0%
priority for us to get this stuff in
real<00:04:29.120><c> soon</c><00:04:29.630><c> and</c><00:04:30.220><c> well</c><00:04:31.220><c> package</c><00:04:31.790><c> management's</c>

00:04:32.320 --> 00:04:32.330 align:start position:0%
real soon and well package management's
 

00:04:32.330 --> 00:04:35.440 align:start position:0%
real soon and well package management's
a<00:04:32.360><c> big</c><00:04:32.510><c> deal</c><00:04:33.100><c> alright</c><00:04:34.100><c> there's</c><00:04:34.760><c> also</c><00:04:34.940><c> a</c><00:04:35.060><c> bunch</c>

00:04:35.440 --> 00:04:35.450 align:start position:0%
a big deal alright there's also a bunch
 

00:04:35.450 --> 00:04:37.810 align:start position:0%
a big deal alright there's also a bunch
of<00:04:35.630><c> other</c><00:04:35.780><c> tools</c><00:04:36.050><c> there's</c><00:04:36.950><c> a</c><00:04:37.070><c> youth</c><00:04:37.220><c> a</c><00:04:37.430><c> theorem</c>

00:04:37.810 --> 00:04:37.820 align:start position:0%
of other tools there's a youth a theorem
 

00:04:37.820 --> 00:04:39.400 align:start position:0%
of other tools there's a youth a theorem
utils<00:04:38.180><c> library</c><00:04:38.300><c> that</c><00:04:38.900><c> has</c><00:04:39.050><c> a</c><00:04:39.080><c> bunch</c><00:04:39.320><c> of</c>

00:04:39.400 --> 00:04:39.410 align:start position:0%
utils library that has a bunch of
 

00:04:39.410 --> 00:04:41.500 align:start position:0%
utils library that has a bunch of
low-level<00:04:39.919><c> stuff</c><00:04:40.220><c> that's</c><00:04:40.610><c> just</c><00:04:40.669><c> functional</c>

00:04:41.500 --> 00:04:41.510 align:start position:0%
low-level stuff that's just functional
 

00:04:41.510 --> 00:04:43.270 align:start position:0%
low-level stuff that's just functional
functions<00:04:42.080><c> that</c><00:04:42.380><c> you</c><00:04:42.500><c> can</c><00:04:42.530><c> use</c><00:04:42.830><c> that</c><00:04:43.040><c> do</c><00:04:43.160><c> all</c>

00:04:43.270 --> 00:04:43.280 align:start position:0%
functions that you can use that do all
 

00:04:43.280 --> 00:04:46.600 align:start position:0%
functions that you can use that do all
kinds<00:04:43.580><c> of</c><00:04:44.260><c> nice</c><00:04:45.260><c> convenient</c><00:04:46.010><c> useful</c><00:04:46.370><c> things</c>

00:04:46.600 --> 00:04:46.610 align:start position:0%
kinds of nice convenient useful things
 

00:04:46.610 --> 00:04:49.870 align:start position:0%
kinds of nice convenient useful things
that<00:04:46.880><c> are</c><00:04:47.260><c> that</c><00:04:48.260><c> that</c><00:04:48.590><c> prop</c><00:04:49.040><c> up</c><00:04:49.220><c> commonly</c><00:04:49.700><c> when</c>

00:04:49.870 --> 00:04:49.880 align:start position:0%
that are that that prop up commonly when
 

00:04:49.880 --> 00:04:51.550 align:start position:0%
that are that that prop up commonly when
you're<00:04:50.000><c> doing</c><00:04:50.150><c> ether</c><00:04:50.360><c> name</c><00:04:50.510><c> development</c><00:04:50.990><c> we</c>

00:04:51.550 --> 00:04:51.560 align:start position:0%
you're doing ether name development we
 

00:04:51.560 --> 00:04:53.290 align:start position:0%
you're doing ether name development we
have<00:04:51.650><c> an</c><00:04:51.740><c> ABI</c><00:04:51.980><c> utils</c><00:04:52.430><c> library</c><00:04:52.520><c> that</c><00:04:53.000><c> does</c><00:04:53.150><c> all</c>

00:04:53.290 --> 00:04:53.300 align:start position:0%
have an ABI utils library that does all
 

00:04:53.300 --> 00:04:55.120 align:start position:0%
have an ABI utils library that does all
the<00:04:53.419><c> ABI</c><00:04:53.690><c> encoding</c><00:04:54.230><c> and</c><00:04:54.320><c> decoding</c><00:04:54.470><c> so</c><00:04:54.980><c> if</c><00:04:55.040><c> you</c>

00:04:55.120 --> 00:04:55.130 align:start position:0%
the ABI encoding and decoding so if you
 

00:04:55.130 --> 00:04:56.590 align:start position:0%
the ABI encoding and decoding so if you
need<00:04:55.280><c> to</c><00:04:55.340><c> do</c><00:04:55.430><c> low-level</c><00:04:55.910><c> stuff</c><00:04:56.180><c> you</c><00:04:56.510><c> know</c>

00:04:56.590 --> 00:04:56.600 align:start position:0%
need to do low-level stuff you know
 

00:04:56.600 --> 00:04:58.240 align:start position:0%
need to do low-level stuff you know
pulling<00:04:56.840><c> old</c><00:04:57.050><c> transactions</c><00:04:57.740><c> seeing</c><00:04:58.100><c> what</c>

00:04:58.240 --> 00:04:58.250 align:start position:0%
pulling old transactions seeing what
 

00:04:58.250 --> 00:05:00.220 align:start position:0%
pulling old transactions seeing what
data<00:04:58.430><c> they</c><00:04:58.640><c> sent</c><00:04:58.880><c> stuff</c><00:04:59.150><c> like</c><00:04:59.300><c> that</c><00:04:59.510><c> you</c><00:05:00.080><c> can</c>

00:05:00.220 --> 00:05:00.230 align:start position:0%
data they sent stuff like that you can
 

00:05:00.230 --> 00:05:02.920 align:start position:0%
data they sent stuff like that you can
do<00:05:00.320><c> that</c><00:05:00.550><c> we</c><00:05:01.550><c> have</c><00:05:01.669><c> a</c><00:05:01.700><c> Keyes</c><00:05:02.180><c> library</c><00:05:02.750><c> that</c>

00:05:02.920 --> 00:05:02.930 align:start position:0%
do that we have a Keyes library that
 

00:05:02.930 --> 00:05:04.870 align:start position:0%
do that we have a Keyes library that
handles<00:05:03.140><c> the</c><00:05:03.730><c> elliptical</c><00:05:04.730><c> curve</c>

00:05:04.870 --> 00:05:04.880 align:start position:0%
handles the elliptical curve
 

00:05:04.880 --> 00:05:06.730 align:start position:0%
handles the elliptical curve
cryptography<00:05:05.120><c> stuff</c><00:05:05.930><c> for</c><00:05:06.200><c> you</c><00:05:06.380><c> so</c><00:05:06.560><c> if</c><00:05:06.620><c> you</c>

00:05:06.730 --> 00:05:06.740 align:start position:0%
cryptography stuff for you so if you
 

00:05:06.740 --> 00:05:09.220 align:start position:0%
cryptography stuff for you so if you
want<00:05:06.770><c> to</c><00:05:06.950><c> do</c><00:05:07.360><c> low-level</c><00:05:08.360><c> message</c><00:05:08.810><c> signing</c>

00:05:09.220 --> 00:05:09.230 align:start position:0%
want to do low-level message signing
 

00:05:09.230 --> 00:05:10.960 align:start position:0%
want to do low-level message signing
things<00:05:09.470><c> like</c><00:05:09.650><c> that</c><00:05:09.890><c> it</c><00:05:10.340><c> has</c><00:05:10.460><c> a</c><00:05:10.490><c> native</c><00:05:10.700><c> Python</c>

00:05:10.960 --> 00:05:10.970 align:start position:0%
things like that it has a native Python
 

00:05:10.970 --> 00:05:12.940 align:start position:0%
things like that it has a native Python
implementation<00:05:11.330><c> it'll</c><00:05:12.169><c> also</c><00:05:12.440><c> detect</c><00:05:12.830><c> the</c>

00:05:12.940 --> 00:05:12.950 align:start position:0%
implementation it'll also detect the
 

00:05:12.950 --> 00:05:14.890 align:start position:0%
implementation it'll also detect the
coin<00:05:13.130><c> curve</c><00:05:13.430><c> is</c><00:05:13.610><c> installed</c><00:05:14.030><c> and</c><00:05:14.419><c> use</c><00:05:14.660><c> coin</c>

00:05:14.890 --> 00:05:14.900 align:start position:0%
coin curve is installed and use coin
 

00:05:14.900 --> 00:05:18.430 align:start position:0%
coin curve is installed and use coin
curve<00:05:15.140><c> which</c><00:05:15.320><c> is</c><00:05:15.350><c> much</c><00:05:15.590><c> faster</c><00:05:17.050><c> and</c><00:05:18.050><c> it</c><00:05:18.320><c> has</c><00:05:18.410><c> a</c>

00:05:18.430 --> 00:05:18.440 align:start position:0%
curve which is much faster and it has a
 

00:05:18.440 --> 00:05:19.810 align:start position:0%
curve which is much faster and it has a
back-end<00:05:18.680><c> system</c><00:05:19.010><c> so</c><00:05:19.340><c> if</c><00:05:19.430><c> you</c><00:05:19.550><c> have</c><00:05:19.640><c> some</c>

00:05:19.810 --> 00:05:19.820 align:start position:0%
back-end system so if you have some
 

00:05:19.820 --> 00:05:21.610 align:start position:0%
back-end system so if you have some
other<00:05:19.970><c> implementation</c><00:05:20.720><c> of</c><00:05:20.810><c> ECC</c><00:05:21.229><c> that</c><00:05:21.470><c> you</c>

00:05:21.610 --> 00:05:21.620 align:start position:0%
other implementation of ECC that you
 

00:05:21.620 --> 00:05:24.670 align:start position:0%
other implementation of ECC that you
want<00:05:22.040><c> to</c><00:05:22.130><c> use</c><00:05:22.280><c> you</c><00:05:22.520><c> can</c><00:05:22.580><c> plug</c><00:05:22.940><c> it</c><00:05:23.060><c> right</c><00:05:23.180><c> in</c><00:05:23.680><c> you</c>

00:05:24.670 --> 00:05:24.680 align:start position:0%
want to use you can plug it right in you
 

00:05:24.680 --> 00:05:26.770 align:start position:0%
want to use you can plug it right in you
thin<00:05:24.830><c> room</c><00:05:24.950><c> key</c><00:05:25.100><c> file</c><00:05:25.370><c> loading</c><00:05:25.970><c> key</c><00:05:26.210><c> files</c><00:05:26.479><c> off</c>

00:05:26.770 --> 00:05:26.780 align:start position:0%
thin room key file loading key files off
 

00:05:26.780 --> 00:05:28.750 align:start position:0%
thin room key file loading key files off
disk<00:05:27.050><c> generating</c><00:05:27.770><c> key</c><00:05:27.950><c> files</c><00:05:28.160><c> from</c><00:05:28.400><c> private</c>

00:05:28.750 --> 00:05:28.760 align:start position:0%
disk generating key files from private
 

00:05:28.760 --> 00:05:31.690 align:start position:0%
disk generating key files from private
keys<00:05:29.680><c> key</c><00:05:30.680><c> stretching</c><00:05:30.979><c> that</c><00:05:31.250><c> sort</c><00:05:31.490><c> of</c><00:05:31.520><c> thing</c>

00:05:31.690 --> 00:05:31.700 align:start position:0%
keys key stretching that sort of thing
 

00:05:31.700 --> 00:05:33.580 align:start position:0%
keys key stretching that sort of thing
it's<00:05:31.850><c> all</c><00:05:31.970><c> handled</c><00:05:32.330><c> for</c><00:05:32.450><c> you</c><00:05:32.510><c> we</c><00:05:33.320><c> have</c><00:05:33.410><c> this</c>

00:05:33.580 --> 00:05:33.590 align:start position:0%
it's all handled for you we have this
 

00:05:33.590 --> 00:05:35.260 align:start position:0%
it's all handled for you we have this
library<00:05:34.100><c> called</c><00:05:34.250><c> PI</c><00:05:34.370><c> soul</c><00:05:34.610><c> C</c><00:05:34.820><c> which</c><00:05:35.090><c> is</c><00:05:35.240><c> a</c>

00:05:35.260 --> 00:05:35.270 align:start position:0%
library called PI soul C which is a
 

00:05:35.270 --> 00:05:38.040 align:start position:0%
library called PI soul C which is a
wrapper<00:05:35.570><c> around</c><00:05:35.900><c> the</c><00:05:36.500><c> solidity</c><00:05:36.860><c> compiler</c>

00:05:38.040 --> 00:05:38.050 align:start position:0%
wrapper around the solidity compiler
 

00:05:38.050 --> 00:05:40.000 align:start position:0%
wrapper around the solidity compiler
which<00:05:39.050><c> is</c><00:05:39.200><c> nice</c><00:05:39.380><c> because</c><00:05:39.530><c> you</c><00:05:39.650><c> can</c><00:05:39.890><c> do</c>

00:05:40.000 --> 00:05:40.010 align:start position:0%
which is nice because you can do
 

00:05:40.010 --> 00:05:41.830 align:start position:0%
which is nice because you can do
compilation<00:05:40.669><c> from</c><00:05:40.880><c> your</c><00:05:41.060><c> Python</c><00:05:41.390><c> code</c><00:05:41.630><c> you</c>

00:05:41.830 --> 00:05:41.840 align:start position:0%
compilation from your Python code you
 

00:05:41.840 --> 00:05:44.350 align:start position:0%
compilation from your Python code you
know<00:05:41.960><c> feet</c><00:05:42.169><c> in</c><00:05:42.370><c> feet</c><00:05:43.370><c> in</c><00:05:43.490><c> just</c><00:05:43.610><c> the</c><00:05:43.820><c> sources</c>

00:05:44.350 --> 00:05:44.360 align:start position:0%
know feet in feet in just the sources
 

00:05:44.360 --> 00:05:46.450 align:start position:0%
know feet in feet in just the sources
text<00:05:44.780><c> or</c><00:05:44.960><c> reference</c><00:05:45.470><c> some</c><00:05:45.650><c> files</c><00:05:46.010><c> and</c><00:05:46.370><c> just</c>

00:05:46.450 --> 00:05:46.460 align:start position:0%
text or reference some files and just
 

00:05:46.460 --> 00:05:48.159 align:start position:0%
text or reference some files and just
compilation<00:05:47.240><c> but</c><00:05:47.660><c> the</c><00:05:47.720><c> thing</c><00:05:47.870><c> that's</c><00:05:48.020><c> really</c>

00:05:48.159 --> 00:05:48.169 align:start position:0%
compilation but the thing that's really
 

00:05:48.169 --> 00:05:50.350 align:start position:0%
compilation but the thing that's really
great<00:05:48.500><c> here</c><00:05:48.770><c> is</c><00:05:48.950><c> that</c><00:05:49.190><c> we</c><00:05:49.820><c> have</c><00:05:49.910><c> automation</c>

00:05:50.350 --> 00:05:50.360 align:start position:0%
great here is that we have automation
 

00:05:50.360 --> 00:05:52.930 align:start position:0%
great here is that we have automation
built<00:05:50.720><c> into</c><00:05:50.990><c> it</c><00:05:51.110><c> for</c><00:05:51.320><c> installing</c><00:05:51.940><c> specific</c>

00:05:52.930 --> 00:05:52.940 align:start position:0%
built into it for installing specific
 

00:05:52.940 --> 00:05:55.360 align:start position:0%
built into it for installing specific
versions<00:05:53.270><c> of</c><00:05:53.419><c> solidity</c><00:05:53.810><c> from</c><00:05:54.080><c> source</c><00:05:54.380><c> so</c><00:05:55.070><c> if</c>

00:05:55.360 --> 00:05:55.370 align:start position:0%
versions of solidity from source so if
 

00:05:55.370 --> 00:05:57.040 align:start position:0%
versions of solidity from source so if
you<00:05:55.460><c> have</c><00:05:55.580><c> a</c><00:05:55.610><c> CI</c><00:05:55.850><c> environment</c><00:05:56.570><c> and</c><00:05:56.780><c> you</c><00:05:56.870><c> want</c>

00:05:57.040 --> 00:05:57.050 align:start position:0%
you have a CI environment and you want
 

00:05:57.050 --> 00:05:58.810 align:start position:0%
you have a CI environment and you want
to<00:05:57.110><c> run</c><00:05:57.289><c> your</c><00:05:57.440><c> stuff</c><00:05:57.710><c> in</c><00:05:57.860><c> Travis</c><00:05:58.340><c> and</c><00:05:58.610><c> you</c><00:05:58.669><c> want</c>

00:05:58.810 --> 00:05:58.820 align:start position:0%
to run your stuff in Travis and you want
 

00:05:58.820 --> 00:06:00.310 align:start position:0%
to run your stuff in Travis and you want
to<00:05:58.880><c> run</c><00:05:58.970><c> it</c><00:05:59.060><c> against</c><00:05:59.270><c> a</c><00:05:59.390><c> specific</c><00:05:59.600><c> solidity</c>

00:06:00.310 --> 00:06:00.320 align:start position:0%
to run it against a specific solidity
 

00:06:00.320 --> 00:06:02.830 align:start position:0%
to run it against a specific solidity
version<00:06:00.740><c> this</c><00:06:01.669><c> library</c><00:06:01.940><c> will</c><00:06:02.419><c> let</c><00:06:02.570><c> you</c><00:06:02.690><c> do</c>

00:06:02.830 --> 00:06:02.840 align:start position:0%
version this library will let you do
 

00:06:02.840 --> 00:06:04.870 align:start position:0%
version this library will let you do
that<00:06:02.990><c> right</c><00:06:03.229><c> off</c><00:06:03.380><c> the</c><00:06:03.530><c> bat</c><00:06:03.770><c> we</c><00:06:04.010><c> zaardon</c><00:06:04.370><c> almost</c>

00:06:04.870 --> 00:06:04.880 align:start position:0%
that right off the bat we zaardon almost
 

00:06:04.880 --> 00:06:06.219 align:start position:0%
that right off the bat we zaardon almost
all<00:06:05.030><c> of</c><00:06:05.150><c> our</c><00:06:05.270><c> other</c><00:06:05.360><c> repos</c><00:06:05.810><c> that</c><00:06:05.840><c> need</c>

00:06:06.219 --> 00:06:06.229 align:start position:0%
all of our other repos that need
 

00:06:06.229 --> 00:06:08.140 align:start position:0%
all of our other repos that need
solidity<00:06:06.650><c> and</c><00:06:06.919><c> it</c><00:06:07.400><c> lets</c><00:06:07.580><c> us</c><00:06:07.700><c> test</c><00:06:07.850><c> against</c>

00:06:08.140 --> 00:06:08.150 align:start position:0%
solidity and it lets us test against
 

00:06:08.150 --> 00:06:11.140 align:start position:0%
solidity and it lets us test against
specific<00:06:08.600><c> versions</c><00:06:08.930><c> of</c><00:06:09.080><c> solidity</c><00:06:10.150><c> aetherium</c>

00:06:11.140 --> 00:06:11.150 align:start position:0%
specific versions of solidity aetherium
 

00:06:11.150 --> 00:06:12.940 align:start position:0%
specific versions of solidity aetherium
tester<00:06:11.539><c> is</c><00:06:11.780><c> a</c><00:06:11.810><c> library</c><00:06:12.560><c> that</c><00:06:12.590><c> we've</c><00:06:12.800><c> been</c>

00:06:12.940 --> 00:06:12.950 align:start position:0%
tester is a library that we've been
 

00:06:12.950 --> 00:06:15.990 align:start position:0%
tester is a library that we've been
working<00:06:13.310><c> on</c><00:06:13.460><c> it's</c><00:06:13.820><c> a</c><00:06:14.060><c> sort</c><00:06:14.390><c> of</c><00:06:14.530><c> wrapper</c><00:06:15.530><c> around</c>

00:06:15.990 --> 00:06:16.000 align:start position:0%
working on it's a sort of wrapper around
 

00:06:16.000 --> 00:06:18.700 align:start position:0%
working on it's a sort of wrapper around
using<00:06:17.000><c> test</c><00:06:17.270><c> block</c><00:06:17.510><c> chains</c><00:06:17.810><c> so</c><00:06:18.229><c> right</c><00:06:18.440><c> now</c><00:06:18.560><c> it</c>

00:06:18.700 --> 00:06:18.710 align:start position:0%
using test block chains so right now it
 

00:06:18.710 --> 00:06:20.920 align:start position:0%
using test block chains so right now it
supports<00:06:19.160><c> the</c><00:06:19.250><c> PI</c><00:06:20.150><c> II</c><00:06:20.180><c> theory</c><00:06:20.510><c> and</c><00:06:20.690><c> blockchain</c>

00:06:20.920 --> 00:06:20.930 align:start position:0%
supports the PI II theory and blockchain
 

00:06:20.930 --> 00:06:23.469 align:start position:0%
supports the PI II theory and blockchain
but<00:06:21.500><c> sort</c><00:06:21.710><c> of</c><00:06:21.740><c> an</c><00:06:21.860><c> older</c><00:06:22.160><c> version</c><00:06:22.340><c> of</c><00:06:22.580><c> it</c><00:06:22.729><c> we're</c>

00:06:23.469 --> 00:06:23.479 align:start position:0%
but sort of an older version of it we're
 

00:06:23.479 --> 00:06:26.610 align:start position:0%
but sort of an older version of it we're
working<00:06:23.900><c> on</c><00:06:24.280><c> more</c><00:06:25.280><c> backends</c><00:06:25.970><c> for</c><00:06:26.000><c> more</c>

00:06:26.610 --> 00:06:26.620 align:start position:0%
working on more backends for more
 

00:06:26.620 --> 00:06:30.370 align:start position:0%
working on more backends for more
options<00:06:27.620><c> for</c><00:06:27.740><c> testing</c><00:06:28.600><c> specifically</c><00:06:29.600><c> PI</c><00:06:29.960><c> EVM</c>

00:06:30.370 --> 00:06:30.380 align:start position:0%
options for testing specifically PI EVM
 

00:06:30.380 --> 00:06:32.680 align:start position:0%
options for testing specifically PI EVM
is<00:06:30.590><c> the</c><00:06:30.800><c> one</c><00:06:30.950><c> that</c><00:06:31.039><c> we're</c><00:06:31.160><c> focusing</c><00:06:31.550><c> on</c><00:06:31.669><c> and</c><00:06:31.970><c> it</c>

00:06:32.680 --> 00:06:32.690 align:start position:0%
is the one that we're focusing on and it
 

00:06:32.690 --> 00:06:34.659 align:start position:0%
is the one that we're focusing on and it
has<00:06:32.840><c> really</c><00:06:33.050><c> nice</c><00:06:33.229><c> web</c><00:06:33.470><c> 3</c><00:06:33.710><c> integration</c><00:06:34.250><c> so</c><00:06:34.430><c> if</c>

00:06:34.659 --> 00:06:34.669 align:start position:0%
has really nice web 3 integration so if
 

00:06:34.669 --> 00:06:36.190 align:start position:0%
has really nice web 3 integration so if
you're<00:06:34.820><c> using</c><00:06:35.000><c> web</c><00:06:35.240><c> 3</c><00:06:35.419><c> py</c><00:06:35.750><c> in</c><00:06:36.080><c> your</c>

00:06:36.190 --> 00:06:36.200 align:start position:0%
you're using web 3 py in your
 

00:06:36.200 --> 00:06:38.600 align:start position:0%
you're using web 3 py in your
application<00:06:36.770><c> and</c><00:06:37.010><c> you</c><00:06:37.400><c> want</c><00:06:37.610><c> to</c><00:06:37.760><c> test</c><00:06:38.060><c> again</c>

00:06:38.600 --> 00:06:38.610 align:start position:0%
application and you want to test again
 

00:06:38.610 --> 00:06:40.700 align:start position:0%
application and you want to test again
blockchain<00:06:39.270><c> all</c><00:06:39.810><c> you</c><00:06:39.990><c> have</c><00:06:40.110><c> to</c><00:06:40.199><c> do</c><00:06:40.319><c> is</c><00:06:40.439><c> swap</c>

00:06:40.700 --> 00:06:40.710 align:start position:0%
blockchain all you have to do is swap
 

00:06:40.710 --> 00:06:42.499 align:start position:0%
blockchain all you have to do is swap
out<00:06:40.889><c> the</c><00:06:41.009><c> provider</c><00:06:41.430><c> rather</c><00:06:41.789><c> than</c><00:06:42.090><c> changing</c><00:06:42.449><c> a</c>

00:06:42.499 --> 00:06:42.509 align:start position:0%
out the provider rather than changing a
 

00:06:42.509 --> 00:06:44.390 align:start position:0%
out the provider rather than changing a
bunch<00:06:42.689><c> of</c><00:06:42.750><c> your</c><00:06:42.900><c> code</c><00:06:43.110><c> and</c><00:06:43.409><c> you</c><00:06:43.770><c> can</c><00:06:43.800><c> test</c><00:06:44.159><c> and</c>

00:06:44.390 --> 00:06:44.400 align:start position:0%
bunch of your code and you can test and
 

00:06:44.400 --> 00:06:46.279 align:start position:0%
bunch of your code and you can test and
you<00:06:44.759><c> can</c><00:06:44.879><c> run</c><00:06:45.060><c> your</c><00:06:45.090><c> application</c><00:06:45.719><c> against</c><00:06:46.139><c> a</c>

00:06:46.279 --> 00:06:46.289 align:start position:0%
you can run your application against a
 

00:06:46.289 --> 00:06:49.610 align:start position:0%
you can run your application against a
test<00:06:46.560><c> bachi</c><00:06:47.030><c> blockchain</c><00:06:48.139><c> and</c><00:06:49.139><c> we've</c><00:06:49.469><c> got</c><00:06:49.590><c> a</c>

00:06:49.610 --> 00:06:49.620 align:start position:0%
test bachi blockchain and we've got a
 

00:06:49.620 --> 00:06:51.230 align:start position:0%
test bachi blockchain and we've got a
bunch<00:06:49.740><c> of</c><00:06:49.860><c> more</c><00:06:50.009><c> things</c><00:06:50.250><c> there's</c><00:06:50.699><c> this</c><00:06:50.819><c> pi</c><00:06:51.000><c> f</c>

00:06:51.230 --> 00:06:51.240 align:start position:0%
bunch of more things there's this pi f
 

00:06:51.240 --> 00:06:52.730 align:start position:0%
bunch of more things there's this pi f
library<00:06:51.689><c> that</c><00:06:51.900><c> has</c><00:06:52.080><c> some</c><00:06:52.199><c> nice</c><00:06:52.319><c> wrappers</c>

00:06:52.730 --> 00:06:52.740 align:start position:0%
library that has some nice wrappers
 

00:06:52.740 --> 00:06:55.100 align:start position:0%
library that has some nice wrappers
around<00:06:52.770><c> the</c><00:06:53.180><c> etherium</c><00:06:54.180><c> command</c><00:06:54.449><c> line</c><00:06:54.629><c> and</c>

00:06:55.100 --> 00:06:55.110 align:start position:0%
around the etherium command line and
 

00:06:55.110 --> 00:06:57.379 align:start position:0%
around the etherium command line and
implementation<00:06:55.919><c> of</c><00:06:56.009><c> the</c><00:06:56.099><c> of</c><00:06:56.789><c> the</c><00:06:57.060><c> patricia</c>

00:06:57.379 --> 00:06:57.389 align:start position:0%
implementation of the of the patricia
 

00:06:57.389 --> 00:06:59.300 align:start position:0%
implementation of the of the patricia
tree<00:06:57.750><c> and</c><00:06:58.169><c> implementation</c><00:06:58.979><c> of</c><00:06:59.069><c> the</c><00:06:59.129><c> bloom</c>

00:06:59.300 --> 00:06:59.310 align:start position:0%
tree and implementation of the bloom
 

00:06:59.310 --> 00:07:03.950 align:start position:0%
tree and implementation of the bloom
filter<00:07:00.110><c> lots</c><00:07:01.110><c> of</c><00:07:01.259><c> tools</c><00:07:01.759><c> wides</c><00:07:02.759><c> wide</c><00:07:03.569><c> array</c><00:07:03.930><c> of</c>

00:07:03.950 --> 00:07:03.960 align:start position:0%
filter lots of tools wides wide array of
 

00:07:03.960 --> 00:07:06.770 align:start position:0%
filter lots of tools wides wide array of
them<00:07:04.879><c> that</c><00:07:05.879><c> are</c><00:07:05.939><c> all</c><00:07:06.030><c> supported</c><00:07:06.599><c> where</c>

00:07:06.770 --> 00:07:06.780 align:start position:0%
them that are all supported where
 

00:07:06.780 --> 00:07:09.499 align:start position:0%
them that are all supported where
they're<00:07:07.020><c> all</c><00:07:07.139><c> actively</c><00:07:07.620><c> developed</c><00:07:08.069><c> and</c><00:07:08.509><c> you</c>

00:07:09.499 --> 00:07:09.509 align:start position:0%
they're all actively developed and you
 

00:07:09.509 --> 00:07:12.170 align:start position:0%
they're all actively developed and you
should<00:07:09.689><c> give</c><00:07:09.810><c> them</c><00:07:09.900><c> a</c><00:07:09.960><c> try</c><00:07:10.759><c> but</c><00:07:11.759><c> what</c><00:07:11.909><c> I</c><00:07:11.939><c> really</c>

00:07:12.170 --> 00:07:12.180 align:start position:0%
should give them a try but what I really
 

00:07:12.180 --> 00:07:15.260 align:start position:0%
should give them a try but what I really
want<00:07:12.300><c> to</c><00:07:12.330><c> talk</c><00:07:12.479><c> about</c><00:07:12.599><c> is</c><00:07:12.750><c> PI</c><00:07:12.900><c> EVM</c><00:07:13.430><c> PI</c><00:07:14.430><c> a</c><00:07:14.460><c> VM</c><00:07:14.849><c> is</c>

00:07:15.260 --> 00:07:15.270 align:start position:0%
want to talk about is PI EVM PI a VM is
 

00:07:15.270 --> 00:07:18.649 align:start position:0%
want to talk about is PI EVM PI a VM is
a<00:07:15.810><c> new</c><00:07:16.800><c> implementation</c><00:07:17.639><c> of</c><00:07:17.849><c> the</c><00:07:18.210><c> theory</c><00:07:18.569><c> and</c>

00:07:18.649 --> 00:07:18.659 align:start position:0%
a new implementation of the theory and
 

00:07:18.659 --> 00:07:20.899 align:start position:0%
a new implementation of the theory and
virtual<00:07:18.960><c> machine</c><00:07:19.229><c> in</c><00:07:19.319><c> Python</c><00:07:19.680><c> and</c><00:07:20.550><c> it</c><00:07:20.729><c> came</c>

00:07:20.899 --> 00:07:20.909 align:start position:0%
virtual machine in Python and it came
 

00:07:20.909 --> 00:07:22.570 align:start position:0%
virtual machine in Python and it came
about<00:07:21.060><c> sort</c><00:07:21.569><c> of</c><00:07:21.659><c> in</c><00:07:21.779><c> this</c><00:07:21.930><c> roundabout</c><00:07:22.289><c> way</c>

00:07:22.570 --> 00:07:22.580 align:start position:0%
about sort of in this roundabout way
 

00:07:22.580 --> 00:07:24.800 align:start position:0%
about sort of in this roundabout way
originally<00:07:23.580><c> there's</c><00:07:23.759><c> PI</c><00:07:23.969><c> e</c><00:07:24.000><c> theorem</c><00:07:24.509><c> and</c><00:07:24.629><c> PI</c><00:07:24.779><c> 3</c>

00:07:24.800 --> 00:07:24.810 align:start position:0%
originally there's PI e theorem and PI 3
 

00:07:24.810 --> 00:07:27.559 align:start position:0%
originally there's PI e theorem and PI 3
and<00:07:25.199><c> PI</c><00:07:25.409><c> EVM</c><00:07:25.889><c> are</c><00:07:26.039><c> not</c><00:07:26.250><c> the</c><00:07:26.460><c> same</c><00:07:26.610><c> thing</c>

00:07:27.559 --> 00:07:27.569 align:start position:0%
and PI EVM are not the same thing
 

00:07:27.569 --> 00:07:29.719 align:start position:0%
and PI EVM are not the same thing
pi<00:07:27.930><c> e</c><00:07:27.960><c> theorem</c><00:07:28.349><c> is</c><00:07:28.590><c> a</c><00:07:28.620><c> library</c><00:07:29.400><c> that's</c><00:07:29.580><c> been</c>

00:07:29.719 --> 00:07:29.729 align:start position:0%
pi e theorem is a library that's been
 

00:07:29.729 --> 00:07:32.779 align:start position:0%
pi e theorem is a library that's been
around<00:07:29.819><c> since</c><00:07:30.240><c> the</c><00:07:30.509><c> since</c><00:07:31.110><c> for</c><00:07:31.560><c> well</c><00:07:31.860><c> as</c><00:07:32.610><c> long</c>

00:07:32.779 --> 00:07:32.789 align:start position:0%
around since the since for well as long
 

00:07:32.789 --> 00:07:34.580 align:start position:0%
around since the since for well as long
as<00:07:32.909><c> I</c><00:07:32.969><c> can</c><00:07:33.090><c> remember</c><00:07:33.150><c> I</c><00:07:33.599><c> was</c><00:07:34.199><c> written</c><00:07:34.379><c> by</c><00:07:34.529><c> the</c>

00:07:34.580 --> 00:07:34.590 align:start position:0%
as I can remember I was written by the
 

00:07:34.590 --> 00:07:37.219 align:start position:0%
as I can remember I was written by the
talaq<00:07:35.069><c> it's</c><00:07:35.849><c> a</c><00:07:36.060><c> library</c><00:07:36.509><c> dependency</c><00:07:36.990><c> and</c><00:07:37.169><c> a</c>

00:07:37.219 --> 00:07:37.229 align:start position:0%
talaq it's a library dependency and a
 

00:07:37.229 --> 00:07:40.219 align:start position:0%
talaq it's a library dependency and a
ton<00:07:37.439><c> of</c><00:07:37.469><c> our</c><00:07:37.680><c> code</c><00:07:37.860><c> bases</c><00:07:38.240><c> and</c><00:07:39.240><c> it</c><00:07:39.659><c> is</c><00:07:39.930><c> used</c>

00:07:40.219 --> 00:07:40.229 align:start position:0%
ton of our code bases and it is used
 

00:07:40.229 --> 00:07:42.080 align:start position:0%
ton of our code bases and it is used
heavily<00:07:40.500><c> right</c><00:07:40.830><c> now</c><00:07:40.979><c> by</c><00:07:41.159><c> the</c><00:07:41.219><c> by</c><00:07:41.550><c> the</c><00:07:41.610><c> Kasper</c>

00:07:42.080 --> 00:07:42.090 align:start position:0%
heavily right now by the by the Kasper
 

00:07:42.090 --> 00:07:44.540 align:start position:0%
heavily right now by the by the Kasper
research<00:07:42.360><c> team</c><00:07:42.740><c> Python</c><00:07:43.740><c> is</c><00:07:43.860><c> a</c><00:07:43.889><c> great</c><00:07:44.159><c> research</c>

00:07:44.540 --> 00:07:44.550 align:start position:0%
research team Python is a great research
 

00:07:44.550 --> 00:07:46.670 align:start position:0%
research team Python is a great research
tool<00:07:44.580><c> because</c><00:07:45.060><c> it's</c><00:07:45.210><c> so</c><00:07:45.449><c> mutable</c><00:07:46.110><c> I</c><00:07:46.229><c> just</c>

00:07:46.670 --> 00:07:46.680 align:start position:0%
tool because it's so mutable I just
 

00:07:46.680 --> 00:07:50.149 align:start position:0%
tool because it's so mutable I just
reach<00:07:46.860><c> in</c><00:07:47.069><c> do</c><00:07:47.250><c> whatever</c><00:07:47.400><c> you</c><00:07:47.699><c> want</c><00:07:47.909><c> and</c><00:07:48.750><c> and</c><00:07:49.159><c> PI</c>

00:07:50.149 --> 00:07:50.159 align:start position:0%
reach in do whatever you want and and PI
 

00:07:50.159 --> 00:07:53.269 align:start position:0%
reach in do whatever you want and and PI
aetherium<00:07:50.669><c> has</c><00:07:51.000><c> been</c><00:07:51.330><c> key</c><00:07:51.839><c> for</c><00:07:52.080><c> so</c><00:07:52.979><c> much</c><00:07:53.099><c> of</c>

00:07:53.269 --> 00:07:53.279 align:start position:0%
aetherium has been key for so much of
 

00:07:53.279 --> 00:07:54.529 align:start position:0%
aetherium has been key for so much of
the<00:07:53.370><c> research</c><00:07:53.520><c> and</c><00:07:53.909><c> things</c><00:07:54.089><c> that</c><00:07:54.180><c> have</c><00:07:54.389><c> been</c>

00:07:54.529 --> 00:07:54.539 align:start position:0%
the research and things that have been
 

00:07:54.539 --> 00:07:57.499 align:start position:0%
the research and things that have been
done<00:07:54.750><c> for</c><00:07:55.139><c> the</c><00:07:55.500><c> etherium</c><00:07:55.889><c> network</c><00:07:56.159><c> however</c><00:07:56.969><c> it</c>

00:07:57.499 --> 00:07:57.509 align:start position:0%
done for the etherium network however it
 

00:07:57.509 --> 00:07:59.839 align:start position:0%
done for the etherium network however it
has<00:07:57.719><c> not</c><00:07:57.930><c> been</c><00:07:58.169><c> a</c><00:07:58.229><c> very</c><00:07:58.319><c> good</c><00:07:58.740><c> library</c><00:07:59.430><c> for</c><00:07:59.699><c> us</c>

00:07:59.839 --> 00:07:59.849 align:start position:0%
has not been a very good library for us
 

00:07:59.849 --> 00:08:02.540 align:start position:0%
has not been a very good library for us
to<00:08:00.089><c> build</c><00:08:00.330><c> on</c><00:08:00.569><c> top</c><00:08:00.599><c> of</c><00:08:01.129><c> and</c><00:08:02.129><c> I'll</c><00:08:02.219><c> go</c><00:08:02.339><c> into</c><00:08:02.520><c> some</c>

00:08:02.540 --> 00:08:02.550 align:start position:0%
to build on top of and I'll go into some
 

00:08:02.550 --> 00:08:04.070 align:start position:0%
to build on top of and I'll go into some
reasons<00:08:02.940><c> there</c><00:08:03.120><c> and</c><00:08:03.300><c> then</c><00:08:03.419><c> there's</c><00:08:03.569><c> PI</c><00:08:03.719><c> Etha</c>

00:08:04.070 --> 00:08:04.080 align:start position:0%
reasons there and then there's PI Etha
 

00:08:04.080 --> 00:08:06.469 align:start position:0%
reasons there and then there's PI Etha
pand<00:08:04.319><c> PI</c><00:08:04.409><c> Etha</c><00:08:04.740><c> is</c><00:08:04.979><c> the</c><00:08:05.190><c> Python</c><00:08:05.729><c> aetherium</c>

00:08:06.469 --> 00:08:06.479 align:start position:0%
pand PI Etha is the Python aetherium
 

00:08:06.479 --> 00:08:07.879 align:start position:0%
pand PI Etha is the Python aetherium
node<00:08:06.690><c> so</c><00:08:06.900><c> if</c><00:08:06.990><c> you</c><00:08:07.050><c> want</c><00:08:07.169><c> to</c><00:08:07.229><c> run</c><00:08:07.379><c> connect</c><00:08:07.800><c> to</c>

00:08:07.879 --> 00:08:07.889 align:start position:0%
node so if you want to run connect to
 

00:08:07.889 --> 00:08:10.279 align:start position:0%
node so if you want to run connect to
the<00:08:07.979><c> network</c><00:08:08.159><c> then</c><00:08:08.819><c> PI</c><00:08:09.029><c> e</c><00:08:09.060><c> thapa's</c><00:08:09.599><c> is</c><00:08:09.870><c> the</c>

00:08:10.279 --> 00:08:10.289 align:start position:0%
the network then PI e thapa's is the
 

00:08:10.289 --> 00:08:12.110 align:start position:0%
the network then PI e thapa's is the
thing<00:08:10.500><c> that</c><00:08:10.740><c> in</c><00:08:10.979><c> theory</c><00:08:11.580><c> could</c><00:08:11.849><c> do</c><00:08:11.969><c> that</c>

00:08:12.110 --> 00:08:12.120 align:start position:0%
thing that in theory could do that
 

00:08:12.120 --> 00:08:13.969 align:start position:0%
thing that in theory could do that
however<00:08:12.569><c> for</c><00:08:12.990><c> a</c><00:08:13.020><c> very</c><00:08:13.259><c> long</c><00:08:13.439><c> time</c><00:08:13.710><c> it</c><00:08:13.860><c> has</c><00:08:13.949><c> not</c>

00:08:13.969 --> 00:08:13.979 align:start position:0%
however for a very long time it has not
 

00:08:13.979 --> 00:08:15.260 align:start position:0%
however for a very long time it has not
been<00:08:14.189><c> able</c><00:08:14.310><c> to</c><00:08:14.520><c> sync</c><00:08:14.729><c> with</c><00:08:14.849><c> the</c><00:08:14.909><c> main</c><00:08:15.060><c> net</c>

00:08:15.260 --> 00:08:15.270 align:start position:0%
been able to sync with the main net
 

00:08:15.270 --> 00:08:18.890 align:start position:0%
been able to sync with the main net
network<00:08:15.680><c> so</c><00:08:16.680><c> we</c><00:08:17.180><c> had</c><00:08:18.180><c> these</c><00:08:18.300><c> two</c><00:08:18.360><c> existing</c>

00:08:18.890 --> 00:08:18.900 align:start position:0%
network so we had these two existing
 

00:08:18.900 --> 00:08:21.230 align:start position:0%
network so we had these two existing
libraries<00:08:19.409><c> and</c><00:08:19.650><c> they</c><00:08:19.979><c> facilitated</c><00:08:20.580><c> a</c><00:08:20.969><c> ton</c><00:08:21.210><c> of</c>

00:08:21.230 --> 00:08:21.240 align:start position:0%
libraries and they facilitated a ton of
 

00:08:21.240 --> 00:08:24.829 align:start position:0%
libraries and they facilitated a ton of
research<00:08:21.659><c> but</c><00:08:22.159><c> but</c><00:08:23.159><c> over</c><00:08:23.580><c> the</c><00:08:23.969><c> last</c><00:08:24.150><c> two</c><00:08:24.659><c> and</c><00:08:24.689><c> a</c>

00:08:24.829 --> 00:08:24.839 align:start position:0%
research but but over the last two and a
 

00:08:24.839 --> 00:08:26.510 align:start position:0%
research but but over the last two and a
half<00:08:24.990><c> or</c><00:08:25.229><c> three</c><00:08:25.259><c> years</c><00:08:25.650><c> or</c><00:08:25.710><c> however</c><00:08:26.009><c> long</c><00:08:26.250><c> it's</c>

00:08:26.510 --> 00:08:26.520 align:start position:0%
half or three years or however long it's
 

00:08:26.520 --> 00:08:28.820 align:start position:0%
half or three years or however long it's
been<00:08:26.810><c> these</c><00:08:27.810><c> libraries</c><00:08:28.379><c> have</c><00:08:28.469><c> also</c><00:08:28.589><c> been</c><00:08:28.800><c> a</c>

00:08:28.820 --> 00:08:28.830 align:start position:0%
been these libraries have also been a
 

00:08:28.830 --> 00:08:31.579 align:start position:0%
been these libraries have also been a
huge<00:08:28.889><c> thorn</c><00:08:29.400><c> in</c><00:08:29.550><c> my</c><00:08:29.580><c> side</c><00:08:29.699><c> because</c><00:08:30.439><c> there's</c><00:08:31.439><c> no</c>

00:08:31.579 --> 00:08:31.589 align:start position:0%
huge thorn in my side because there's no
 

00:08:31.589 --> 00:08:32.959 align:start position:0%
huge thorn in my side because there's no
definition<00:08:32.099><c> of</c><00:08:32.159><c> what</c><00:08:32.339><c> is</c><00:08:32.459><c> a</c><00:08:32.490><c> public</c><00:08:32.849><c> and</c>

00:08:32.959 --> 00:08:32.969 align:start position:0%
definition of what is a public and
 

00:08:32.969 --> 00:08:35.000 align:start position:0%
definition of what is a public and
private<00:08:33.000><c> API</c><00:08:33.539><c> and</c><00:08:34.050><c> and</c><00:08:34.260><c> therein</c><00:08:34.560><c> they're</c><00:08:34.709><c> big</c>

00:08:35.000 --> 00:08:35.010 align:start position:0%
private API and and therein they're big
 

00:08:35.010 --> 00:08:36.889 align:start position:0%
private API and and therein they're big
and<00:08:35.370><c> there's</c><00:08:35.669><c> and</c><00:08:35.969><c> they're</c><00:08:36.089><c> monoliths</c><00:08:36.690><c> and</c>

00:08:36.889 --> 00:08:36.899 align:start position:0%
and there's and they're monoliths and
 

00:08:36.899 --> 00:08:39.230 align:start position:0%
and there's and they're monoliths and
and<00:08:37.140><c> things</c><00:08:37.800><c> changed</c><00:08:38.159><c> out</c><00:08:38.279><c> from</c><00:08:38.459><c> under</c><00:08:38.760><c> us</c><00:08:38.909><c> and</c>

00:08:39.230 --> 00:08:39.240 align:start position:0%
and things changed out from under us and
 

00:08:39.240 --> 00:08:41.240 align:start position:0%
and things changed out from under us and
and<00:08:39.659><c> they're</c><00:08:39.930><c> just</c><00:08:40.079><c> not</c><00:08:40.380><c> the</c><00:08:40.649><c> foundation</c><00:08:41.099><c> that</c>

00:08:41.240 --> 00:08:41.250 align:start position:0%
and they're just not the foundation that
 

00:08:41.250 --> 00:08:44.120 align:start position:0%
and they're just not the foundation that
we<00:08:41.310><c> needed</c><00:08:41.490><c> them</c><00:08:41.729><c> to</c><00:08:41.760><c> be</c><00:08:42.000><c> so</c><00:08:42.719><c> about</c><00:08:43.620><c> a</c><00:08:43.680><c> year</c><00:08:43.800><c> ago</c>

00:08:44.120 --> 00:08:44.130 align:start position:0%
we needed them to be so about a year ago
 

00:08:44.130 --> 00:08:46.579 align:start position:0%
we needed them to be so about a year ago
I<00:08:44.519><c> started</c><00:08:44.940><c> tinkering</c><00:08:45.269><c> with</c><00:08:45.630><c> okay</c><00:08:46.230><c> well</c><00:08:46.380><c> what</c>

00:08:46.579 --> 00:08:46.589 align:start position:0%
I started tinkering with okay well what
 

00:08:46.589 --> 00:08:50.180 align:start position:0%
I started tinkering with okay well what
if<00:08:46.680><c> I</c><00:08:46.770><c> write</c><00:08:46.920><c> my</c><00:08:47.069><c> own</c><00:08:47.870><c> so</c><00:08:48.870><c> anyway</c><00:08:49.290><c> so</c><00:08:49.560><c> I</c><00:08:49.589><c> started</c>

00:08:50.180 --> 00:08:50.190 align:start position:0%
if I write my own so anyway so I started
 

00:08:50.190 --> 00:08:51.670 align:start position:0%
if I write my own so anyway so I started
this<00:08:50.310><c> experimental</c><00:08:50.819><c> project</c>

00:08:51.670 --> 00:08:51.680 align:start position:0%
this experimental project
 

00:08:51.680 --> 00:08:57.369 align:start position:0%
this experimental project
evm<00:08:52.449><c> and</c><00:08:53.449><c> it</c><00:08:54.110><c> sort</c><00:08:54.410><c> of</c><00:08:55.209><c> festered</c><00:08:56.209><c> and</c><00:08:56.389><c> and</c><00:08:56.839><c> kept</c>

00:08:57.369 --> 00:08:57.379 align:start position:0%
evm and it sort of festered and and kept
 

00:08:57.379 --> 00:09:00.609 align:start position:0%
evm and it sort of festered and and kept
going<00:08:57.499><c> and</c><00:08:57.800><c> kept</c><00:08:57.980><c> going</c><00:08:58.040><c> and</c><00:08:59.350><c> let</c><00:09:00.350><c> me</c><00:09:00.410><c> tell</c><00:09:00.529><c> you</c>

00:09:00.609 --> 00:09:00.619 align:start position:0%
going and kept going and let me tell you
 

00:09:00.619 --> 00:09:02.379 align:start position:0%
going and kept going and let me tell you
some<00:09:00.769><c> of</c><00:09:00.800><c> the</c><00:09:00.920><c> origins</c><00:09:01.309><c> so</c><00:09:01.579><c> one</c><00:09:02.029><c> of</c><00:09:02.059><c> the</c><00:09:02.240><c> big</c>

00:09:02.379 --> 00:09:02.389 align:start position:0%
some of the origins so one of the big
 

00:09:02.389 --> 00:09:04.869 align:start position:0%
some of the origins so one of the big
things<00:09:02.600><c> was</c><00:09:02.839><c> don't</c><00:09:03.259><c> bother</c><00:09:03.439><c> Vitalik</c><00:09:04.069><c> that</c><00:09:04.790><c> was</c>

00:09:04.869 --> 00:09:04.879 align:start position:0%
things was don't bother Vitalik that was
 

00:09:04.879 --> 00:09:07.019 align:start position:0%
things was don't bother Vitalik that was
one<00:09:05.029><c> of</c><00:09:05.089><c> the</c><00:09:05.180><c> main</c><00:09:05.360><c> motivations</c><00:09:05.689><c> here</c><00:09:06.319><c> I</c>

00:09:07.019 --> 00:09:07.029 align:start position:0%
one of the main motivations here I
 

00:09:07.029 --> 00:09:09.069 align:start position:0%
one of the main motivations here I
didn't<00:09:08.029><c> think</c><00:09:08.209><c> that</c><00:09:08.360><c> I</c><00:09:08.420><c> could</c><00:09:08.629><c> fix</c><00:09:08.839><c> by</c>

00:09:09.069 --> 00:09:09.079 align:start position:0%
didn't think that I could fix by
 

00:09:09.079 --> 00:09:11.259 align:start position:0%
didn't think that I could fix by
aetherium<00:09:09.649><c> without</c><00:09:10.129><c> interrupting</c><00:09:10.639><c> his</c><00:09:11.059><c> work</c>

00:09:11.259 --> 00:09:11.269 align:start position:0%
aetherium without interrupting his work
 

00:09:11.269 --> 00:09:12.730 align:start position:0%
aetherium without interrupting his work
there<00:09:11.779><c> was</c><00:09:11.899><c> so</c><00:09:12.050><c> much</c><00:09:12.170><c> that</c><00:09:12.379><c> needed</c><00:09:12.619><c> to</c><00:09:12.649><c> be</c>

00:09:12.730 --> 00:09:12.740 align:start position:0%
there was so much that needed to be
 

00:09:12.740 --> 00:09:16.059 align:start position:0%
there was so much that needed to be
changed<00:09:13.279><c> that</c><00:09:13.429><c> I</c><00:09:13.490><c> felt</c><00:09:14.259><c> that</c><00:09:15.259><c> the</c><00:09:15.679><c> scope</c><00:09:15.920><c> of</c>

00:09:16.059 --> 00:09:16.069 align:start position:0%
changed that I felt that the scope of
 

00:09:16.069 --> 00:09:17.980 align:start position:0%
changed that I felt that the scope of
the<00:09:16.220><c> changes</c><00:09:16.550><c> it</c><00:09:16.639><c> was</c><00:09:16.699><c> so</c><00:09:16.879><c> large</c><00:09:17.059><c> that</c><00:09:17.209><c> I</c><00:09:17.420><c> that</c>

00:09:17.980 --> 00:09:17.990 align:start position:0%
the changes it was so large that I that
 

00:09:17.990 --> 00:09:19.780 align:start position:0%
the changes it was so large that I that
I<00:09:18.019><c> assumed</c><00:09:18.470><c> that</c><00:09:18.740><c> it</c><00:09:19.129><c> would</c><00:09:19.429><c> be</c><00:09:19.519><c> impossible</c>

00:09:19.780 --> 00:09:19.790 align:start position:0%
I assumed that it would be impossible
 

00:09:19.790 --> 00:09:21.869 align:start position:0%
I assumed that it would be impossible
for<00:09:20.119><c> me</c><00:09:20.300><c> to</c><00:09:20.449><c> fix</c><00:09:20.600><c> pi-theorem</c><00:09:21.050><c> without</c>

00:09:21.869 --> 00:09:21.879 align:start position:0%
for me to fix pi-theorem without
 

00:09:21.879 --> 00:09:24.609 align:start position:0%
for me to fix pi-theorem without
disrupting<00:09:22.879><c> metallics</c><00:09:23.420><c> work</c><00:09:23.629><c> I</c><00:09:24.139><c> wanted</c><00:09:24.559><c> to</c>

00:09:24.609 --> 00:09:24.619 align:start position:0%
disrupting metallics work I wanted to
 

00:09:24.619 --> 00:09:27.129 align:start position:0%
disrupting metallics work I wanted to
better<00:09:24.800><c> understand</c><00:09:25.399><c> the</c><00:09:25.519><c> EVM</c><00:09:25.879><c> and</c><00:09:26.209><c> it's</c><00:09:26.749><c> that</c>

00:09:27.129 --> 00:09:27.139 align:start position:0%
better understand the EVM and it's that
 

00:09:27.139 --> 00:09:28.150 align:start position:0%
better understand the EVM and it's that
thing<00:09:27.319><c> that</c><00:09:27.470><c> I</c><00:09:27.499><c> need</c><00:09:27.679><c> I</c><00:09:27.709><c> needed</c><00:09:28.069><c> a</c>

00:09:28.150 --> 00:09:28.160 align:start position:0%
thing that I need I needed a
 

00:09:28.160 --> 00:09:29.559 align:start position:0%
thing that I need I needed a
foundational<00:09:28.759><c> library</c><00:09:29.149><c> that</c><00:09:29.240><c> I</c><00:09:29.300><c> could</c><00:09:29.449><c> build</c>

00:09:29.559 --> 00:09:29.569 align:start position:0%
foundational library that I could build
 

00:09:29.569 --> 00:09:33.249 align:start position:0%
foundational library that I could build
on<00:09:29.749><c> top</c><00:09:29.899><c> of</c><00:09:30.550><c> um</c><00:09:31.550><c> we</c><00:09:32.179><c> are</c><00:09:32.389><c> shooting</c><00:09:32.689><c> for</c>

00:09:33.249 --> 00:09:33.259 align:start position:0%
on top of um we are shooting for
 

00:09:33.259 --> 00:09:35.470 align:start position:0%
on top of um we are shooting for
something<00:09:33.949><c> that</c><00:09:34.309><c> is</c><00:09:34.459><c> the</c><00:09:34.699><c> easiest</c><00:09:35.089><c> to</c><00:09:35.360><c> install</c>

00:09:35.470 --> 00:09:35.480 align:start position:0%
something that is the easiest to install
 

00:09:35.480 --> 00:09:36.939 align:start position:0%
something that is the easiest to install
client

00:09:36.939 --> 00:09:36.949 align:start position:0%
client
 

00:09:36.949 --> 00:09:39.160 align:start position:0%
client
it'll<00:09:37.429><c> be</c><00:09:37.550><c> primarily</c><00:09:38.089><c> focused</c><00:09:38.360><c> on</c><00:09:38.869><c> being</c><00:09:39.050><c> a</c>

00:09:39.160 --> 00:09:39.170 align:start position:0%
it'll be primarily focused on being a
 

00:09:39.170 --> 00:09:41.230 align:start position:0%
it'll be primarily focused on being a
light<00:09:39.350><c> client</c><00:09:39.740><c> although</c><00:09:39.920><c> we</c><00:09:40.160><c> will</c><00:09:40.399><c> support</c>

00:09:41.230 --> 00:09:41.240 align:start position:0%
light client although we will support
 

00:09:41.240 --> 00:09:43.660 align:start position:0%
light client although we will support
being<00:09:41.480><c> a</c><00:09:41.569><c> full</c><00:09:41.749><c> node</c><00:09:41.959><c> and</c><00:09:42.369><c> we're</c><00:09:43.369><c> hoping</c><00:09:43.610><c> that</c>

00:09:43.660 --> 00:09:43.670 align:start position:0%
being a full node and we're hoping that
 

00:09:43.670 --> 00:09:45.639 align:start position:0%
being a full node and we're hoping that
it's<00:09:43.879><c> gonna</c><00:09:43.939><c> facilitate</c><00:09:44.600><c> research</c><00:09:45.170><c> really</c>

00:09:45.639 --> 00:09:45.649 align:start position:0%
it's gonna facilitate research really
 

00:09:45.649 --> 00:09:47.980 align:start position:0%
it's gonna facilitate research really
well<00:09:45.889><c> but</c><00:09:46.220><c> we</c><00:09:46.490><c> have</c><00:09:46.910><c> every</c><00:09:47.209><c> intention</c><00:09:47.689><c> of</c><00:09:47.809><c> this</c>

00:09:47.980 --> 00:09:47.990 align:start position:0%
well but we have every intention of this
 

00:09:47.990 --> 00:09:51.129 align:start position:0%
well but we have every intention of this
be<00:09:48.259><c> being</c><00:09:49.129><c> a</c><00:09:49.339><c> full</c><00:09:49.579><c> node</c><00:09:49.819><c> or</c><00:09:50.149><c> a</c><00:09:50.209><c> light</c><00:09:50.839><c> client</c>

00:09:51.129 --> 00:09:51.139 align:start position:0%
be being a full node or a light client
 

00:09:51.139 --> 00:09:52.569 align:start position:0%
be being a full node or a light client
node<00:09:51.319><c> that</c><00:09:51.470><c> you</c><00:09:51.589><c> can</c><00:09:51.740><c> run</c><00:09:51.980><c> and</c><00:09:52.249><c> use</c><00:09:52.399><c> in</c>

00:09:52.569 --> 00:09:52.579 align:start position:0%
node that you can run and use in
 

00:09:52.579 --> 00:09:56.079 align:start position:0%
node that you can run and use in
production<00:09:54.220><c> this</c><00:09:55.220><c> is</c><00:09:55.279><c> our</c><00:09:55.490><c> status</c><00:09:55.850><c> right</c><00:09:56.029><c> now</c>

00:09:56.079 --> 00:09:56.089 align:start position:0%
production this is our status right now
 

00:09:56.089 --> 00:09:58.239 align:start position:0%
production this is our status right now
we've<00:09:56.749><c> got</c><00:09:56.959><c> most</c><00:09:57.199><c> of</c><00:09:57.350><c> the</c><00:09:57.499><c> fork</c><00:09:57.740><c> rules</c><00:09:58.009><c> done</c>

00:09:58.239 --> 00:09:58.249 align:start position:0%
we've got most of the fork rules done
 

00:09:58.249 --> 00:10:00.400 align:start position:0%
we've got most of the fork rules done
byzantium<00:09:58.939><c> is</c><00:09:59.089><c> still</c><00:09:59.240><c> in</c><00:09:59.360><c> progress</c><00:09:59.660><c> and</c><00:10:00.199><c> we've</c>

00:10:00.400 --> 00:10:00.410 align:start position:0%
byzantium is still in progress and we've
 

00:10:00.410 --> 00:10:02.860 align:start position:0%
byzantium is still in progress and we've
got<00:10:00.709><c> the</c><00:10:01.339><c> le</c><00:10:01.579><c> s</c><00:10:01.699><c> protocol</c><00:10:02.179><c> in</c><00:10:02.300><c> progress</c><00:10:02.509><c> right</c>

00:10:02.860 --> 00:10:02.870 align:start position:0%
got the le s protocol in progress right
 

00:10:02.870 --> 00:10:06.610 align:start position:0%
got the le s protocol in progress right
now<00:10:03.829><c> we</c><00:10:04.009><c> have</c><00:10:04.429><c> we're</c><00:10:05.300><c> probably</c><00:10:05.720><c> a</c><00:10:06.290><c> month</c><00:10:06.559><c> or</c>

00:10:06.610 --> 00:10:06.620 align:start position:0%
now we have we're probably a month or
 

00:10:06.620 --> 00:10:10.720 align:start position:0%
now we have we're probably a month or
two<00:10:07.009><c> from</c><00:10:07.550><c> a</c><00:10:08.259><c> very</c><00:10:09.259><c> alpha</c><00:10:09.589><c> stage</c><00:10:09.980><c> version</c><00:10:10.490><c> of</c>

00:10:10.720 --> 00:10:10.730 align:start position:0%
two from a very alpha stage version of
 

00:10:10.730 --> 00:10:12.280 align:start position:0%
two from a very alpha stage version of
this<00:10:10.879><c> that</c><00:10:11.149><c> can</c><00:10:11.329><c> sync</c><00:10:11.600><c> up</c><00:10:11.689><c> with</c><00:10:11.839><c> the</c><00:10:11.899><c> main</c><00:10:12.110><c> net</c>

00:10:12.280 --> 00:10:12.290 align:start position:0%
this that can sync up with the main net
 

00:10:12.290 --> 00:10:14.590 align:start position:0%
this that can sync up with the main net
and<00:10:13.129><c> run</c><00:10:13.339><c> as</c><00:10:13.490><c> a</c><00:10:13.519><c> light</c><00:10:13.730><c> client</c><00:10:14.059><c> so</c><00:10:14.179><c> we're</c><00:10:14.329><c> very</c>

00:10:14.590 --> 00:10:14.600 align:start position:0%
and run as a light client so we're very
 

00:10:14.600 --> 00:10:20.799 align:start position:0%
and run as a light client so we're very
close<00:10:14.839><c> on</c><00:10:15.019><c> this</c><00:10:16.059><c> and</c><00:10:17.059><c> and</c><00:10:17.540><c> it's</c><00:10:18.110><c> a</c><00:10:19.809><c> this</c>

00:10:20.799 --> 00:10:20.809 align:start position:0%
close on this and and it's a this
 

00:10:20.809 --> 00:10:23.110 align:start position:0%
close on this and and it's a this
project<00:10:21.470><c> is</c><00:10:21.709><c> intended</c><00:10:22.279><c> to</c><00:10:22.519><c> be</c><00:10:22.730><c> sort</c><00:10:22.970><c> of</c><00:10:22.999><c> a</c>

00:10:23.110 --> 00:10:23.120 align:start position:0%
project is intended to be sort of a
 

00:10:23.120 --> 00:10:24.369 align:start position:0%
project is intended to be sort of a
foundational<00:10:23.720><c> piece</c><00:10:23.899><c> to</c><00:10:24.110><c> the</c><00:10:24.199><c> Python</c>

00:10:24.369 --> 00:10:24.379 align:start position:0%
foundational piece to the Python
 

00:10:24.379 --> 00:10:27.009 align:start position:0%
foundational piece to the Python
ecosystem<00:10:25.129><c> um</c><00:10:25.339><c> I'm</c><00:10:26.240><c> very</c><00:10:26.300><c> proud</c><00:10:26.749><c> of</c><00:10:26.809><c> this</c>

00:10:27.009 --> 00:10:27.019 align:start position:0%
ecosystem um I'm very proud of this
 

00:10:27.019 --> 00:10:31.049 align:start position:0%
ecosystem um I'm very proud of this
library<00:10:27.259><c> and</c><00:10:27.800><c> I</c><00:10:28.100><c> and</c><00:10:28.459><c> I</c><00:10:28.550><c> think</c><00:10:28.790><c> it's</c><00:10:28.910><c> going</c><00:10:29.209><c> to</c>

00:10:31.049 --> 00:10:31.059 align:start position:0%
library and I and I think it's going to
 

00:10:31.059 --> 00:10:33.400 align:start position:0%
library and I and I think it's going to
be<00:10:32.059><c> one</c><00:10:32.240><c> of</c><00:10:32.329><c> the</c><00:10:32.420><c> cornerstone</c><00:10:32.899><c> pieces</c><00:10:33.019><c> that</c>

00:10:33.400 --> 00:10:33.410 align:start position:0%
be one of the cornerstone pieces that
 

00:10:33.410 --> 00:10:35.710 align:start position:0%
be one of the cornerstone pieces that
helps<00:10:33.679><c> bring</c><00:10:33.920><c> the</c><00:10:34.339><c> Python</c><00:10:34.699><c> ecosystem</c><00:10:35.299><c> up</c><00:10:35.449><c> to</c>

00:10:35.710 --> 00:10:35.720 align:start position:0%
helps bring the Python ecosystem up to
 

00:10:35.720 --> 00:10:39.009 align:start position:0%
helps bring the Python ecosystem up to
par<00:10:35.959><c> with</c><00:10:36.170><c> some</c><00:10:36.949><c> of</c><00:10:37.100><c> the</c><00:10:37.220><c> other</c><00:10:37.339><c> rika</c><00:10:37.929><c> III</c><00:10:38.929><c> AM</c>

00:10:39.009 --> 00:10:39.019 align:start position:0%
par with some of the other rika III AM
 

00:10:39.019 --> 00:10:41.530 align:start position:0%
par with some of the other rika III AM
tooling<00:10:39.470><c> out</c><00:10:39.709><c> there</c><00:10:40.009><c> and</c><00:10:40.699><c> that's</c><00:10:40.910><c> really</c><00:10:41.089><c> sort</c>

00:10:41.530 --> 00:10:41.540 align:start position:0%
tooling out there and that's really sort
 

00:10:41.540 --> 00:10:43.210 align:start position:0%
tooling out there and that's really sort
of<00:10:41.600><c> part</c><00:10:41.809><c> of</c><00:10:41.899><c> a</c><00:10:41.990><c> broader</c><00:10:42.230><c> goal</c><00:10:42.559><c> of</c><00:10:42.799><c> mine</c><00:10:42.980><c> which</c>

00:10:43.210 --> 00:10:43.220 align:start position:0%
of part of a broader goal of mine which
 

00:10:43.220 --> 00:10:46.329 align:start position:0%
of part of a broader goal of mine which
is<00:10:43.370><c> I</c><00:10:43.610><c> set</c><00:10:43.999><c> out</c><00:10:44.120><c> earlier</c><00:10:45.110><c> this</c><00:10:45.319><c> year</c><00:10:45.379><c> with</c><00:10:46.220><c> the</c>

00:10:46.329 --> 00:10:46.339 align:start position:0%
is I set out earlier this year with the
 

00:10:46.339 --> 00:10:48.489 align:start position:0%
is I set out earlier this year with the
sort<00:10:46.549><c> of</c><00:10:46.610><c> abstract</c><00:10:47.149><c> goal</c><00:10:47.360><c> of</c><00:10:47.660><c> maturing</c><00:10:48.199><c> all</c><00:10:48.350><c> of</c>

00:10:48.489 --> 00:10:48.499 align:start position:0%
sort of abstract goal of maturing all of
 

00:10:48.499 --> 00:10:50.799 align:start position:0%
sort of abstract goal of maturing all of
the<00:10:48.589><c> Python</c><00:10:48.949><c> tooling</c><00:10:49.420><c> because</c><00:10:50.420><c> we</c><00:10:50.569><c> needed</c>

00:10:50.799 --> 00:10:50.809 align:start position:0%
the Python tooling because we needed
 

00:10:50.809 --> 00:10:53.889 align:start position:0%
the Python tooling because we needed
better<00:10:51.079><c> tooling</c><00:10:51.589><c> and</c><00:10:51.889><c> and</c><00:10:52.369><c> and</c><00:10:52.759><c> so</c><00:10:53.689><c> many</c>

00:10:53.889 --> 00:10:53.899 align:start position:0%
better tooling and and and so many
 

00:10:53.899 --> 00:10:56.199 align:start position:0%
better tooling and and and so many
people<00:10:54.110><c> were</c><00:10:54.619><c> flocking</c><00:10:55.309><c> to</c><00:10:55.519><c> the</c><00:10:55.610><c> JavaScript</c>

00:10:56.199 --> 00:10:56.209 align:start position:0%
people were flocking to the JavaScript
 

00:10:56.209 --> 00:10:57.789 align:start position:0%
people were flocking to the JavaScript
stack<00:10:56.480><c> which</c><00:10:56.959><c> is</c><00:10:56.990><c> fine</c><00:10:57.350><c> because</c><00:10:57.589><c> the</c>

00:10:57.789 --> 00:10:57.799 align:start position:0%
stack which is fine because the
 

00:10:57.799 --> 00:10:59.470 align:start position:0%
stack which is fine because the
JavaScript<00:10:58.369><c> stack</c><00:10:58.549><c> has</c><00:10:58.699><c> been</c><00:10:58.910><c> the</c><00:10:59.059><c> superior</c>

00:10:59.470 --> 00:10:59.480 align:start position:0%
JavaScript stack has been the superior
 

00:10:59.480 --> 00:11:01.480 align:start position:0%
JavaScript stack has been the superior
stack<00:10:59.720><c> for</c><00:10:59.899><c> a</c><00:10:59.929><c> long</c><00:11:00.199><c> time</c><00:11:00.620><c> and</c><00:11:00.949><c> it's</c><00:11:01.069><c> a</c><00:11:01.189><c> great</c>

00:11:01.480 --> 00:11:01.490 align:start position:0%
stack for a long time and it's a great
 

00:11:01.490 --> 00:11:04.340 align:start position:0%
stack for a long time and it's a great
stack<00:11:01.899><c> but</c><00:11:02.899><c> people</c><00:11:03.139><c> need</c><00:11:03.259><c> choices</c><00:11:03.679><c> and</c><00:11:03.889><c> so</c>

00:11:04.340 --> 00:11:04.350 align:start position:0%
stack but people need choices and so
 

00:11:04.350 --> 00:11:06.500 align:start position:0%
stack but people need choices and so
I<00:11:04.440><c> wanted</c><00:11:05.040><c> to</c><00:11:05.190><c> set</c><00:11:05.400><c> out</c><00:11:05.490><c> to</c><00:11:05.790><c> actually</c><00:11:06.150><c> give</c>

00:11:06.500 --> 00:11:06.510 align:start position:0%
I wanted to set out to actually give
 

00:11:06.510 --> 00:11:09.410 align:start position:0%
I wanted to set out to actually give
them<00:11:06.750><c> those</c><00:11:07.170><c> choices</c><00:11:07.580><c> all</c><00:11:08.580><c> right</c><00:11:08.700><c> one</c><00:11:09.270><c> last</c>

00:11:09.410 --> 00:11:09.420 align:start position:0%
them those choices all right one last
 

00:11:09.420 --> 00:11:14.450 align:start position:0%
them those choices all right one last
note<00:11:09.630><c> Python</c><00:11:10.470><c> three</c><00:11:11.450><c> starting</c><00:11:12.450><c> in</c><00:11:12.540><c> 2018</c><00:11:13.460><c> we</c>

00:11:14.450 --> 00:11:14.460 align:start position:0%
note Python three starting in 2018 we
 

00:11:14.460 --> 00:11:16.850 align:start position:0%
note Python three starting in 2018 we
will<00:11:14.490><c> begin</c><00:11:15.180><c> dropping</c><00:11:15.720><c> support</c><00:11:16.080><c> for</c><00:11:16.350><c> Python</c><00:11:16.650><c> 2</c>

00:11:16.850 --> 00:11:16.860 align:start position:0%
will begin dropping support for Python 2
 

00:11:16.860 --> 00:11:18.770 align:start position:0%
will begin dropping support for Python 2
so<00:11:17.310><c> if</c><00:11:17.400><c> you're</c><00:11:17.550><c> using</c><00:11:17.850><c> these</c><00:11:18.090><c> tools</c><00:11:18.360><c> and</c>

00:11:18.770 --> 00:11:18.780 align:start position:0%
so if you're using these tools and
 

00:11:18.780 --> 00:11:20.960 align:start position:0%
so if you're using these tools and
you're<00:11:18.960><c> using</c><00:11:19.110><c> Python</c><00:11:19.590><c> 2</c><00:11:19.830><c> you</c><00:11:20.610><c> need</c><00:11:20.820><c> to</c>

00:11:20.960 --> 00:11:20.970 align:start position:0%
you're using Python 2 you need to
 

00:11:20.970 --> 00:11:23.450 align:start position:0%
you're using Python 2 you need to
upgrade<00:11:21.680><c> because</c><00:11:22.680><c> they</c><00:11:22.800><c> are</c><00:11:22.860><c> going</c><00:11:23.070><c> to</c><00:11:23.190><c> break</c>

00:11:23.450 --> 00:11:23.460 align:start position:0%
upgrade because they are going to break
 

00:11:23.460 --> 00:11:27.410 align:start position:0%
upgrade because they are going to break
on<00:11:23.730><c> you</c><00:11:24.410><c> it's</c><00:11:25.410><c> time</c><00:11:25.970><c> you</c><00:11:26.970><c> need</c><00:11:27.120><c> to</c><00:11:27.270><c> upgrade</c>

00:11:27.410 --> 00:11:27.420 align:start position:0%
on you it's time you need to upgrade
 

00:11:27.420 --> 00:11:30.890 align:start position:0%
on you it's time you need to upgrade
your<00:11:27.630><c> code</c><00:11:27.990><c> base</c><00:11:29.300><c> Python</c><00:11:30.300><c> 3</c><00:11:30.480><c> is</c><00:11:30.600><c> great</c>

00:11:30.890 --> 00:11:30.900 align:start position:0%
your code base Python 3 is great
 

00:11:30.900 --> 00:11:33.740 align:start position:0%
your code base Python 3 is great
upgrading<00:11:31.860><c> to</c><00:11:32.010><c> it</c><00:11:32.190><c> is</c><00:11:32.430><c> very</c><00:11:32.460><c> easy</c><00:11:33.300><c> there</c><00:11:33.600><c> are</c><00:11:33.720><c> a</c>

00:11:33.740 --> 00:11:33.750 align:start position:0%
upgrading to it is very easy there are a
 

00:11:33.750 --> 00:11:35.570 align:start position:0%
upgrading to it is very easy there are a
ton<00:11:33.960><c> of</c><00:11:33.990><c> resources</c><00:11:34.350><c> out</c><00:11:34.620><c> there</c><00:11:34.650><c> we</c><00:11:35.550><c> are</c>

00:11:35.570 --> 00:11:35.580 align:start position:0%
ton of resources out there we are
 

00:11:35.580 --> 00:11:38.120 align:start position:0%
ton of resources out there we are
dropping<00:11:36.240><c> support</c><00:11:36.750><c> for</c><00:11:36.990><c> this</c><00:11:37.140><c> if</c><00:11:37.380><c> this</c><00:11:37.920><c> is</c><00:11:37.980><c> a</c>

00:11:38.120 --> 00:11:38.130 align:start position:0%
dropping support for this if this is a
 

00:11:38.130 --> 00:11:40.160 align:start position:0%
dropping support for this if this is a
problem<00:11:38.670><c> for</c><00:11:38.700><c> you</c><00:11:39.090><c> please</c><00:11:39.660><c> come</c><00:11:39.840><c> talk</c><00:11:39.990><c> to</c><00:11:40.050><c> me</c>

00:11:40.160 --> 00:11:40.170 align:start position:0%
problem for you please come talk to me
 

00:11:40.170 --> 00:11:43.610 align:start position:0%
problem for you please come talk to me
but<00:11:40.980><c> the</c><00:11:41.610><c> answer</c><00:11:41.970><c> is</c><00:11:42.270><c> likely</c><00:11:42.660><c> to</c><00:11:42.960><c> be</c><00:11:43.110><c> that</c><00:11:43.350><c> you</c>

00:11:43.610 --> 00:11:43.620 align:start position:0%
but the answer is likely to be that you
 

00:11:43.620 --> 00:11:46.040 align:start position:0%
but the answer is likely to be that you
need<00:11:43.800><c> to</c><00:11:43.890><c> upgrade</c><00:11:44.010><c> your</c><00:11:44.280><c> code</c><00:11:44.550><c> base</c><00:11:44.960><c> thank</c><00:11:45.960><c> you</c>

00:11:46.040 --> 00:11:46.050 align:start position:0%
need to upgrade your code base thank you
 

00:11:46.050 --> 00:11:53.940 align:start position:0%
need to upgrade your code base thank you
all<00:11:46.170><c> for</c><00:11:46.350><c> your</c><00:11:46.380><c> time</c>

00:11:53.940 --> 00:11:53.950 align:start position:0%
 
 

00:11:53.950 --> 00:12:01.529 align:start position:0%
 
[Music]

