WEBVTT
Kind: captions
Language: en

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

00:00:14.940 --> 00:00:14.950 align:start position:0%
[Music]
 

00:00:14.950 --> 00:00:21.220 align:start position:0%
[Music]
let's<00:00:15.950><c> see</c><00:00:16.280><c> hello</c><00:00:16.850><c> everybody</c><00:00:18.460><c> I'm</c><00:00:19.460><c> Piper</c><00:00:20.230><c> I've</c>

00:00:21.220 --> 00:00:21.230 align:start position:0%
let's see hello everybody I'm Piper I've
 

00:00:21.230 --> 00:00:24.130 align:start position:0%
let's see hello everybody I'm Piper I've
been<00:00:21.740><c> working</c><00:00:22.400><c> on</c><00:00:22.730><c> a</c><00:00:22.790><c> lot</c><00:00:23.390><c> of</c><00:00:23.540><c> things</c><00:00:23.780><c> in</c><00:00:24.020><c> the</c>

00:00:24.130 --> 00:00:24.140 align:start position:0%
been working on a lot of things in the
 

00:00:24.140 --> 00:00:26.140 align:start position:0%
been working on a lot of things in the
etherium<00:00:24.530><c> ecosystem</c><00:00:25.160><c> since</c><00:00:25.580><c> the</c><00:00:25.760><c> frontier</c>

00:00:26.140 --> 00:00:26.150 align:start position:0%
etherium ecosystem since the frontier
 

00:00:26.150 --> 00:00:29.410 align:start position:0%
etherium ecosystem since the frontier
network<00:00:26.420><c> launched</c><00:00:26.810><c> and</c><00:00:27.080><c> today</c><00:00:28.010><c> today</c><00:00:28.970><c> I</c><00:00:29.000><c> would</c>

00:00:29.410 --> 00:00:29.420 align:start position:0%
network launched and today today I would
 

00:00:29.420 --> 00:00:31.090 align:start position:0%
network launched and today today I would
like<00:00:29.540><c> to</c><00:00:29.660><c> talk</c><00:00:29.810><c> to</c><00:00:29.930><c> you</c><00:00:30.020><c> about</c><00:00:30.080><c> packaging</c><00:00:30.980><c> up</c>

00:00:31.090 --> 00:00:31.100 align:start position:0%
like to talk to you about packaging up
 

00:00:31.100 --> 00:00:33.510 align:start position:0%
like to talk to you about packaging up
smart<00:00:31.400><c> contracts</c>

00:00:33.510 --> 00:00:33.520 align:start position:0%
smart contracts
 

00:00:33.520 --> 00:00:36.940 align:start position:0%
smart contracts
so<00:00:34.520><c> first</c><00:00:35.180><c> let's</c><00:00:35.480><c> establish</c><00:00:36.380><c> what</c><00:00:36.620><c> we</c><00:00:36.650><c> mean</c>

00:00:36.940 --> 00:00:36.950 align:start position:0%
so first let's establish what we mean
 

00:00:36.950 --> 00:00:39.970 align:start position:0%
so first let's establish what we mean
when<00:00:37.220><c> we</c><00:00:37.400><c> say</c><00:00:37.690><c> package</c><00:00:38.690><c> management</c><00:00:39.110><c> Thank</c><00:00:39.860><c> You</c>

00:00:39.970 --> 00:00:39.980 align:start position:0%
when we say package management Thank You
 

00:00:39.980 --> 00:00:43.510 align:start position:0%
when we say package management Thank You
Wikipedia<00:00:41.260><c> package</c><00:00:42.260><c> management</c><00:00:42.590><c> system</c><00:00:42.890><c> is</c><00:00:43.460><c> a</c>

00:00:43.510 --> 00:00:43.520 align:start position:0%
Wikipedia package management system is a
 

00:00:43.520 --> 00:00:45.310 align:start position:0%
Wikipedia package management system is a
collection<00:00:43.970><c> of</c><00:00:44.210><c> software</c><00:00:44.480><c> tools</c><00:00:44.989><c> that</c>

00:00:45.310 --> 00:00:45.320 align:start position:0%
collection of software tools that
 

00:00:45.320 --> 00:00:47.229 align:start position:0%
collection of software tools that
automates<00:00:45.980><c> the</c><00:00:46.160><c> process</c><00:00:46.610><c> of</c><00:00:46.850><c> installing</c>

00:00:47.229 --> 00:00:47.239 align:start position:0%
automates the process of installing
 

00:00:47.239 --> 00:00:49.510 align:start position:0%
automates the process of installing
upgrading<00:00:48.079><c> configuring</c><00:00:48.739><c> and</c><00:00:49.010><c> removing</c>

00:00:49.510 --> 00:00:49.520 align:start position:0%
upgrading configuring and removing
 

00:00:49.520 --> 00:00:52.120 align:start position:0%
upgrading configuring and removing
computer<00:00:49.880><c> programs</c><00:00:50.620><c> for</c><00:00:51.620><c> a</c><00:00:51.649><c> computer's</c>

00:00:52.120 --> 00:00:52.130 align:start position:0%
computer programs for a computer's
 

00:00:52.130 --> 00:00:54.540 align:start position:0%
computer programs for a computer's
operating<00:00:52.310><c> system</c><00:00:53.000><c> in</c><00:00:53.210><c> a</c><00:00:53.300><c> consistent</c><00:00:53.870><c> manner</c>

00:00:54.540 --> 00:00:54.550 align:start position:0%
operating system in a consistent manner
 

00:00:54.550 --> 00:00:56.920 align:start position:0%
operating system in a consistent manner
hopefully<00:00:55.550><c> that's</c><00:00:55.790><c> the</c><00:00:55.880><c> last</c><00:00:56.180><c> reading</c><00:00:56.600><c> from</c>

00:00:56.920 --> 00:00:56.930 align:start position:0%
hopefully that's the last reading from
 

00:00:56.930 --> 00:00:59.799 align:start position:0%
hopefully that's the last reading from
my<00:00:57.140><c> slides</c><00:00:57.500><c> I</c><00:00:57.970><c> want</c><00:00:58.970><c> to</c><00:00:59.059><c> point</c><00:00:59.300><c> out</c><00:00:59.420><c> the</c><00:00:59.570><c> part</c>

00:00:59.799 --> 00:00:59.809 align:start position:0%
my slides I want to point out the part
 

00:00:59.809 --> 00:01:02.260 align:start position:0%
my slides I want to point out the part
here<00:01:00.050><c> that</c><00:01:00.230><c> says</c><00:01:00.469><c> that</c><00:01:01.040><c> it</c><00:01:01.219><c> is</c><00:01:01.250><c> a</c><00:01:01.399><c> system</c><00:01:02.000><c> it's</c>

00:01:02.260 --> 00:01:02.270 align:start position:0%
here that says that it is a system it's
 

00:01:02.270 --> 00:01:04.179 align:start position:0%
here that says that it is a system it's
a<00:01:02.390><c> collection</c><00:01:02.870><c> of</c><00:01:03.140><c> software</c><00:01:03.530><c> tools</c><00:01:03.800><c> so</c><00:01:04.070><c> we're</c>

00:01:04.179 --> 00:01:04.189 align:start position:0%
a collection of software tools so we're
 

00:01:04.189 --> 00:01:06.370 align:start position:0%
a collection of software tools so we're
not<00:01:04.309><c> talking</c><00:01:04.549><c> about</c><00:01:04.579><c> one</c><00:01:04.909><c> thing</c><00:01:05.380><c> we're</c>

00:01:06.370 --> 00:01:06.380 align:start position:0%
not talking about one thing we're
 

00:01:06.380 --> 00:01:09.340 align:start position:0%
not talking about one thing we're
talking<00:01:06.680><c> about</c><00:01:07.390><c> specifications</c><00:01:08.390><c> and</c><00:01:08.840><c> tooling</c>

00:01:09.340 --> 00:01:09.350 align:start position:0%
talking about specifications and tooling
 

00:01:09.350 --> 00:01:11.289 align:start position:0%
talking about specifications and tooling
support<00:01:09.590><c> and</c><00:01:10.220><c> all</c><00:01:10.430><c> of</c><00:01:10.580><c> these</c><00:01:10.700><c> things</c><00:01:10.940><c> coming</c>

00:01:11.289 --> 00:01:11.299 align:start position:0%
support and all of these things coming
 

00:01:11.299 --> 00:01:14.020 align:start position:0%
support and all of these things coming
together<00:01:11.479><c> to</c><00:01:12.470><c> allow</c><00:01:12.770><c> us</c><00:01:12.950><c> to</c><00:01:13.100><c> package</c><00:01:13.370><c> up</c><00:01:13.820><c> a</c>

00:01:14.020 --> 00:01:14.030 align:start position:0%
together to allow us to package up a
 

00:01:14.030 --> 00:01:17.950 align:start position:0%
together to allow us to package up a
smart<00:01:14.390><c> contract</c><00:01:14.540><c> system</c><00:01:16.270><c> so</c><00:01:17.270><c> let's</c><00:01:17.750><c> take</c><00:01:17.930><c> a</c>

00:01:17.950 --> 00:01:17.960 align:start position:0%
smart contract system so let's take a
 

00:01:17.960 --> 00:01:19.870 align:start position:0%
smart contract system so let's take a
look<00:01:18.200><c> at</c><00:01:18.290><c> what</c><00:01:18.500><c> a</c><00:01:18.710><c> smart</c><00:01:19.100><c> contract</c><00:01:19.280><c> package</c>

00:01:19.870 --> 00:01:19.880 align:start position:0%
look at what a smart contract package
 

00:01:19.880 --> 00:01:24.340 align:start position:0%
look at what a smart contract package
actually<00:01:20.060><c> is</c><00:01:22.600><c> so</c><00:01:23.600><c> at</c><00:01:23.690><c> the</c><00:01:23.780><c> beginning</c><00:01:24.049><c> of</c><00:01:24.200><c> this</c>

00:01:24.340 --> 00:01:24.350 align:start position:0%
actually is so at the beginning of this
 

00:01:24.350 --> 00:01:26.469 align:start position:0%
actually is so at the beginning of this
year<00:01:24.619><c> myself</c><00:01:25.280><c> and</c><00:01:25.670><c> a</c><00:01:25.970><c> number</c><00:01:26.150><c> of</c><00:01:26.299><c> other</c>

00:01:26.469 --> 00:01:26.479 align:start position:0%
year myself and a number of other
 

00:01:26.479 --> 00:01:28.560 align:start position:0%
year myself and a number of other
framework<00:01:26.990><c> developers</c><00:01:27.530><c> came</c><00:01:27.710><c> together</c><00:01:27.920><c> and</c>

00:01:28.560 --> 00:01:28.570 align:start position:0%
framework developers came together and
 

00:01:28.570 --> 00:01:32.620 align:start position:0%
framework developers came together and
we<00:01:29.570><c> hashed</c><00:01:30.200><c> out</c><00:01:30.470><c> what</c><00:01:30.979><c> is</c><00:01:31.310><c> referred</c><00:01:31.880><c> to</c><00:01:31.939><c> as</c><00:01:32.180><c> ERC</c>

00:01:32.620 --> 00:01:32.630 align:start position:0%
we hashed out what is referred to as ERC
 

00:01:32.630 --> 00:01:36.490 align:start position:0%
we hashed out what is referred to as ERC
190<00:01:33.260><c> this</c><00:01:34.250><c> is</c><00:01:34.430><c> a</c><00:01:34.460><c> spec</c><00:01:35.000><c> for</c><00:01:35.600><c> how</c><00:01:35.840><c> smart</c>

00:01:36.490 --> 00:01:36.500 align:start position:0%
190 this is a spec for how smart
 

00:01:36.500 --> 00:01:38.980 align:start position:0%
190 this is a spec for how smart
contracts<00:01:36.920><c> can</c><00:01:37.159><c> be</c><00:01:37.189><c> packaged</c><00:01:37.670><c> you</c><00:01:38.600><c> can</c><00:01:38.750><c> find</c>

00:01:38.980 --> 00:01:38.990 align:start position:0%
contracts can be packaged you can find
 

00:01:38.990 --> 00:01:41.500 align:start position:0%
contracts can be packaged you can find
it<00:01:39.110><c> in</c><00:01:39.229><c> the</c><00:01:39.380><c> AP's</c><00:01:39.830><c> repo</c><00:01:40.280><c> as</c><00:01:40.640><c> well</c><00:01:40.880><c> as</c><00:01:41.060><c> in</c><00:01:41.270><c> a</c>

00:01:41.500 --> 00:01:41.510 align:start position:0%
it in the AP's repo as well as in a
 

00:01:41.510 --> 00:01:43.990 align:start position:0%
it in the AP's repo as well as in a
dedicated<00:01:41.810><c> get</c><00:01:42.320><c> github</c><00:01:43.280><c> repo</c><00:01:43.610><c> for</c><00:01:43.790><c> this</c>

00:01:43.990 --> 00:01:44.000 align:start position:0%
dedicated get github repo for this
 

00:01:44.000 --> 00:01:50.050 align:start position:0%
dedicated get github repo for this
specification<00:01:46.450><c> so</c><00:01:47.710><c> what</c><00:01:48.710><c> Air</c><00:01:48.890><c> c90</c><00:01:49.400><c> specifies</c>

00:01:50.050 --> 00:01:50.060 align:start position:0%
specification so what Air c90 specifies
 

00:01:50.060 --> 00:01:53.980 align:start position:0%
specification so what Air c90 specifies
is<00:01:50.450><c> a</c><00:01:50.540><c> format</c><00:01:51.229><c> for</c><00:01:51.259><c> a</c><00:01:51.500><c> JSON</c><00:01:51.860><c> document</c><00:01:52.990><c> it</c>

00:01:53.980 --> 00:01:53.990 align:start position:0%
is a format for a JSON document it
 

00:01:53.990 --> 00:01:56.710 align:start position:0%
is a format for a JSON document it
allows<00:01:54.500><c> for</c><00:01:55.220><c> all</c><00:01:55.790><c> of</c><00:01:56.090><c> the</c><00:01:56.240><c> rest</c><00:01:56.450><c> of</c><00:01:56.600><c> these</c>

00:01:56.710 --> 00:01:56.720 align:start position:0%
allows for all of the rest of these
 

00:01:56.720 --> 00:01:58.330 align:start position:0%
allows for all of the rest of these
bullet<00:01:57.229><c> points</c><00:01:57.259><c> are</c><00:01:57.650><c> effectively</c><00:01:58.070><c> the</c><00:01:58.189><c> same</c>

00:01:58.330 --> 00:01:58.340 align:start position:0%
bullet points are effectively the same
 

00:01:58.340 --> 00:02:01.060 align:start position:0%
bullet points are effectively the same
thing<00:01:58.820><c> it</c><00:01:59.390><c> allows</c><00:01:59.509><c> for</c><00:01:59.990><c> you</c><00:02:00.439><c> to</c><00:02:00.470><c> create</c><00:02:01.040><c> a</c>

00:02:01.060 --> 00:02:01.070 align:start position:0%
thing it allows for you to create a
 

00:02:01.070 --> 00:02:03.210 align:start position:0%
thing it allows for you to create a
package<00:02:01.310><c> that</c><00:02:01.820><c> allows</c><00:02:02.420><c> other</c><00:02:02.810><c> people</c><00:02:02.900><c> to</c>

00:02:03.210 --> 00:02:03.220 align:start position:0%
package that allows other people to
 

00:02:03.220 --> 00:02:06.310 align:start position:0%
package that allows other people to
deterministically<00:02:04.540><c> rebuild</c><00:02:05.540><c> the</c><00:02:05.900><c> assets</c>

00:02:06.310 --> 00:02:06.320 align:start position:0%
deterministically rebuild the assets
 

00:02:06.320 --> 00:02:09.339 align:start position:0%
deterministically rebuild the assets
from<00:02:06.470><c> that</c><00:02:06.680><c> package</c><00:02:06.939><c> to</c><00:02:07.939><c> verify</c><00:02:08.659><c> on</c><00:02:08.989><c> chain</c>

00:02:09.339 --> 00:02:09.349 align:start position:0%
from that package to verify on chain
 

00:02:09.349 --> 00:02:11.530 align:start position:0%
from that package to verify on chain
assets<00:02:09.830><c> or</c><00:02:10.039><c> assets</c><00:02:10.550><c> that</c><00:02:10.940><c> are</c><00:02:11.030><c> included</c><00:02:11.450><c> in</c>

00:02:11.530 --> 00:02:11.540 align:start position:0%
assets or assets that are included in
 

00:02:11.540 --> 00:02:14.050 align:start position:0%
assets or assets that are included in
the<00:02:11.660><c> package</c><00:02:12.080><c> and</c><00:02:12.380><c> the</c><00:02:12.980><c> packages</c><00:02:13.430><c> themselves</c>

00:02:14.050 --> 00:02:14.060 align:start position:0%
the package and the packages themselves
 

00:02:14.060 --> 00:02:16.510 align:start position:0%
the package and the packages themselves
are<00:02:14.209><c> designed</c><00:02:14.840><c> to</c><00:02:14.989><c> be</c><00:02:15.200><c> immutable</c><00:02:15.440><c> which</c><00:02:16.280><c> means</c>

00:02:16.510 --> 00:02:16.520 align:start position:0%
are designed to be immutable which means
 

00:02:16.520 --> 00:02:18.190 align:start position:0%
are designed to be immutable which means
once<00:02:16.760><c> you</c><00:02:16.819><c> have</c><00:02:17.030><c> a</c><00:02:17.060><c> reference</c><00:02:17.510><c> to</c><00:02:17.720><c> a</c><00:02:17.750><c> package</c>

00:02:18.190 --> 00:02:18.200 align:start position:0%
once you have a reference to a package
 

00:02:18.200 --> 00:02:20.140 align:start position:0%
once you have a reference to a package
that<00:02:18.800><c> thing</c><00:02:19.010><c> can</c><00:02:19.190><c> never</c><00:02:19.370><c> change</c><00:02:19.459><c> out</c><00:02:19.940><c> from</c>

00:02:20.140 --> 00:02:20.150 align:start position:0%
that thing can never change out from
 

00:02:20.150 --> 00:02:24.699 align:start position:0%
that thing can never change out from
under<00:02:20.360><c> you</c><00:02:22.510><c> package</c><00:02:23.510><c> because</c><00:02:23.720><c> the</c><00:02:23.930><c> packages</c>

00:02:24.699 --> 00:02:24.709 align:start position:0%
under you package because the packages
 

00:02:24.709 --> 00:02:27.400 align:start position:0%
under you package because the packages
ERC<00:02:25.520><c> 190</c><00:02:25.940><c> packages</c><00:02:26.450><c> can</c><00:02:26.690><c> include</c><00:02:26.989><c> a</c><00:02:27.080><c> number</c><00:02:27.319><c> of</c>

00:02:27.400 --> 00:02:27.410 align:start position:0%
ERC 190 packages can include a number of
 

00:02:27.410 --> 00:02:30.220 align:start position:0%
ERC 190 packages can include a number of
things<00:02:28.120><c> full</c><00:02:29.120><c> source</c><00:02:29.450><c> code</c><00:02:29.540><c> for</c><00:02:29.930><c> the</c><00:02:30.020><c> source</c>

00:02:30.220 --> 00:02:30.230 align:start position:0%
things full source code for the source
 

00:02:30.230 --> 00:02:36.059 align:start position:0%
things full source code for the source
files<00:02:32.260><c> assets</c><00:02:33.260><c> that</c><00:02:33.500><c> have</c><00:02:33.620><c> been</c><00:02:33.700><c> precompiled</c>

00:02:36.059 --> 00:02:36.069 align:start position:0%
files assets that have been precompiled
 

00:02:36.069 --> 00:02:39.580 align:start position:0%
files assets that have been precompiled
ABI<00:02:37.069><c> for</c><00:02:37.580><c> contracts</c><00:02:38.030><c> that</c><00:02:38.209><c> are</c><00:02:38.300><c> included</c><00:02:38.690><c> the</c>

00:02:39.580 --> 00:02:39.590 align:start position:0%
ABI for contracts that are included the
 

00:02:39.590 --> 00:02:41.979 align:start position:0%
ABI for contracts that are included the
addresses<00:02:40.400><c> of</c><00:02:40.580><c> actual</c><00:02:40.940><c> deployed</c><00:02:41.300><c> assets</c><00:02:41.780><c> on</c>

00:02:41.979 --> 00:02:41.989 align:start position:0%
addresses of actual deployed assets on
 

00:02:41.989 --> 00:02:44.979 align:start position:0%
addresses of actual deployed assets on
the<00:02:42.080><c> blockchain</c><00:02:42.620><c> and</c><00:02:43.550><c> as</c><00:02:44.300><c> well</c><00:02:44.510><c> as</c><00:02:44.660><c> sort</c><00:02:44.900><c> of</c>

00:02:44.979 --> 00:02:44.989 align:start position:0%
the blockchain and as well as sort of
 

00:02:44.989 --> 00:02:47.170 align:start position:0%
the blockchain and as well as sort of
nitty-gritty<00:02:45.260><c> data</c><00:02:45.860><c> like</c><00:02:46.220><c> link</c><00:02:46.549><c> references</c>

00:02:47.170 --> 00:02:47.180 align:start position:0%
nitty-gritty data like link references
 

00:02:47.180 --> 00:02:49.120 align:start position:0%
nitty-gritty data like link references
when<00:02:47.660><c> people</c><00:02:48.380><c> are</c><00:02:48.470><c> using</c><00:02:48.650><c> things</c><00:02:48.980><c> like</c>

00:02:49.120 --> 00:02:49.130 align:start position:0%
when people are using things like
 

00:02:49.130 --> 00:02:51.940 align:start position:0%
when people are using things like
libraries<00:02:49.850><c> from</c><00:02:50.090><c> solidity</c><00:02:50.569><c> so</c><00:02:51.560><c> that</c><00:02:51.709><c> you</c><00:02:51.799><c> can</c>

00:02:51.940 --> 00:02:51.950 align:start position:0%
libraries from solidity so that you can
 

00:02:51.950 --> 00:02:53.830 align:start position:0%
libraries from solidity so that you can
actually<00:02:52.100><c> do</c><00:02:52.400><c> verification</c><00:02:53.090><c> all</c><00:02:53.299><c> the</c><00:02:53.750><c> way</c>

00:02:53.830 --> 00:02:53.840 align:start position:0%
actually do verification all the way
 

00:02:53.840 --> 00:02:57.340 align:start position:0%
actually do verification all the way
down<00:02:54.019><c> the</c><00:02:54.200><c> chain</c><00:02:55.720><c> we</c><00:02:56.720><c> also</c><00:02:56.840><c> covered</c><00:02:57.230><c> a</c><00:02:57.319><c> number</c>

00:02:57.340 --> 00:02:57.350 align:start position:0%
down the chain we also covered a number
 

00:02:57.350 --> 00:02:59.830 align:start position:0%
down the chain we also covered a number
of<00:02:57.590><c> use</c><00:02:57.799><c> cases</c><00:02:58.069><c> so</c><00:02:58.700><c> base</c><00:02:59.269><c> things</c><00:02:59.630><c> like</c>

00:02:59.830 --> 00:02:59.840 align:start position:0%
of use cases so base things like
 

00:02:59.840 --> 00:03:01.960 align:start position:0%
of use cases so base things like
reusable<00:03:00.440><c> contracts</c><00:03:00.950><c> you</c><00:03:01.250><c> can</c><00:03:01.400><c> think</c><00:03:01.640><c> of</c><00:03:01.760><c> like</c>

00:03:01.960 --> 00:03:01.970 align:start position:0%
reusable contracts you can think of like
 

00:03:01.970 --> 00:03:05.170 align:start position:0%
reusable contracts you can think of like
the<00:03:02.690><c> ERC</c><00:03:03.049><c> 20</c><00:03:03.500><c> contracts</c><00:03:04.040><c> that</c><00:03:04.400><c> ship</c><00:03:04.760><c> with</c><00:03:05.060><c> the</c>

00:03:05.170 --> 00:03:05.180 align:start position:0%
the ERC 20 contracts that ship with the
 

00:03:05.180 --> 00:03:09.789 align:start position:0%
the ERC 20 contracts that ship with the
Zeppelin<00:03:05.599><c> OS</c><00:03:07.299><c> sort</c><00:03:08.299><c> of</c><00:03:08.420><c> normal</c><00:03:09.349><c> common</c>

00:03:09.789 --> 00:03:09.799 align:start position:0%
Zeppelin OS sort of normal common
 

00:03:09.799 --> 00:03:12.339 align:start position:0%
Zeppelin OS sort of normal common
patterns<00:03:10.160><c> like</c><00:03:10.370><c> the</c><00:03:10.519><c> owned</c><00:03:10.700><c> pattern</c><00:03:11.360><c> as</c><00:03:12.110><c> well</c>

00:03:12.339 --> 00:03:12.349 align:start position:0%
patterns like the owned pattern as well
 

00:03:12.349 --> 00:03:15.539 align:start position:0%
patterns like the owned pattern as well
as<00:03:12.530><c> live</c><00:03:12.769><c> contracts</c><00:03:13.459><c> deployed</c><00:03:14.450><c> instances</c>

00:03:15.539 --> 00:03:15.549 align:start position:0%
as live contracts deployed instances
 

00:03:15.549 --> 00:03:19.840 align:start position:0%
as live contracts deployed instances
things<00:03:16.549><c> like</c><00:03:16.700><c> that</c><00:03:17.980><c> we</c><00:03:18.980><c> also</c><00:03:19.280><c> made</c><00:03:19.640><c> sure</c><00:03:19.670><c> that</c>

00:03:19.840 --> 00:03:19.850 align:start position:0%
things like that we also made sure that
 

00:03:19.850 --> 00:03:22.960 align:start position:0%
things like that we also made sure that
we<00:03:20.060><c> covered</c><00:03:20.420><c> both</c><00:03:20.780><c> the</c><00:03:21.739><c> theory</c><00:03:22.430><c> of</c><00:03:22.519><c> main</c><00:03:22.730><c> net</c>

00:03:22.960 --> 00:03:22.970 align:start position:0%
we covered both the theory of main net
 

00:03:22.970 --> 00:03:25.780 align:start position:0%
we covered both the theory of main net
case<00:03:23.299><c> which</c><00:03:24.109><c> is</c><00:03:24.290><c> a</c><00:03:24.650><c> place</c><00:03:25.100><c> where</c><00:03:25.370><c> we</c><00:03:25.519><c> don't</c>

00:03:25.780 --> 00:03:25.790 align:start position:0%
case which is a place where we don't
 

00:03:25.790 --> 00:03:27.670 align:start position:0%
case which is a place where we don't
want<00:03:25.940><c> to</c><00:03:26.000><c> have</c><00:03:26.120><c> to</c><00:03:26.269><c> trust</c><00:03:26.480><c> things</c><00:03:26.780><c> and</c><00:03:27.140><c> we</c><00:03:27.350><c> want</c>

00:03:27.670 --> 00:03:27.680 align:start position:0%
want to have to trust things and we want
 

00:03:27.680 --> 00:03:29.979 align:start position:0%
want to have to trust things and we want
to<00:03:27.859><c> be</c><00:03:27.980><c> able</c><00:03:28.070><c> to</c><00:03:28.220><c> verify</c><00:03:28.400><c> everything</c><00:03:28.850><c> as</c><00:03:29.780><c> well</c>

00:03:29.979 --> 00:03:29.989 align:start position:0%
to be able to verify everything as well
 

00:03:29.989 --> 00:03:34.870 align:start position:0%
to be able to verify everything as well
as<00:03:30.109><c> stuff</c><00:03:30.319><c> for</c><00:03:32.109><c> private</c><00:03:33.109><c> chains</c><00:03:33.609><c> places</c><00:03:34.609><c> where</c>

00:03:34.870 --> 00:03:34.880 align:start position:0%
as stuff for private chains places where
 

00:03:34.880 --> 00:03:36.729 align:start position:0%
as stuff for private chains places where
you're<00:03:35.390><c> working</c><00:03:35.840><c> in</c><00:03:36.019><c> an</c><00:03:36.140><c> environment</c><00:03:36.290><c> where</c>

00:03:36.729 --> 00:03:36.739 align:start position:0%
you're working in an environment where
 

00:03:36.739 --> 00:03:39.190 align:start position:0%
you're working in an environment where
Trust<00:03:37.010><c> is</c><00:03:37.190><c> okay</c><00:03:37.549><c> where</c><00:03:38.420><c> potentially</c><00:03:39.049><c> the</c>

00:03:39.190 --> 00:03:39.200 align:start position:0%
Trust is okay where potentially the
 

00:03:39.200 --> 00:03:41.680 align:start position:0%
Trust is okay where potentially the
packages<00:03:39.709><c> that</c><00:03:39.980><c> you're</c><00:03:40.160><c> using</c><00:03:40.579><c> are</c><00:03:40.970><c> all</c><00:03:41.390><c> made</c>

00:03:41.680 --> 00:03:41.690 align:start position:0%
packages that you're using are all made
 

00:03:41.690 --> 00:03:44.110 align:start position:0%
packages that you're using are all made
by<00:03:41.900><c> you</c><00:03:41.959><c> so</c><00:03:42.530><c> you</c><00:03:42.590><c> are</c><00:03:42.950><c> happy</c><00:03:43.280><c> to</c><00:03:43.489><c> just</c><00:03:43.760><c> trust</c>

00:03:44.110 --> 00:03:44.120 align:start position:0%
by you so you are happy to just trust
 

00:03:44.120 --> 00:03:46.059 align:start position:0%
by you so you are happy to just trust
embedded<00:03:44.810><c> byte</c><00:03:45.019><c> code</c><00:03:45.260><c> in</c><00:03:45.410><c> them</c><00:03:45.590><c> rather</c><00:03:45.829><c> than</c>

00:03:46.059 --> 00:03:46.069 align:start position:0%
embedded byte code in them rather than
 

00:03:46.069 --> 00:03:49.390 align:start position:0%
embedded byte code in them rather than
verifying<00:03:46.760><c> that</c><00:03:47.060><c> that</c><00:03:47.870><c> matches</c><00:03:48.260><c> the</c><00:03:48.530><c> source</c>

00:03:49.390 --> 00:03:49.400 align:start position:0%
verifying that that matches the source
 

00:03:49.400 --> 00:03:52.870 align:start position:0%
verifying that that matches the source
code<00:03:50.410><c> so</c><00:03:51.410><c> let's</c><00:03:51.709><c> look</c><00:03:51.980><c> at</c><00:03:52.069><c> some</c><00:03:52.220><c> examples</c><00:03:52.670><c> of</c>

00:03:52.870 --> 00:03:52.880 align:start position:0%
code so let's look at some examples of
 

00:03:52.880 --> 00:03:54.370 align:start position:0%
code so let's look at some examples of
what<00:03:53.150><c> a</c><00:03:53.180><c> smart</c><00:03:53.540><c> contract</c><00:03:53.690><c> package</c><00:03:54.230><c> actually</c>

00:03:54.370 --> 00:03:54.380 align:start position:0%
what a smart contract package actually
 

00:03:54.380 --> 00:03:57.640 align:start position:0%
what a smart contract package actually
looks<00:03:54.769><c> like</c><00:03:55.900><c> this</c><00:03:56.900><c> should</c><00:03:57.019><c> be</c><00:03:57.139><c> familiar</c><00:03:57.590><c> to</c>

00:03:57.640 --> 00:03:57.650 align:start position:0%
looks like this should be familiar to
 

00:03:57.650 --> 00:03:59.830 align:start position:0%
looks like this should be familiar to
anybody<00:03:58.040><c> who's</c><00:03:58.370><c> worked</c><00:03:58.579><c> in</c><00:03:58.700><c> solidity</c><00:03:59.120><c> this</c><00:03:59.660><c> is</c>

00:03:59.830 --> 00:03:59.840 align:start position:0%
anybody who's worked in solidity this is
 

00:03:59.840 --> 00:04:03.460 align:start position:0%
anybody who's worked in solidity this is
a<00:03:59.870><c> very</c><00:04:00.290><c> standard</c><00:04:00.680><c> pattern</c><00:04:01.810><c> I'm</c><00:04:02.810><c> sure</c><00:04:03.260><c> that</c>

00:04:03.460 --> 00:04:03.470 align:start position:0%
a very standard pattern I'm sure that
 

00:04:03.470 --> 00:04:06.370 align:start position:0%
a very standard pattern I'm sure that
you<00:04:03.950><c> can</c><00:04:04.130><c> find</c><00:04:04.430><c> almost</c><00:04:04.850><c> this</c><00:04:05.389><c> exact</c><00:04:05.780><c> contract</c>

00:04:06.370 --> 00:04:06.380 align:start position:0%
you can find almost this exact contract
 

00:04:06.380 --> 00:04:10.690 align:start position:0%
you can find almost this exact contract
in<00:04:06.620><c> hundreds</c><00:04:07.370><c> of</c><00:04:07.519><c> different</c><00:04:07.670><c> code</c><00:04:08.299><c> bases</c><00:04:09.700><c> so</c>

00:04:10.690 --> 00:04:10.700 align:start position:0%
in hundreds of different code bases so
 

00:04:10.700 --> 00:04:13.140 align:start position:0%
in hundreds of different code bases so
this<00:04:11.030><c> is</c><00:04:11.209><c> what</c><00:04:11.420><c> I</c><00:04:11.450><c> call</c><00:04:12.170><c> an</c><00:04:12.380><c> inheritable</c>

00:04:13.140 --> 00:04:13.150 align:start position:0%
this is what I call an inheritable
 

00:04:13.150 --> 00:04:15.550 align:start position:0%
this is what I call an inheritable
contract<00:04:14.150><c> this</c><00:04:14.870><c> contract</c><00:04:15.230><c> is</c><00:04:15.290><c> not</c><00:04:15.350><c> really</c>

00:04:15.550 --> 00:04:15.560 align:start position:0%
contract this contract is not really
 

00:04:15.560 --> 00:04:18.490 align:start position:0%
contract this contract is not really
useful<00:04:15.709><c> on</c><00:04:16.010><c> its</c><00:04:16.190><c> own</c><00:04:16.430><c> but</c><00:04:17.269><c> it</c><00:04:17.810><c> is</c><00:04:17.930><c> useful</c><00:04:18.139><c> when</c>

00:04:18.490 --> 00:04:18.500 align:start position:0%
useful on its own but it is useful when
 

00:04:18.500 --> 00:04:20.740 align:start position:0%
useful on its own but it is useful when
when<00:04:18.889><c> you</c><00:04:19.039><c> when</c><00:04:19.400><c> you</c><00:04:19.519><c> inherit</c><00:04:20.030><c> from</c><00:04:20.389><c> it</c><00:04:20.570><c> and</c>

00:04:20.740 --> 00:04:20.750 align:start position:0%
when you when you inherit from it and
 

00:04:20.750 --> 00:04:24.460 align:start position:0%
when you when you inherit from it and
make<00:04:20.930><c> use</c><00:04:21.109><c> of</c><00:04:21.139><c> some</c><00:04:21.470><c> of</c><00:04:21.500><c> these</c><00:04:21.769><c> modifiers</c><00:04:23.470><c> this</c>

00:04:24.460 --> 00:04:24.470 align:start position:0%
make use of some of these modifiers this
 

00:04:24.470 --> 00:04:26.260 align:start position:0%
make use of some of these modifiers this
is<00:04:24.710><c> a</c><00:04:24.740><c> very</c><00:04:25.220><c> simple</c><00:04:25.610><c> version</c><00:04:25.760><c> of</c><00:04:26.030><c> what</c><00:04:26.150><c> this</c>

00:04:26.260 --> 00:04:26.270 align:start position:0%
is a very simple version of what this
 

00:04:26.270 --> 00:04:27.760 align:start position:0%
is a very simple version of what this
package<00:04:26.630><c> looks</c><00:04:26.870><c> like</c>

00:04:27.760 --> 00:04:27.770 align:start position:0%
package looks like
 

00:04:27.770 --> 00:04:29.830 align:start position:0%
package looks like
is<00:04:27.860><c> a</c><00:04:28.009><c> JSON</c><00:04:28.370><c> document</c><00:04:28.400><c> it</c><00:04:29.090><c> defines</c><00:04:29.419><c> a</c><00:04:29.539><c> couple</c>

00:04:29.830 --> 00:04:29.840 align:start position:0%
is a JSON document it defines a couple
 

00:04:29.840 --> 00:04:32.110 align:start position:0%
is a JSON document it defines a couple
of<00:04:29.930><c> bits</c><00:04:30.080><c> of</c><00:04:30.229><c> metadata</c><00:04:30.620><c> and</c><00:04:30.919><c> it</c><00:04:31.550><c> uses</c><00:04:31.759><c> a</c>

00:04:32.110 --> 00:04:32.120 align:start position:0%
of bits of metadata and it uses a
 

00:04:32.120 --> 00:04:35.740 align:start position:0%
of bits of metadata and it uses a
content<00:04:32.840><c> addressable</c><00:04:33.020><c> URI</c><00:04:33.620><c> an</c><00:04:34.039><c> IP</c><00:04:34.310><c> FS</c><00:04:34.699><c> URI</c><00:04:35.060><c> to</c>

00:04:35.740 --> 00:04:35.750 align:start position:0%
content addressable URI an IP FS URI to
 

00:04:35.750 --> 00:04:40.570 align:start position:0%
content addressable URI an IP FS URI to
reference<00:04:36.259><c> the</c><00:04:36.620><c> actual</c><00:04:37.220><c> source</c><00:04:37.460><c> code</c><00:04:39.580><c> and</c>

00:04:40.570 --> 00:04:40.580 align:start position:0%
reference the actual source code and
 

00:04:40.580 --> 00:04:43.899 align:start position:0%
reference the actual source code and
then<00:04:41.509><c> if</c><00:04:41.810><c> you</c><00:04:42.050><c> pipe</c><00:04:42.289><c> that</c><00:04:42.889><c> lock</c><00:04:43.159><c> file</c><00:04:43.460><c> from</c><00:04:43.789><c> the</c>

00:04:43.899 --> 00:04:43.909 align:start position:0%
then if you pipe that lock file from the
 

00:04:43.909 --> 00:04:46.059 align:start position:0%
then if you pipe that lock file from the
previous<00:04:43.940><c> version</c><00:04:44.690><c> by</c><00:04:45.259><c> the</c><00:04:45.289><c> way</c><00:04:45.470><c> IU</c><00:04:45.650><c> we</c><00:04:45.919><c> use</c>

00:04:46.059 --> 00:04:46.069 align:start position:0%
previous version by the way IU we use
 

00:04:46.069 --> 00:04:47.649 align:start position:0%
previous version by the way IU we use
the<00:04:46.250><c> term</c><00:04:46.430><c> lock</c><00:04:46.639><c> file</c><00:04:46.940><c> it's</c><00:04:47.300><c> roughly</c>

00:04:47.649 --> 00:04:47.659 align:start position:0%
the term lock file it's roughly
 

00:04:47.659 --> 00:04:51.309 align:start position:0%
the term lock file it's roughly
interchangeable<00:04:48.319><c> with</c><00:04:48.470><c> package</c><00:04:49.780><c> then</c><00:04:50.780><c> this</c>

00:04:51.309 --> 00:04:51.319 align:start position:0%
interchangeable with package then this
 

00:04:51.319 --> 00:04:54.339 align:start position:0%
interchangeable with package then this
right<00:04:51.650><c> here</c><00:04:51.710><c> is</c><00:04:52.099><c> the</c><00:04:52.280><c> actual</c><00:04:52.610><c> IP</c><00:04:53.030><c> FS</c><00:04:53.449><c> URI</c><00:04:53.750><c> for</c>

00:04:54.339 --> 00:04:54.349 align:start position:0%
right here is the actual IP FS URI for
 

00:04:54.349 --> 00:04:57.100 align:start position:0%
right here is the actual IP FS URI for
that<00:04:54.500><c> package</c><00:04:54.770><c> and</c><00:04:55.220><c> in</c><00:04:55.970><c> theory</c><00:04:56.300><c> with</c><00:04:57.080><c> a</c>

00:04:57.100 --> 00:04:57.110 align:start position:0%
that package and in theory with a
 

00:04:57.110 --> 00:05:00.219 align:start position:0%
that package and in theory with a
supporting<00:04:58.000><c> development</c><00:04:59.000><c> tool</c><00:04:59.240><c> you</c><00:04:59.840><c> can</c><00:04:59.990><c> take</c>

00:05:00.219 --> 00:05:00.229 align:start position:0%
supporting development tool you can take
 

00:05:00.229 --> 00:05:02.200 align:start position:0%
supporting development tool you can take
this<00:05:00.440><c> and</c><00:05:00.710><c> use</c><00:05:00.919><c> it</c><00:05:00.949><c> to</c><00:05:01.220><c> install</c><00:05:01.490><c> the</c><00:05:02.000><c> owned</c>

00:05:02.200 --> 00:05:02.210 align:start position:0%
this and use it to install the owned
 

00:05:02.210 --> 00:05:08.020 align:start position:0%
this and use it to install the owned
package<00:05:03.520><c> now</c><00:05:04.520><c> that's</c><00:05:04.849><c> a</c><00:05:05.210><c> very</c><00:05:05.720><c> ugly</c><00:05:07.030><c> reference</c>

00:05:08.020 --> 00:05:08.030 align:start position:0%
package now that's a very ugly reference
 

00:05:08.030 --> 00:05:11.890 align:start position:0%
package now that's a very ugly reference
to<00:05:08.270><c> own</c><00:05:08.449><c> it's</c><00:05:09.050><c> not</c><00:05:09.110><c> a</c><00:05:09.229><c> very</c><00:05:09.470><c> nice</c><00:05:09.650><c> URL</c><00:05:10.840><c> way</c><00:05:11.840><c> to</c>

00:05:11.890 --> 00:05:11.900 align:start position:0%
to own it's not a very nice URL way to
 

00:05:11.900 --> 00:05:13.480 align:start position:0%
to own it's not a very nice URL way to
install<00:05:12.440><c> things</c><00:05:12.650><c> so</c><00:05:12.889><c> we'll</c><00:05:13.039><c> talk</c><00:05:13.190><c> about</c><00:05:13.250><c> that</c>

00:05:13.480 --> 00:05:13.490 align:start position:0%
install things so we'll talk about that
 

00:05:13.490 --> 00:05:16.570 align:start position:0%
install things so we'll talk about that
in<00:05:13.639><c> a</c><00:05:13.759><c> little</c><00:05:13.880><c> bit</c><00:05:14.120><c> here</c><00:05:14.330><c> so</c><00:05:15.190><c> we</c><00:05:16.190><c> have</c><00:05:16.310><c> a</c><00:05:16.340><c> source</c>

00:05:16.570 --> 00:05:16.580 align:start position:0%
in a little bit here so we have a source
 

00:05:16.580 --> 00:05:18.879 align:start position:0%
in a little bit here so we have a source
file<00:05:16.849><c> we</c><00:05:17.720><c> have</c><00:05:17.750><c> this</c><00:05:17.930><c> lock</c><00:05:18.199><c> file</c><00:05:18.470><c> which</c><00:05:18.770><c> you</c>

00:05:18.879 --> 00:05:18.889 align:start position:0%
file we have this lock file which you
 

00:05:18.889 --> 00:05:20.770 align:start position:0%
file we have this lock file which you
can<00:05:19.009><c> also</c><00:05:19.130><c> think</c><00:05:19.400><c> of</c><00:05:19.460><c> as</c><00:05:19.610><c> a</c><00:05:19.639><c> package</c><00:05:20.090><c> and</c><00:05:20.300><c> then</c>

00:05:20.770 --> 00:05:20.780 align:start position:0%
can also think of as a package and then
 

00:05:20.780 --> 00:05:22.270 align:start position:0%
can also think of as a package and then
we<00:05:20.930><c> can</c><00:05:21.080><c> reference</c><00:05:21.259><c> it</c><00:05:21.590><c> using</c><00:05:21.949><c> its</c><00:05:22.130><c> own</c>

00:05:22.270 --> 00:05:22.280 align:start position:0%
we can reference it using its own
 

00:05:22.280 --> 00:05:27.369 align:start position:0%
we can reference it using its own
content<00:05:22.789><c> addressable</c><00:05:22.969><c> URI</c><00:05:25.810><c> so</c><00:05:26.810><c> let's</c><00:05:27.139><c> look</c><00:05:27.229><c> at</c>

00:05:27.369 --> 00:05:27.379 align:start position:0%
content addressable URI so let's look at
 

00:05:27.379 --> 00:05:29.499 align:start position:0%
content addressable URI so let's look at
what<00:05:27.560><c> dependencies</c><00:05:28.280><c> look</c><00:05:28.490><c> like</c><00:05:28.699><c> so</c><00:05:29.240><c> we</c><00:05:29.479><c> can</c>

00:05:29.499 --> 00:05:29.509 align:start position:0%
what dependencies look like so we can
 

00:05:29.509 --> 00:05:31.990 align:start position:0%
what dependencies look like so we can
actually<00:05:29.780><c> extend</c><00:05:30.379><c> the</c><00:05:30.680><c> owned</c><00:05:30.979><c> concept</c><00:05:31.819><c> with</c>

00:05:31.990 --> 00:05:32.000 align:start position:0%
actually extend the owned concept with
 

00:05:32.000 --> 00:05:35.140 align:start position:0%
actually extend the owned concept with
this<00:05:32.090><c> transferable</c><00:05:32.990><c> contract</c><00:05:33.500><c> it</c><00:05:34.190><c> depends</c><00:05:35.030><c> on</c>

00:05:35.140 --> 00:05:35.150 align:start position:0%
this transferable contract it depends on
 

00:05:35.150 --> 00:05:37.689 align:start position:0%
this transferable contract it depends on
the<00:05:35.360><c> previous</c><00:05:35.599><c> example</c><00:05:36.380><c> and</c><00:05:37.039><c> this</c><00:05:37.370><c> is</c><00:05:37.520><c> what</c>

00:05:37.689 --> 00:05:37.699 align:start position:0%
the previous example and this is what
 

00:05:37.699 --> 00:05:39.189 align:start position:0%
the previous example and this is what
the<00:05:37.819><c> lock</c><00:05:38.000><c> file</c><00:05:38.240><c> is</c><00:05:38.479><c> gonna</c><00:05:38.659><c> look</c><00:05:38.840><c> like</c><00:05:39.020><c> for</c>

00:05:39.189 --> 00:05:39.199 align:start position:0%
the lock file is gonna look like for
 

00:05:39.199 --> 00:05:42.459 align:start position:0%
the lock file is gonna look like for
that<00:05:39.259><c> package</c><00:05:39.909><c> it</c><00:05:40.909><c> references</c><00:05:41.750><c> the</c><00:05:42.199><c> other</c>

00:05:42.459 --> 00:05:42.469 align:start position:0%
that package it references the other
 

00:05:42.469 --> 00:05:45.129 align:start position:0%
that package it references the other
lock<00:05:42.889><c> file</c><00:05:43.190><c> using</c><00:05:44.060><c> the</c><00:05:44.330><c> build</c><00:05:44.509><c> dependency</c>

00:05:45.129 --> 00:05:45.139 align:start position:0%
lock file using the build dependency
 

00:05:45.139 --> 00:05:50.920 align:start position:0%
lock file using the build dependency
this<00:05:45.590><c> build</c><00:05:45.860><c> dependencies</c><00:05:46.250><c> key</c><00:05:49.419><c> which</c><00:05:50.419><c> makes</c>

00:05:50.920 --> 00:05:50.930 align:start position:0%
this build dependencies key which makes
 

00:05:50.930 --> 00:05:53.589 align:start position:0%
this build dependencies key which makes
the<00:05:51.199><c> the</c><00:05:51.440><c> entire</c><00:05:51.800><c> dependency</c><00:05:52.610><c> tree</c><00:05:52.909><c> immutable</c>

00:05:53.589 --> 00:05:53.599 align:start position:0%
the the entire dependency tree immutable
 

00:05:53.599 --> 00:05:55.120 align:start position:0%
the the entire dependency tree immutable
because<00:05:53.840><c> everything</c><00:05:54.349><c> is</c><00:05:54.469><c> using</c><00:05:54.740><c> content</c>

00:05:55.120 --> 00:05:55.130 align:start position:0%
because everything is using content
 

00:05:55.130 --> 00:05:58.719 align:start position:0%
because everything is using content
addressable<00:05:55.370><c> your</c><00:05:55.789><c> eyes</c><00:05:57.250><c> we</c><00:05:58.250><c> can</c><00:05:58.370><c> move</c><00:05:58.490><c> on</c><00:05:58.639><c> to</c>

00:05:58.719 --> 00:05:58.729 align:start position:0%
addressable your eyes we can move on to
 

00:05:58.729 --> 00:06:00.490 align:start position:0%
addressable your eyes we can move on to
things<00:05:58.969><c> like</c><00:05:59.060><c> ready-to-use</c><00:05:59.569><c> contracts</c><00:06:00.229><c> like</c>

00:06:00.490 --> 00:06:00.500 align:start position:0%
things like ready-to-use contracts like
 

00:06:00.500 --> 00:06:02.439 align:start position:0%
things like ready-to-use contracts like
a<00:06:00.759><c> ready</c><00:06:01.759><c> to</c><00:06:01.940><c> go</c>

00:06:02.439 --> 00:06:02.449 align:start position:0%
a ready to go
 

00:06:02.449 --> 00:06:05.379 align:start position:0%
a ready to go
er<00:06:02.719><c> C</c><00:06:02.930><c> 20</c><00:06:03.229><c> contract</c><00:06:03.740><c> that</c><00:06:04.190><c> can</c><00:06:04.940><c> just</c><00:06:05.120><c> be</c><00:06:05.210><c> used</c>

00:06:05.379 --> 00:06:05.389 align:start position:0%
er C 20 contract that can just be used
 

00:06:05.389 --> 00:06:09.370 align:start position:0%
er C 20 contract that can just be used
right<00:06:05.630><c> out</c><00:06:05.779><c> of</c><00:06:05.810><c> the</c><00:06:05.960><c> box</c><00:06:06.550><c> here's</c><00:06:07.550><c> some</c><00:06:08.380><c> we've</c>

00:06:09.370 --> 00:06:09.380 align:start position:0%
right out of the box here's some we've
 

00:06:09.380 --> 00:06:11.439 align:start position:0%
right out of the box here's some we've
got<00:06:09.590><c> two</c><00:06:09.770><c> source</c><00:06:10.069><c> files</c><00:06:10.340><c> here</c><00:06:10.819><c> that</c><00:06:10.849><c> that</c><00:06:11.300><c> are</c>

00:06:11.439 --> 00:06:11.449 align:start position:0%
got two source files here that that are
 

00:06:11.449 --> 00:06:15.100 align:start position:0%
got two source files here that that are
the<00:06:11.740><c> an</c><00:06:13.300><c> abstract</c><00:06:14.300><c> version</c><00:06:14.539><c> of</c><00:06:14.810><c> it</c><00:06:14.930><c> and</c><00:06:15.050><c> the</c>

00:06:15.100 --> 00:06:15.110 align:start position:0%
the an abstract version of it and the
 

00:06:15.110 --> 00:06:18.159 align:start position:0%
the an abstract version of it and the
actual<00:06:15.409><c> implementation</c><00:06:15.680><c> and</c><00:06:16.550><c> in</c><00:06:17.449><c> this</c><00:06:17.630><c> one</c><00:06:17.900><c> we</c>

00:06:18.159 --> 00:06:18.169 align:start position:0%
actual implementation and in this one we
 

00:06:18.169 --> 00:06:19.600 align:start position:0%
actual implementation and in this one we
actually<00:06:18.529><c> include</c><00:06:18.860><c> some</c><00:06:19.039><c> information</c><00:06:19.099><c> about</c>

00:06:19.600 --> 00:06:19.610 align:start position:0%
actually include some information about
 

00:06:19.610 --> 00:06:21.999 align:start position:0%
actually include some information about
the<00:06:19.789><c> contract</c><00:06:20.270><c> types</c><00:06:20.539><c> themselves</c><00:06:21.259><c> we</c><00:06:21.830><c> say</c>

00:06:21.999 --> 00:06:22.009 align:start position:0%
the contract types themselves we say
 

00:06:22.009 --> 00:06:23.830 align:start position:0%
the contract types themselves we say
this<00:06:22.190><c> includes</c><00:06:22.669><c> the</c><00:06:22.909><c> standard</c><00:06:23.180><c> token</c>

00:06:23.830 --> 00:06:23.840 align:start position:0%
this includes the standard token
 

00:06:23.840 --> 00:06:26.019 align:start position:0%
this includes the standard token
contract<00:06:24.469><c> there's</c><00:06:25.219><c> maybe</c><00:06:25.550><c> some</c><00:06:25.819><c> meta</c>

00:06:26.019 --> 00:06:26.029 align:start position:0%
contract there's maybe some meta
 

00:06:26.029 --> 00:06:27.820 align:start position:0%
contract there's maybe some meta
information<00:06:26.659><c> included</c><00:06:27.139><c> with</c><00:06:27.349><c> it</c><00:06:27.529><c> like</c><00:06:27.710><c> the</c>

00:06:27.820 --> 00:06:27.830 align:start position:0%
information included with it like the
 

00:06:27.830 --> 00:06:30.370 align:start position:0%
information included with it like the
ABI<00:06:28.159><c> that</c><00:06:28.610><c> allows</c><00:06:28.819><c> people</c><00:06:29.090><c> to</c><00:06:29.270><c> use</c><00:06:29.810><c> this</c>

00:06:30.370 --> 00:06:30.380 align:start position:0%
ABI that allows people to use this
 

00:06:30.380 --> 00:06:31.809 align:start position:0%
ABI that allows people to use this
package<00:06:30.620><c> to</c><00:06:30.919><c> interact</c><00:06:31.250><c> with</c><00:06:31.370><c> it</c>

00:06:31.809 --> 00:06:31.819 align:start position:0%
package to interact with it
 

00:06:31.819 --> 00:06:35.620 align:start position:0%
package to interact with it
and<00:06:32.919><c> we</c><00:06:33.919><c> can</c><00:06:34.069><c> also</c><00:06:34.219><c> include</c><00:06:34.639><c> bits</c><00:06:35.360><c> of</c><00:06:35.509><c> extra</c>

00:06:35.620 --> 00:06:35.630 align:start position:0%
and we can also include bits of extra
 

00:06:35.630 --> 00:06:38.200 align:start position:0%
and we can also include bits of extra
information<00:06:36.349><c> like</c><00:06:36.800><c> the</c><00:06:37.070><c> compiled</c><00:06:37.639><c> bytecode</c>

00:06:38.200 --> 00:06:38.210 align:start position:0%
information like the compiled bytecode
 

00:06:38.210 --> 00:06:39.969 align:start position:0%
information like the compiled bytecode
and<00:06:38.479><c> the</c><00:06:38.719><c> information</c><00:06:39.080><c> about</c><00:06:39.380><c> the</c><00:06:39.469><c> compiler</c>

00:06:39.969 --> 00:06:39.979 align:start position:0%
and the information about the compiler
 

00:06:39.979 --> 00:06:41.080 align:start position:0%
and the information about the compiler
that<00:06:40.009><c> we</c><00:06:40.250><c> used</c>

00:06:41.080 --> 00:06:41.090 align:start position:0%
that we used
 

00:06:41.090 --> 00:06:43.450 align:start position:0%
that we used
to<00:06:41.210><c> actually</c><00:06:41.510><c> compile</c><00:06:41.870><c> this</c><00:06:42.160><c> no</c><00:06:43.160><c> this</c><00:06:43.310><c> is</c>

00:06:43.450 --> 00:06:43.460 align:start position:0%
to actually compile this no this is
 

00:06:43.460 --> 00:06:45.430 align:start position:0%
to actually compile this no this is
where<00:06:43.699><c> we</c><00:06:43.820><c> get</c><00:06:43.970><c> into</c><00:06:44.090><c> different</c><00:06:44.330><c> use</c><00:06:44.600><c> cases</c><00:06:44.870><c> if</c>

00:06:45.430 --> 00:06:45.440 align:start position:0%
where we get into different use cases if
 

00:06:45.440 --> 00:06:47.409 align:start position:0%
where we get into different use cases if
this<00:06:46.130><c> were</c><00:06:46.280><c> a</c><00:06:46.310><c> package</c><00:06:46.610><c> I</c><00:06:46.850><c> was</c><00:06:46.940><c> using</c><00:06:47.150><c> on</c><00:06:47.330><c> the</c>

00:06:47.409 --> 00:06:47.419 align:start position:0%
this were a package I was using on the
 

00:06:47.419 --> 00:06:49.210 align:start position:0%
this were a package I was using on the
main<00:06:47.630><c> net</c><00:06:47.870><c> then</c><00:06:48.380><c> what</c><00:06:48.590><c> I'm</c><00:06:48.680><c> gonna</c><00:06:48.800><c> do</c><00:06:49.070><c> is</c><00:06:49.190><c> use</c>

00:06:49.210 --> 00:06:49.220 align:start position:0%
main net then what I'm gonna do is use
 

00:06:49.220 --> 00:06:51.700 align:start position:0%
main net then what I'm gonna do is use
this<00:06:49.729><c> compiler</c><00:06:50.240><c> information</c><00:06:50.810><c> to</c><00:06:51.050><c> recompile</c>

00:06:51.700 --> 00:06:51.710 align:start position:0%
this compiler information to recompile
 

00:06:51.710 --> 00:06:53.980 align:start position:0%
this compiler information to recompile
this<00:06:52.070><c> and</c><00:06:52.400><c> verify</c><00:06:53.180><c> that</c><00:06:53.210><c> the</c><00:06:53.540><c> included</c>

00:06:53.980 --> 00:06:53.990 align:start position:0%
this and verify that the included
 

00:06:53.990 --> 00:06:56.200 align:start position:0%
this and verify that the included
bytecode<00:06:54.410><c> does</c><00:06:54.710><c> in</c><00:06:54.949><c> fact</c><00:06:55.160><c> match</c><00:06:55.430><c> the</c><00:06:55.850><c> compiled</c>

00:06:56.200 --> 00:06:56.210 align:start position:0%
bytecode does in fact match the compiled
 

00:06:56.210 --> 00:06:58.689 align:start position:0%
bytecode does in fact match the compiled
output<00:06:56.419><c> but</c><00:06:57.410><c> in</c><00:06:57.530><c> a</c><00:06:57.620><c> trusted</c><00:06:57.979><c> environment</c><00:06:58.160><c> we</c>

00:06:58.689 --> 00:06:58.699 align:start position:0%
output but in a trusted environment we
 

00:06:58.699 --> 00:07:00.580 align:start position:0%
output but in a trusted environment we
can<00:06:58.790><c> actually</c><00:06:59.090><c> just</c><00:06:59.240><c> use</c><00:06:59.360><c> the</c><00:06:59.750><c> bytecode</c>

00:07:00.580 --> 00:07:00.590 align:start position:0%
can actually just use the bytecode
 

00:07:00.590 --> 00:07:05.860 align:start position:0%
can actually just use the bytecode
embedded<00:07:01.220><c> in</c><00:07:01.340><c> this</c><00:07:01.490><c> in</c><00:07:01.699><c> this</c><00:07:01.970><c> package</c><00:07:04.060><c> cool</c><00:07:05.060><c> so</c>

00:07:05.860 --> 00:07:05.870 align:start position:0%
embedded in this in this package cool so
 

00:07:05.870 --> 00:07:07.090 align:start position:0%
embedded in this in this package cool so
now<00:07:06.020><c> let's</c><00:07:06.229><c> look</c><00:07:06.290><c> at</c><00:07:06.470><c> what</c><00:07:06.590><c> it</c><00:07:06.680><c> looks</c><00:07:06.710><c> like</c><00:07:06.979><c> if</c>

00:07:07.090 --> 00:07:07.100 align:start position:0%
now let's look at what it looks like if
 

00:07:07.100 --> 00:07:08.890 align:start position:0%
now let's look at what it looks like if
we<00:07:07.130><c> have</c><00:07:07.340><c> a</c><00:07:07.370><c> smart</c><00:07:08.060><c> contract</c><00:07:08.240><c> that's</c><00:07:08.690><c> been</c>

00:07:08.890 --> 00:07:08.900 align:start position:0%
we have a smart contract that's been
 

00:07:08.900 --> 00:07:11.830 align:start position:0%
we have a smart contract that's been
actually<00:07:09.260><c> deployed</c><00:07:09.770><c> to</c><00:07:10.010><c> the</c><00:07:10.100><c> blockchain</c><00:07:10.840><c> so</c>

00:07:11.830 --> 00:07:11.840 align:start position:0%
actually deployed to the blockchain so
 

00:07:11.840 --> 00:07:15.070 align:start position:0%
actually deployed to the blockchain so
this<00:07:12.290><c> is</c><00:07:12.500><c> a</c><00:07:12.830><c> safe</c><00:07:13.310><c> math</c><00:07:13.700><c> library</c><00:07:14.419><c> it</c><00:07:14.600><c> does</c><00:07:14.870><c> some</c>

00:07:15.070 --> 00:07:15.080 align:start position:0%
this is a safe math library it does some
 

00:07:15.080 --> 00:07:17.860 align:start position:0%
this is a safe math library it does some
underflow<00:07:15.530><c> and</c><00:07:15.700><c> overflow</c><00:07:16.700><c> protection</c><00:07:17.030><c> and</c>

00:07:17.860 --> 00:07:17.870 align:start position:0%
underflow and overflow protection and
 

00:07:17.870 --> 00:07:20.350 align:start position:0%
underflow and overflow protection and
this<00:07:18.800><c> is</c><00:07:19.010><c> what</c><00:07:19.160><c> it</c><00:07:19.250><c> looks</c><00:07:19.430><c> like</c><00:07:19.520><c> to</c><00:07:19.790><c> package</c><00:07:20.150><c> up</c>

00:07:20.350 --> 00:07:20.360 align:start position:0%
this is what it looks like to package up
 

00:07:20.360 --> 00:07:21.969 align:start position:0%
this is what it looks like to package up
a<00:07:20.510><c> smart</c><00:07:21.020><c> contract</c><00:07:21.169><c> that</c><00:07:21.560><c> has</c><00:07:21.710><c> a</c><00:07:21.740><c> live</c>

00:07:21.969 --> 00:07:21.979 align:start position:0%
a smart contract that has a live
 

00:07:21.979 --> 00:07:25.750 align:start position:0%
a smart contract that has a live
deployment<00:07:22.720><c> so</c><00:07:23.720><c> we</c><00:07:24.139><c> have</c><00:07:24.290><c> references</c><00:07:24.860><c> to</c><00:07:25.160><c> you</c>

00:07:25.750 --> 00:07:25.760 align:start position:0%
deployment so we have references to you
 

00:07:25.760 --> 00:07:28.120 align:start position:0%
deployment so we have references to you
can<00:07:25.910><c> see</c><00:07:26.030><c> this</c><00:07:26.150><c> blockchain</c><00:07:26.780><c> URI</c><00:07:27.110><c> up</c><00:07:27.380><c> here</c><00:07:27.650><c> this</c>

00:07:28.120 --> 00:07:28.130 align:start position:0%
can see this blockchain URI up here this
 

00:07:28.130 --> 00:07:30.070 align:start position:0%
can see this blockchain URI up here this
is<00:07:28.250><c> how</c><00:07:28.340><c> we</c><00:07:28.400><c> reference</c><00:07:28.880><c> what</c><00:07:29.210><c> chain</c><00:07:29.630><c> this</c><00:07:29.900><c> is</c>

00:07:30.070 --> 00:07:30.080 align:start position:0%
is how we reference what chain this is
 

00:07:30.080 --> 00:07:33.510 align:start position:0%
is how we reference what chain this is
deployed<00:07:30.440><c> to</c><00:07:30.680><c> this</c><00:07:31.130><c> is</c><00:07:31.340><c> also</c><00:07:31.520><c> how</c><00:07:31.790><c> we</c><00:07:32.350><c> support</c>

00:07:33.510 --> 00:07:33.520 align:start position:0%
deployed to this is also how we support
 

00:07:33.520 --> 00:07:36.610 align:start position:0%
deployed to this is also how we support
deployments<00:07:34.550><c> across</c><00:07:35.060><c> multiple</c><00:07:35.479><c> chains</c><00:07:35.900><c> this</c>

00:07:36.610 --> 00:07:36.620 align:start position:0%
deployments across multiple chains this
 

00:07:36.620 --> 00:07:38.440 align:start position:0%
deployments across multiple chains this
means<00:07:36.860><c> that</c><00:07:37.160><c> we</c><00:07:37.610><c> aren't</c><00:07:38.030><c> locked</c><00:07:38.210><c> into</c>

00:07:38.440 --> 00:07:38.450 align:start position:0%
means that we aren't locked into
 

00:07:38.450 --> 00:07:40.000 align:start position:0%
means that we aren't locked into
something<00:07:38.750><c> like</c><00:07:39.050><c> just</c><00:07:39.260><c> supporting</c><00:07:39.740><c> the</c><00:07:39.830><c> main</c>

00:07:40.000 --> 00:07:40.010 align:start position:0%
something like just supporting the main
 

00:07:40.010 --> 00:07:43.379 align:start position:0%
something like just supporting the main
net<00:07:40.280><c> or</c><00:07:40.490><c> just</c><00:07:41.360><c> supporting</c><00:07:41.780><c> Rob's</c><00:07:41.990><c> tenoram</c>

00:07:43.379 --> 00:07:43.389 align:start position:0%
net or just supporting Rob's tenoram
 

00:07:43.389 --> 00:07:46.000 align:start position:0%
net or just supporting Rob's tenoram
predefined<00:07:44.389><c> set</c><00:07:44.660><c> of</c><00:07:44.750><c> them</c><00:07:44.930><c> you</c><00:07:45.560><c> can</c><00:07:45.710><c> use</c><00:07:45.830><c> this</c>

00:07:46.000 --> 00:07:46.010 align:start position:0%
predefined set of them you can use this
 

00:07:46.010 --> 00:07:48.400 align:start position:0%
predefined set of them you can use this
for<00:07:46.310><c> private</c><00:07:46.669><c> blockchains</c><00:07:46.880><c> for</c><00:07:47.690><c> local</c><00:07:48.139><c> test</c>

00:07:48.400 --> 00:07:48.410 align:start position:0%
for private blockchains for local test
 

00:07:48.410 --> 00:07:51.219 align:start position:0%
for private blockchains for local test
chains<00:07:49.240><c> anything</c><00:07:50.240><c> like</c><00:07:50.389><c> that</c><00:07:50.419><c> and</c><00:07:50.780><c> then</c>

00:07:51.219 --> 00:07:51.229 align:start position:0%
chains anything like that and then
 

00:07:51.229 --> 00:07:52.960 align:start position:0%
chains anything like that and then
within<00:07:51.500><c> it</c><00:07:51.620><c> we</c><00:07:51.770><c> actually</c><00:07:51.950><c> get</c><00:07:52.310><c> a</c><00:07:52.340><c> reference</c><00:07:52.700><c> to</c>

00:07:52.960 --> 00:07:52.970 align:start position:0%
within it we actually get a reference to
 

00:07:52.970 --> 00:07:54.790 align:start position:0%
within it we actually get a reference to
you<00:07:53.270><c> know</c><00:07:53.360><c> which</c><00:07:53.570><c> contract</c><00:07:54.169><c> did</c><00:07:54.320><c> we</c><00:07:54.410><c> deploy</c>

00:07:54.790 --> 00:07:54.800 align:start position:0%
you know which contract did we deploy
 

00:07:54.800 --> 00:07:57.279 align:start position:0%
you know which contract did we deploy
what<00:07:55.669><c> address</c><00:07:56.120><c> can</c><00:07:56.330><c> I</c><00:07:56.389><c> find</c><00:07:56.660><c> it</c><00:07:56.810><c> at</c><00:07:56.960><c> and</c><00:07:57.200><c> then</c>

00:07:57.279 --> 00:07:57.289 align:start position:0%
what address can I find it at and then
 

00:07:57.289 --> 00:07:59.409 align:start position:0%
what address can I find it at and then
we've<00:07:57.410><c> got</c><00:07:57.560><c> some</c><00:07:57.620><c> convenient</c><00:07:58.370><c> stuff</c><00:07:58.729><c> which</c>

00:07:59.409 --> 00:07:59.419 align:start position:0%
we've got some convenient stuff which
 

00:07:59.419 --> 00:08:02.290 align:start position:0%
we've got some convenient stuff which
are<00:07:59.660><c> the</c><00:08:00.080><c> transaction</c><00:08:00.919><c> that</c><00:08:01.729><c> it</c><00:08:01.820><c> was</c><00:08:01.940><c> deployed</c>

00:08:02.290 --> 00:08:02.300 align:start position:0%
are the transaction that it was deployed
 

00:08:02.300 --> 00:08:04.930 align:start position:0%
are the transaction that it was deployed
with<00:08:02.650><c> or</c><00:08:03.650><c> the</c><00:08:03.889><c> block</c><00:08:04.160><c> that</c><00:08:04.400><c> it</c><00:08:04.490><c> was</c><00:08:04.580><c> deployed</c>

00:08:04.930 --> 00:08:04.940 align:start position:0%
with or the block that it was deployed
 

00:08:04.940 --> 00:08:07.060 align:start position:0%
with or the block that it was deployed
on<00:08:05.150><c> again</c><00:08:06.050><c> these</c><00:08:06.260><c> are</c><00:08:06.380><c> things</c><00:08:06.590><c> that</c><00:08:06.680><c> are</c><00:08:06.860><c> easy</c>

00:08:07.060 --> 00:08:07.070 align:start position:0%
on again these are things that are easy
 

00:08:07.070 --> 00:08:10.300 align:start position:0%
on again these are things that are easy
to<00:08:07.190><c> verify</c><00:08:07.870><c> but</c><00:08:08.870><c> they're</c><00:08:09.650><c> convenient</c><00:08:10.160><c> to</c>

00:08:10.300 --> 00:08:10.310 align:start position:0%
to verify but they're convenient to
 

00:08:10.310 --> 00:08:15.159 align:start position:0%
to verify but they're convenient to
include<00:08:10.610><c> in</c><00:08:10.729><c> the</c><00:08:10.820><c> actual</c><00:08:11.120><c> package</c><00:08:12.880><c> so</c><00:08:14.169><c> with</c>

00:08:15.159 --> 00:08:15.169 align:start position:0%
include in the actual package so with
 

00:08:15.169 --> 00:08:17.920 align:start position:0%
include in the actual package so with
packages<00:08:15.830><c> we</c><00:08:16.430><c> it</c><00:08:16.970><c> enables</c><00:08:17.450><c> a</c><00:08:17.539><c> number</c><00:08:17.810><c> of</c>

00:08:17.920 --> 00:08:17.930 align:start position:0%
packages we it enables a number of
 

00:08:17.930 --> 00:08:19.210 align:start position:0%
packages we it enables a number of
things<00:08:18.139><c> that</c><00:08:18.320><c> we</c><00:08:18.500><c> can</c><00:08:18.650><c> actually</c><00:08:18.770><c> do</c><00:08:19.070><c> with</c>

00:08:19.210 --> 00:08:19.220 align:start position:0%
things that we can actually do with
 

00:08:19.220 --> 00:08:21.129 align:start position:0%
things that we can actually do with
these<00:08:19.370><c> the</c><00:08:19.849><c> most</c><00:08:20.030><c> obvious</c><00:08:20.450><c> is</c><00:08:20.570><c> just</c><00:08:20.870><c> using</c>

00:08:21.129 --> 00:08:21.139 align:start position:0%
these the most obvious is just using
 

00:08:21.139 --> 00:08:23.800 align:start position:0%
these the most obvious is just using
them<00:08:21.410><c> in</c><00:08:21.530><c> our</c><00:08:21.620><c> code</c><00:08:21.860><c> a</c><00:08:22.479><c> tool</c><00:08:23.479><c> that</c><00:08:23.660><c> supports</c>

00:08:23.800 --> 00:08:23.810 align:start position:0%
them in our code a tool that supports
 

00:08:23.810 --> 00:08:27.070 align:start position:0%
them in our code a tool that supports
these<00:08:24.260><c> packages</c><00:08:24.770><c> in</c><00:08:25.010><c> theory</c><00:08:25.760><c> you</c><00:08:26.330><c> run</c><00:08:26.870><c> some</c>

00:08:27.070 --> 00:08:27.080 align:start position:0%
these packages in theory you run some
 

00:08:27.080 --> 00:08:29.560 align:start position:0%
these packages in theory you run some
installation<00:08:27.680><c> command</c><00:08:28.099><c> you</c><00:08:29.090><c> can</c><00:08:29.180><c> see</c><00:08:29.300><c> that</c><00:08:29.450><c> on</c>

00:08:29.560 --> 00:08:29.570 align:start position:0%
installation command you can see that on
 

00:08:29.570 --> 00:08:31.540 align:start position:0%
installation command you can see that on
the<00:08:29.660><c> upper</c><00:08:29.750><c> left</c><00:08:30.139><c> on</c><00:08:30.440><c> the</c><00:08:30.889><c> upper</c><00:08:31.099><c> right</c><00:08:31.280><c> here</c>

00:08:31.540 --> 00:08:31.550 align:start position:0%
the upper left on the upper right here
 

00:08:31.550 --> 00:08:33.399 align:start position:0%
the upper left on the upper right here
this<00:08:31.760><c> is</c><00:08:31.820><c> what</c><00:08:32.150><c> likely</c><00:08:32.419><c> results</c><00:08:32.990><c> in</c><00:08:33.080><c> our</c><00:08:33.169><c> file</c>

00:08:33.399 --> 00:08:33.409 align:start position:0%
this is what likely results in our file
 

00:08:33.409 --> 00:08:35.769 align:start position:0%
this is what likely results in our file
system<00:08:33.789><c> this</c><00:08:34.789><c> should</c><00:08:34.969><c> be</c><00:08:35.089><c> familiar</c><00:08:35.330><c> to</c><00:08:35.750><c> people</c>

00:08:35.769 --> 00:08:35.779 align:start position:0%
system this should be familiar to people
 

00:08:35.779 --> 00:08:37.899 align:start position:0%
system this should be familiar to people
who<00:08:36.110><c> are</c><00:08:36.200><c> used</c><00:08:36.409><c> to</c><00:08:36.529><c> node</c><00:08:36.890><c> development</c><00:08:37.520><c> this</c><00:08:37.760><c> is</c>

00:08:37.899 --> 00:08:37.909 align:start position:0%
who are used to node development this is
 

00:08:37.909 --> 00:08:40.180 align:start position:0%
who are used to node development this is
much<00:08:38.120><c> like</c><00:08:38.390><c> the</c><00:08:38.419><c> node</c><00:08:38.779><c> modules</c><00:08:39.409><c> directory</c><00:08:39.469><c> and</c>

00:08:40.180 --> 00:08:40.190 align:start position:0%
much like the node modules directory and
 

00:08:40.190 --> 00:08:43.000 align:start position:0%
much like the node modules directory and
then<00:08:41.120><c> from</c><00:08:41.390><c> within</c><00:08:41.539><c> our</c><00:08:41.839><c> actual</c><00:08:42.229><c> code</c><00:08:42.529><c> we</c><00:08:42.860><c> can</c>

00:08:43.000 --> 00:08:43.010 align:start position:0%
then from within our actual code we can
 

00:08:43.010 --> 00:08:47.680 align:start position:0%
then from within our actual code we can
import<00:08:43.339><c> these</c><00:08:43.520><c> and</c><00:08:43.760><c> use</c><00:08:43.909><c> them</c><00:08:46.510><c> but</c><00:08:47.510><c> there's</c>

00:08:47.680 --> 00:08:47.690 align:start position:0%
import these and use them but there's
 

00:08:47.690 --> 00:08:48.910 align:start position:0%
import these and use them but there's
some<00:08:47.810><c> really</c><00:08:47.930><c> cool</c><00:08:48.170><c> other</c><00:08:48.410><c> things</c><00:08:48.680><c> that</c><00:08:48.860><c> we</c>

00:08:48.910 --> 00:08:48.920 align:start position:0%
some really cool other things that we
 

00:08:48.920 --> 00:08:51.840 align:start position:0%
some really cool other things that we
can<00:08:49.040><c> do</c><00:08:49.160><c> so</c><00:08:49.579><c> this</c><00:08:49.790><c> is</c><00:08:49.850><c> the</c>

00:08:51.840 --> 00:08:51.850 align:start position:0%
can do so this is the
 

00:08:51.850 --> 00:08:54.360 align:start position:0%
can do so this is the
interface<00:08:52.750><c> from</c><00:08:53.410><c> ether</c><00:08:53.710><c> scan</c><00:08:53.980><c> for</c><00:08:54.220><c> how</c><00:08:54.310><c> you</c>

00:08:54.360 --> 00:08:54.370 align:start position:0%
interface from ether scan for how you
 

00:08:54.370 --> 00:08:56.940 align:start position:0%
interface from ether scan for how you
verify<00:08:54.940><c> contracts</c><00:08:55.450><c> and</c><00:08:55.720><c> anybody</c><00:08:56.350><c> who's</c><00:08:56.710><c> ever</c>

00:08:56.940 --> 00:08:56.950 align:start position:0%
verify contracts and anybody who's ever
 

00:08:56.950 --> 00:08:59.220 align:start position:0%
verify contracts and anybody who's ever
tried<00:08:57.430><c> to</c><00:08:57.610><c> verify</c><00:08:57.790><c> a</c><00:08:58.330><c> complex</c><00:08:58.870><c> set</c><00:08:59.200><c> of</c>

00:08:59.220 --> 00:08:59.230 align:start position:0%
tried to verify a complex set of
 

00:08:59.230 --> 00:09:02.070 align:start position:0%
tried to verify a complex set of
contracts<00:09:00.000><c> knows</c><00:09:01.000><c> some</c><00:09:01.360><c> of</c><00:09:01.480><c> the</c><00:09:01.570><c> pain</c><00:09:01.750><c> points</c>

00:09:02.070 --> 00:09:02.080 align:start position:0%
contracts knows some of the pain points
 

00:09:02.080 --> 00:09:04.920 align:start position:0%
contracts knows some of the pain points
of<00:09:02.200><c> this</c><00:09:02.940><c> you</c><00:09:03.940><c> have</c><00:09:04.030><c> to</c><00:09:04.150><c> munch</c><00:09:04.390><c> together</c><00:09:04.720><c> all</c>

00:09:04.920 --> 00:09:04.930 align:start position:0%
of this you have to munch together all
 

00:09:04.930 --> 00:09:07.320 align:start position:0%
of this you have to munch together all
of<00:09:05.050><c> your</c><00:09:05.200><c> source</c><00:09:05.440><c> code</c><00:09:05.710><c> into</c><00:09:05.980><c> one</c><00:09:06.220><c> file</c><00:09:06.550><c> you've</c>

00:09:07.320 --> 00:09:07.330 align:start position:0%
of your source code into one file you've
 

00:09:07.330 --> 00:09:08.940 align:start position:0%
of your source code into one file you've
got<00:09:07.510><c> to</c><00:09:07.600><c> pick</c><00:09:07.750><c> the</c><00:09:07.870><c> exact</c><00:09:08.200><c> right</c><00:09:08.350><c> compiler</c>

00:09:08.940 --> 00:09:08.950 align:start position:0%
got to pick the exact right compiler
 

00:09:08.950 --> 00:09:10.530 align:start position:0%
got to pick the exact right compiler
version<00:09:09.220><c> you've</c><00:09:09.820><c> got</c><00:09:09.940><c> a</c><00:09:09.970><c> reference</c><00:09:10.180><c> if</c><00:09:10.450><c> you</c>

00:09:10.530 --> 00:09:10.540 align:start position:0%
version you've got a reference if you
 

00:09:10.540 --> 00:09:13.020 align:start position:0%
version you've got a reference if you
want<00:09:10.720><c> to</c><00:09:10.840><c> verify</c><00:09:11.500><c> multiple</c><00:09:12.340><c> contracts</c><00:09:12.910><c> you've</c>

00:09:13.020 --> 00:09:13.030 align:start position:0%
want to verify multiple contracts you've
 

00:09:13.030 --> 00:09:16.580 align:start position:0%
want to verify multiple contracts you've
got<00:09:13.180><c> to</c><00:09:13.300><c> go</c><00:09:13.390><c> through</c><00:09:13.420><c> this</c><00:09:13.690><c> multiple</c><00:09:14.080><c> times</c>

00:09:16.580 --> 00:09:16.590 align:start position:0%
 
 

00:09:16.590 --> 00:09:19.620 align:start position:0%
 
smart<00:09:17.590><c> contract</c><00:09:18.010><c> packages</c><00:09:18.520><c> can</c><00:09:18.970><c> replace</c><00:09:19.600><c> that</c>

00:09:19.620 --> 00:09:19.630 align:start position:0%
smart contract packages can replace that
 

00:09:19.630 --> 00:09:22.160 align:start position:0%
smart contract packages can replace that
entire<00:09:19.930><c> thing</c><00:09:20.170><c> with</c><00:09:20.770><c> just</c><00:09:20.980><c> a</c><00:09:21.070><c> single</c><00:09:21.250><c> upload</c>

00:09:22.160 --> 00:09:22.170 align:start position:0%
entire thing with just a single upload
 

00:09:22.170 --> 00:09:24.360 align:start position:0%
entire thing with just a single upload
since<00:09:23.170><c> packages</c><00:09:23.800><c> include</c><00:09:24.100><c> enough</c>

00:09:24.360 --> 00:09:24.370 align:start position:0%
since packages include enough
 

00:09:24.370 --> 00:09:27.600 align:start position:0%
since packages include enough
information<00:09:24.430><c> to</c><00:09:25.000><c> verify</c><00:09:25.270><c> everything</c><00:09:26.610><c> instead</c>

00:09:27.600 --> 00:09:27.610 align:start position:0%
information to verify everything instead
 

00:09:27.610 --> 00:09:29.970 align:start position:0%
information to verify everything instead
of<00:09:27.700><c> having</c><00:09:27.850><c> to</c><00:09:28.110><c> manually</c><00:09:29.110><c> put</c><00:09:29.650><c> all</c><00:09:29.800><c> of</c><00:09:29.830><c> that</c>

00:09:29.970 --> 00:09:29.980 align:start position:0%
of having to manually put all of that
 

00:09:29.980 --> 00:09:32.310 align:start position:0%
of having to manually put all of that
information<00:09:30.220><c> in</c><00:09:30.820><c> you</c><00:09:31.390><c> could</c><00:09:31.570><c> just</c><00:09:31.750><c> upload</c><00:09:32.170><c> the</c>

00:09:32.310 --> 00:09:32.320 align:start position:0%
information in you could just upload the
 

00:09:32.320 --> 00:09:33.810 align:start position:0%
information in you could just upload the
lock<00:09:32.500><c> file</c><00:09:32.800><c> and</c><00:09:33.130><c> either</c><00:09:33.220><c> scan</c><00:09:33.580><c> can</c>

00:09:33.810 --> 00:09:33.820 align:start position:0%
lock file and either scan can
 

00:09:33.820 --> 00:09:36.840 align:start position:0%
lock file and either scan can
automatically<00:09:34.770><c> verify</c><00:09:35.770><c> every</c><00:09:36.280><c> deployed</c>

00:09:36.840 --> 00:09:36.850 align:start position:0%
automatically verify every deployed
 

00:09:36.850 --> 00:09:38.940 align:start position:0%
automatically verify every deployed
instance<00:09:37.480><c> of</c><00:09:37.690><c> the</c><00:09:37.930><c> contract</c><00:09:38.380><c> included</c><00:09:38.830><c> in</c>

00:09:38.940 --> 00:09:38.950 align:start position:0%
instance of the contract included in
 

00:09:38.950 --> 00:09:42.330 align:start position:0%
instance of the contract included in
that<00:09:39.100><c> package</c><00:09:39.460><c> I</c><00:09:40.830><c> also</c><00:09:41.830><c> think</c><00:09:42.100><c> that</c><00:09:42.130><c> this</c>

00:09:42.330 --> 00:09:42.340 align:start position:0%
that package I also think that this
 

00:09:42.340 --> 00:09:44.790 align:start position:0%
that package I also think that this
would<00:09:42.520><c> be</c><00:09:42.550><c> useful</c><00:09:43.000><c> in</c><00:09:43.120><c> wallets</c><00:09:43.620><c> this</c><00:09:44.620><c> is</c><00:09:44.740><c> a</c>

00:09:44.790 --> 00:09:44.800 align:start position:0%
would be useful in wallets this is a
 

00:09:44.800 --> 00:09:48.780 align:start position:0%
would be useful in wallets this is a
pretty<00:09:44.980><c> common</c><00:09:45.490><c> interface</c><00:09:46.000><c> for</c><00:09:46.780><c> wallets</c><00:09:47.790><c> give</c>

00:09:48.780 --> 00:09:48.790 align:start position:0%
pretty common interface for wallets give
 

00:09:48.790 --> 00:09:50.610 align:start position:0%
pretty common interface for wallets give
me<00:09:48.970><c> the</c><00:09:49.090><c> contract</c><00:09:49.300><c> address</c><00:09:49.930><c> tell</c><00:09:50.230><c> me</c><00:09:50.320><c> what</c><00:09:50.500><c> the</c>

00:09:50.610 --> 00:09:50.620 align:start position:0%
me the contract address tell me what the
 

00:09:50.620 --> 00:09:53.100 align:start position:0%
me the contract address tell me what the
ABI<00:09:50.950><c> and</c><00:09:51.460><c> then</c><00:09:52.210><c> I</c><00:09:52.390><c> will</c><00:09:52.540><c> generate</c><00:09:52.930><c> an</c>

00:09:53.100 --> 00:09:53.110 align:start position:0%
ABI and then I will generate an
 

00:09:53.110 --> 00:09:55.460 align:start position:0%
ABI and then I will generate an
interface<00:09:53.530><c> and</c><00:09:53.770><c> you</c><00:09:53.830><c> can</c><00:09:53.860><c> interact</c><00:09:54.160><c> with</c><00:09:54.550><c> it</c>

00:09:55.460 --> 00:09:55.470 align:start position:0%
interface and you can interact with it
 

00:09:55.470 --> 00:09:58.980 align:start position:0%
interface and you can interact with it
this<00:09:56.470><c> is</c><00:09:56.680><c> often</c><00:09:57.190><c> sufficient</c><00:09:57.700><c> but</c><00:09:58.360><c> it</c><00:09:58.570><c> leaves</c><00:09:58.780><c> a</c>

00:09:58.980 --> 00:09:58.990 align:start position:0%
this is often sufficient but it leaves a
 

00:09:58.990 --> 00:10:01.080 align:start position:0%
this is often sufficient but it leaves a
lot<00:09:59.140><c> of</c><00:09:59.260><c> things</c><00:09:59.800><c> desired</c><00:10:00.280><c> because</c><00:10:00.820><c> you</c><00:10:00.940><c> don't</c>

00:10:01.080 --> 00:10:01.090 align:start position:0%
lot of things desired because you don't
 

00:10:01.090 --> 00:10:02.580 align:start position:0%
lot of things desired because you don't
really<00:10:01.210><c> know</c><00:10:01.330><c> what</c><00:10:01.690><c> you're</c><00:10:01.870><c> interacting</c><00:10:02.230><c> with</c>

00:10:02.580 --> 00:10:02.590 align:start position:0%
really know what you're interacting with
 

00:10:02.590 --> 00:10:04.230 align:start position:0%
really know what you're interacting with
you<00:10:03.250><c> don't</c><00:10:03.430><c> know</c><00:10:03.520><c> if</c><00:10:03.640><c> it's</c><00:10:03.760><c> been</c><00:10:03.970><c> verified</c>

00:10:04.230 --> 00:10:04.240 align:start position:0%
you don't know if it's been verified
 

00:10:04.240 --> 00:10:07.380 align:start position:0%
you don't know if it's been verified
that's<00:10:05.170><c> sort</c><00:10:05.380><c> of</c><00:10:05.410><c> sort</c><00:10:06.250><c> of</c><00:10:06.310><c> thing</c><00:10:06.490><c> if</c><00:10:06.790><c> we</c>

00:10:07.380 --> 00:10:07.390 align:start position:0%
that's sort of sort of thing if we
 

00:10:07.390 --> 00:10:11.370 align:start position:0%
that's sort of sort of thing if we
replace<00:10:07.780><c> this</c><00:10:08.050><c> with</c><00:10:09.420><c> with</c><00:10:10.420><c> a</c><00:10:10.450><c> package</c><00:10:10.930><c> where</c>

00:10:11.370 --> 00:10:11.380 align:start position:0%
replace this with with a package where
 

00:10:11.380 --> 00:10:14.610 align:start position:0%
replace this with with a package where
you<00:10:11.440><c> upload</c><00:10:11.800><c> a</c><00:10:11.920><c> package</c><00:10:13.200><c> wallets</c><00:10:14.200><c> can</c><00:10:14.410><c> still</c>

00:10:14.610 --> 00:10:14.620 align:start position:0%
you upload a package wallets can still
 

00:10:14.620 --> 00:10:16.800 align:start position:0%
you upload a package wallets can still
generate<00:10:15.010><c> the</c><00:10:15.160><c> same</c><00:10:15.400><c> interface</c><00:10:15.970><c> but</c><00:10:16.630><c> they</c><00:10:16.690><c> can</c>

00:10:16.800 --> 00:10:16.810 align:start position:0%
generate the same interface but they can
 

00:10:16.810 --> 00:10:18.180 align:start position:0%
generate the same interface but they can
also<00:10:16.930><c> show</c><00:10:17.230><c> you</c><00:10:17.290><c> a</c><00:10:17.410><c> lot</c><00:10:17.650><c> of</c><00:10:17.680><c> extra</c><00:10:18.070><c> information</c>

00:10:18.180 --> 00:10:18.190 align:start position:0%
also show you a lot of extra information
 

00:10:18.190 --> 00:10:22.050 align:start position:0%
also show you a lot of extra information
such<00:10:18.790><c> as</c><00:10:19.110><c> yes</c><00:10:20.110><c> this</c><00:10:20.530><c> does</c><00:10:20.860><c> actually</c><00:10:21.220><c> verify</c>

00:10:22.050 --> 00:10:22.060 align:start position:0%
such as yes this does actually verify
 

00:10:22.060 --> 00:10:24.690 align:start position:0%
such as yes this does actually verify
whenever<00:10:22.720><c> I</c><00:10:23.040><c> recompile</c><00:10:24.040><c> the</c><00:10:24.220><c> source</c><00:10:24.460><c> code</c><00:10:24.670><c> and</c>

00:10:24.690 --> 00:10:24.700 align:start position:0%
whenever I recompile the source code and
 

00:10:24.700 --> 00:10:27.570 align:start position:0%
whenever I recompile the source code and
check<00:10:25.030><c> it</c><00:10:25.120><c> against</c><00:10:25.420><c> the</c><00:10:25.510><c> byte</c><00:10:25.690><c> code</c><00:10:25.890><c> or</c><00:10:26.890><c> or</c>

00:10:27.570 --> 00:10:27.580 align:start position:0%
check it against the byte code or or
 

00:10:27.580 --> 00:10:29.760 align:start position:0%
check it against the byte code or or
there<00:10:28.360><c> is</c><00:10:28.570><c> not</c><00:10:28.780><c> enough</c><00:10:29.110><c> information</c><00:10:29.260><c> to</c>

00:10:29.760 --> 00:10:29.770 align:start position:0%
there is not enough information to
 

00:10:29.770 --> 00:10:31.620 align:start position:0%
there is not enough information to
verify<00:10:29.950><c> this</c><00:10:30.190><c> or</c><00:10:30.580><c> it</c><00:10:30.760><c> can</c><00:10:30.790><c> even</c><00:10:31.120><c> just</c><00:10:31.270><c> let</c><00:10:31.510><c> you</c>

00:10:31.620 --> 00:10:31.630 align:start position:0%
verify this or it can even just let you
 

00:10:31.630 --> 00:10:35.340 align:start position:0%
verify this or it can even just let you
browse<00:10:31.900><c> the</c><00:10:32.170><c> source</c><00:10:32.410><c> code</c><00:10:34.020><c> but</c><00:10:35.020><c> this</c><00:10:35.200><c> right</c>

00:10:35.340 --> 00:10:35.350 align:start position:0%
browse the source code but this right
 

00:10:35.350 --> 00:10:38.910 align:start position:0%
browse the source code but this right
here's<00:10:35.560><c> my</c><00:10:35.740><c> favorite</c><00:10:35.950><c> idea</c><00:10:37.560><c> come</c><00:10:38.560><c> with</c><00:10:38.680><c> me</c><00:10:38.830><c> on</c>

00:10:38.910 --> 00:10:38.920 align:start position:0%
here's my favorite idea come with me on
 

00:10:38.920 --> 00:10:40.980 align:start position:0%
here's my favorite idea come with me on
a<00:10:38.950><c> journey</c><00:10:39.040><c> to</c><00:10:39.400><c> the</c><00:10:39.430><c> future</c><00:10:39.820><c> where</c><00:10:40.150><c> the</c><00:10:40.420><c> EVM</c><00:10:40.810><c> is</c>

00:10:40.980 --> 00:10:40.990 align:start position:0%
a journey to the future where the EVM is
 

00:10:40.990 --> 00:10:44.400 align:start position:0%
a journey to the future where the EVM is
everywhere<00:10:42.450><c> where</c><00:10:43.450><c> there</c><00:10:43.630><c> are</c><00:10:43.660><c> packages</c><00:10:44.230><c> for</c>

00:10:44.400 --> 00:10:44.410 align:start position:0%
everywhere where there are packages for
 

00:10:44.410 --> 00:10:47.760 align:start position:0%
everywhere where there are packages for
all<00:10:44.530><c> kinds</c><00:10:44.890><c> of</c><00:10:44.950><c> things</c><00:10:45.250><c> and</c><00:10:45.990><c> where</c><00:10:46.990><c> the</c><00:10:47.260><c> EVM</c><00:10:47.620><c> is</c>

00:10:47.760 --> 00:10:47.770 align:start position:0%
all kinds of things and where the EVM is
 

00:10:47.770 --> 00:10:51.960 align:start position:0%
all kinds of things and where the EVM is
really<00:10:48.130><c> fast</c><00:10:49.140><c> so</c><00:10:50.140><c> I</c><00:10:50.500><c> think</c><00:10:50.560><c> that</c><00:10:51.010><c> EVM</c><00:10:51.400><c> packages</c>

00:10:51.960 --> 00:10:51.970 align:start position:0%
really fast so I think that EVM packages
 

00:10:51.970 --> 00:10:54.390 align:start position:0%
really fast so I think that EVM packages
are<00:10:52.270><c> capable</c><00:10:52.960><c> of</c><00:10:53.110><c> being</c><00:10:53.380><c> a</c><00:10:53.650><c> cross</c><00:10:53.980><c> language</c>

00:10:54.390 --> 00:10:54.400 align:start position:0%
are capable of being a cross language
 

00:10:54.400 --> 00:10:56.850 align:start position:0%
are capable of being a cross language
packaging<00:10:55.240><c> system</c><00:10:55.660><c> and</c><00:10:56.050><c> what</c><00:10:56.200><c> I</c><00:10:56.230><c> mean</c><00:10:56.470><c> by</c><00:10:56.530><c> that</c>

00:10:56.850 --> 00:10:56.860 align:start position:0%
packaging system and what I mean by that
 

00:10:56.860 --> 00:11:00.920 align:start position:0%
packaging system and what I mean by that
is<00:10:57.100><c> that</c><00:10:58.350><c> we</c><00:10:59.350><c> can</c><00:10:59.380><c> actually</c><00:10:59.950><c> use</c><00:11:00.220><c> the</c><00:11:00.430><c> EVM</c>

00:11:00.920 --> 00:11:00.930 align:start position:0%
is that we can actually use the EVM
 

00:11:00.930 --> 00:11:03.420 align:start position:0%
is that we can actually use the EVM
implementation<00:11:01.930><c> natively</c><00:11:02.530><c> in</c><00:11:02.890><c> our</c><00:11:02.980><c> code</c><00:11:03.220><c> this</c>

00:11:03.420 --> 00:11:03.430 align:start position:0%
implementation natively in our code this
 

00:11:03.430 --> 00:11:04.519 align:start position:0%
implementation natively in our code this
is<00:11:03.580><c> sort</c><00:11:03.790><c> of</c><00:11:03.850><c> an</c><00:11:03.970><c> imagined</c>

00:11:04.519 --> 00:11:04.529 align:start position:0%
is sort of an imagined
 

00:11:04.529 --> 00:11:08.480 align:start position:0%
is sort of an imagined
the<00:11:04.620><c> Python</c><00:11:04.980><c> library</c><00:11:05.220><c> here</c><00:11:05.930><c> that</c><00:11:07.279><c> makes</c><00:11:08.279><c> use</c>

00:11:08.480 --> 00:11:08.490 align:start position:0%
the Python library here that makes use
 

00:11:08.490 --> 00:11:11.329 align:start position:0%
the Python library here that makes use
of<00:11:08.519><c> some</c><00:11:08.970><c> mystical</c><00:11:09.779><c> sha</c><00:11:10.110><c> seven</c><00:11:10.589><c> package</c><00:11:11.069><c> and</c>

00:11:11.329 --> 00:11:11.339 align:start position:0%
of some mystical sha seven package and
 

00:11:11.339 --> 00:11:13.610 align:start position:0%
of some mystical sha seven package and
rather<00:11:11.819><c> than</c><00:11:12.120><c> needing</c><00:11:12.720><c> and</c><00:11:12.899><c> implementation</c>

00:11:13.610 --> 00:11:13.620 align:start position:0%
rather than needing and implementation
 

00:11:13.620 --> 00:11:16.489 align:start position:0%
rather than needing and implementation
of<00:11:13.860><c> sha</c><00:11:14.100><c> seven</c><00:11:14.490><c> and</c><00:11:14.639><c> python</c><00:11:15.029><c> instead</c><00:11:15.930><c> we</c><00:11:16.230><c> use</c>

00:11:16.489 --> 00:11:16.499 align:start position:0%
of sha seven and python instead we use
 

00:11:16.499 --> 00:11:19.670 align:start position:0%
of sha seven and python instead we use
the<00:11:16.800><c> EVM</c><00:11:17.220><c> implementation</c><00:11:18.060><c> in</c><00:11:18.269><c> our</c><00:11:18.389><c> code</c><00:11:18.660><c> and</c><00:11:19.319><c> I</c>

00:11:19.670 --> 00:11:19.680 align:start position:0%
the EVM implementation in our code and I
 

00:11:19.680 --> 00:11:21.110 align:start position:0%
the EVM implementation in our code and I
think<00:11:19.860><c> that's</c><00:11:20.009><c> really</c><00:11:20.249><c> powerful</c><00:11:20.430><c> because</c>

00:11:21.110 --> 00:11:21.120 align:start position:0%
think that's really powerful because
 

00:11:21.120 --> 00:11:24.019 align:start position:0%
think that's really powerful because
that<00:11:21.449><c> means</c><00:11:21.600><c> that</c><00:11:21.899><c> we</c><00:11:21.990><c> can</c><00:11:22.170><c> have</c><00:11:22.399><c> single</c><00:11:23.399><c> well</c>

00:11:24.019 --> 00:11:24.029 align:start position:0%
that means that we can have single well
 

00:11:24.029 --> 00:11:26.179 align:start position:0%
that means that we can have single well
tested<00:11:24.569><c> battle-tested</c><00:11:25.199><c> implementations</c>

00:11:26.179 --> 00:11:26.189 align:start position:0%
tested battle-tested implementations
 

00:11:26.189 --> 00:11:28.280 align:start position:0%
tested battle-tested implementations
that<00:11:26.490><c> are</c><00:11:26.850><c> then</c><00:11:27.089><c> usable</c><00:11:27.600><c> across</c><00:11:27.930><c> many</c>

00:11:28.280 --> 00:11:28.290 align:start position:0%
that are then usable across many
 

00:11:28.290 --> 00:11:31.999 align:start position:0%
that are then usable across many
different<00:11:28.529><c> languages</c><00:11:30.559><c> so</c><00:11:31.559><c> let's</c><00:11:31.740><c> talk</c><00:11:31.860><c> about</c>

00:11:31.999 --> 00:11:32.009 align:start position:0%
different languages so let's talk about
 

00:11:32.009 --> 00:11:37.129 align:start position:0%
different languages so let's talk about
the<00:11:32.160><c> standard</c><00:11:32.339><c> library</c><00:11:35.300><c> so</c><00:11:36.300><c> to</c><00:11:36.899><c> talk</c><00:11:37.079><c> about</c>

00:11:37.129 --> 00:11:37.139 align:start position:0%
the standard library so to talk about
 

00:11:37.139 --> 00:11:38.960 align:start position:0%
the standard library so to talk about
the<00:11:37.410><c> standard</c><00:11:37.740><c> library</c><00:11:38.160><c> I</c><00:11:38.339><c> actually</c><00:11:38.610><c> want</c><00:11:38.910><c> to</c>

00:11:38.960 --> 00:11:38.970 align:start position:0%
the standard library I actually want to
 

00:11:38.970 --> 00:11:40.910 align:start position:0%
the standard library I actually want to
back<00:11:39.149><c> up</c><00:11:39.180><c> and</c><00:11:39.540><c> talk</c><00:11:39.749><c> about</c><00:11:39.899><c> packaged</c><00:11:40.350><c> indexes</c>

00:11:40.910 --> 00:11:40.920 align:start position:0%
back up and talk about packaged indexes
 

00:11:40.920 --> 00:11:43.009 align:start position:0%
back up and talk about packaged indexes
this<00:11:41.399><c> is</c><00:11:41.579><c> sort</c><00:11:41.819><c> of</c><00:11:41.910><c> the</c><00:11:42.149><c> like</c><00:11:42.360><c> default</c><00:11:42.779><c> state</c>

00:11:43.009 --> 00:11:43.019 align:start position:0%
this is sort of the like default state
 

00:11:43.019 --> 00:11:44.660 align:start position:0%
this is sort of the like default state
of<00:11:43.170><c> the</c><00:11:43.259><c> world</c><00:11:43.439><c> right</c><00:11:43.709><c> now</c><00:11:43.740><c> is</c><00:11:44.069><c> that</c><00:11:44.220><c> packaged</c>

00:11:44.660 --> 00:11:44.670 align:start position:0%
of the world right now is that packaged
 

00:11:44.670 --> 00:11:47.090 align:start position:0%
of the world right now is that packaged
indexes<00:11:45.240><c> are</c><00:11:45.480><c> centralized</c><00:11:46.019><c> there's</c><00:11:46.680><c> often</c>

00:11:47.090 --> 00:11:47.100 align:start position:0%
indexes are centralized there's often
 

00:11:47.100 --> 00:11:50.030 align:start position:0%
indexes are centralized there's often
sort<00:11:47.879><c> of</c><00:11:47.999><c> one</c><00:11:48.300><c> centralized</c><00:11:48.959><c> system</c><00:11:49.709><c> that</c>

00:11:50.030 --> 00:11:50.040 align:start position:0%
sort of one centralized system that
 

00:11:50.040 --> 00:11:51.829 align:start position:0%
sort of one centralized system that
handles<00:11:50.370><c> all</c><00:11:50.579><c> of</c><00:11:50.639><c> the</c><00:11:50.850><c> packages</c><00:11:51.509><c> for</c><00:11:51.749><c> an</c>

00:11:51.829 --> 00:11:51.839 align:start position:0%
handles all of the packages for an
 

00:11:51.839 --> 00:11:54.799 align:start position:0%
handles all of the packages for an
ecosystem<00:11:52.290><c> we've</c><00:11:52.800><c> got</c><00:11:52.980><c> NPM</c><00:11:53.430><c> we've</c><00:11:53.759><c> got</c><00:11:53.939><c> pi</c><00:11:54.149><c> PI</c>

00:11:54.799 --> 00:11:54.809 align:start position:0%
ecosystem we've got NPM we've got pi PI
 

00:11:54.809 --> 00:11:59.329 align:start position:0%
ecosystem we've got NPM we've got pi PI
we've<00:11:55.410><c> got</c><00:11:55.970><c> whatever</c><00:11:56.970><c> else</c><00:11:57.389><c> is</c><00:11:57.629><c> out</c><00:11:57.809><c> there</c><00:11:58.339><c> but</c>

00:11:59.329 --> 00:11:59.339 align:start position:0%
we've got whatever else is out there but
 

00:11:59.339 --> 00:12:01.249 align:start position:0%
we've got whatever else is out there but
this<00:11:59.579><c> is</c><00:11:59.639><c> what</c><00:11:59.939><c> I'd</c><00:12:00.059><c> like</c><00:12:00.240><c> I'd</c><00:12:00.449><c> like</c><00:12:00.600><c> everybody</c>

00:12:01.249 --> 00:12:01.259 align:start position:0%
this is what I'd like I'd like everybody
 

00:12:01.259 --> 00:12:02.720 align:start position:0%
this is what I'd like I'd like everybody
out<00:12:01.470><c> here</c><00:12:01.709><c> to</c><00:12:01.769><c> have</c><00:12:02.009><c> their</c><00:12:02.220><c> own</c><00:12:02.370><c> packaged</c>

00:12:02.720 --> 00:12:02.730 align:start position:0%
out here to have their own packaged
 

00:12:02.730 --> 00:12:06.139 align:start position:0%
out here to have their own packaged
index<00:12:03.139><c> and</c><00:12:04.249><c> that</c><00:12:05.249><c> is</c><00:12:05.459><c> actually</c><00:12:05.819><c> really</c><00:12:06.029><c> easy</c>

00:12:06.139 --> 00:12:06.149 align:start position:0%
index and that is actually really easy
 

00:12:06.149 --> 00:12:10.960 align:start position:0%
index and that is actually really easy
with<00:12:06.629><c> the</c><00:12:06.749><c> ethereum</c><00:12:07.110><c> blockchain</c><00:12:07.939><c> so</c><00:12:09.110><c> with</c><00:12:10.110><c> a</c>

00:12:10.960 --> 00:12:10.970 align:start position:0%
with the ethereum blockchain so with a
 

00:12:10.970 --> 00:12:14.269 align:start position:0%
with the ethereum blockchain so with a
with<00:12:11.970><c> a</c><00:12:12.000><c> reusable</c><00:12:12.559><c> implementation</c><00:12:13.559><c> of</c><00:12:13.889><c> a</c>

00:12:14.269 --> 00:12:14.279 align:start position:0%
with a reusable implementation of a
 

00:12:14.279 --> 00:12:16.929 align:start position:0%
with a reusable implementation of a
packaged<00:12:14.730><c> index</c><00:12:15.059><c> contract</c><00:12:15.600><c> a</c><00:12:15.930><c> contract</c><00:12:16.050><c> that</c>

00:12:16.929 --> 00:12:16.939 align:start position:0%
packaged index contract a contract that
 

00:12:16.939 --> 00:12:20.660 align:start position:0%
packaged index contract a contract that
manages<00:12:18.529><c> tracking</c><00:12:19.529><c> versions</c><00:12:20.009><c> and</c><00:12:20.309><c> tracking</c>

00:12:20.660 --> 00:12:20.670 align:start position:0%
manages tracking versions and tracking
 

00:12:20.670 --> 00:12:24.019 align:start position:0%
manages tracking versions and tracking
what<00:12:20.790><c> packages</c><00:12:21.300><c> are</c><00:12:21.449><c> available</c><00:12:22.519><c> that</c><00:12:23.519><c> plus</c><00:12:24.000><c> a</c>

00:12:24.019 --> 00:12:24.029 align:start position:0%
what packages are available that plus a
 

00:12:24.029 --> 00:12:26.139 align:start position:0%
what packages are available that plus a
little<00:12:24.300><c> bit</c><00:12:24.420><c> of</c><00:12:24.600><c> tooling</c><00:12:24.959><c> integration</c>

00:12:26.139 --> 00:12:26.149 align:start position:0%
little bit of tooling integration
 

00:12:26.149 --> 00:12:29.449 align:start position:0%
little bit of tooling integration
combined<00:12:27.149><c> with</c><00:12:27.420><c> ens</c><00:12:27.899><c> means</c><00:12:28.829><c> that</c><00:12:29.069><c> we</c><00:12:29.160><c> have</c><00:12:29.279><c> a</c>

00:12:29.449 --> 00:12:29.459 align:start position:0%
combined with ens means that we have a
 

00:12:29.459 --> 00:12:32.749 align:start position:0%
combined with ens means that we have a
very<00:12:30.029><c> easy</c><00:12:30.360><c> system</c><00:12:30.720><c> for</c><00:12:31.500><c> every</c><00:12:32.009><c> team</c><00:12:32.250><c> to</c><00:12:32.550><c> set</c>

00:12:32.749 --> 00:12:32.759 align:start position:0%
very easy system for every team to set
 

00:12:32.759 --> 00:12:35.090 align:start position:0%
very easy system for every team to set
up<00:12:32.879><c> their</c><00:12:33.089><c> own</c><00:12:33.120><c> packaged</c><00:12:33.750><c> index</c><00:12:34.139><c> where</c><00:12:34.800><c> they</c>

00:12:35.090 --> 00:12:35.100 align:start position:0%
up their own packaged index where they
 

00:12:35.100 --> 00:12:36.559 align:start position:0%
up their own packaged index where they
are<00:12:35.250><c> in</c><00:12:35.399><c> full</c><00:12:35.610><c> control</c><00:12:35.850><c> of</c><00:12:36.029><c> all</c><00:12:36.269><c> of</c><00:12:36.449><c> their</c>

00:12:36.559 --> 00:12:36.569 align:start position:0%
are in full control of all of their
 

00:12:36.569 --> 00:12:39.860 align:start position:0%
are in full control of all of their
packages<00:12:37.850><c> now</c><00:12:38.850><c> how</c><00:12:39.029><c> this</c><00:12:39.209><c> relates</c><00:12:39.569><c> to</c><00:12:39.689><c> the</c>

00:12:39.860 --> 00:12:39.870 align:start position:0%
packages now how this relates to the
 

00:12:39.870 --> 00:12:44.350 align:start position:0%
packages now how this relates to the
standard<00:12:40.199><c> library</c><00:12:42.139><c> so</c><00:12:43.139><c> and</c><00:12:43.500><c> and</c><00:12:43.860><c> this</c><00:12:43.980><c> is</c><00:12:44.040><c> a</c>

00:12:44.350 --> 00:12:44.360 align:start position:0%
standard library so and and this is a
 

00:12:44.360 --> 00:12:46.490 align:start position:0%
standard library so and and this is a
theoretical<00:12:45.360><c> way</c><00:12:45.779><c> of</c><00:12:45.899><c> how</c><00:12:46.079><c> you</c><00:12:46.139><c> would</c><00:12:46.379><c> install</c>

00:12:46.490 --> 00:12:46.500 align:start position:0%
theoretical way of how you would install
 

00:12:46.500 --> 00:12:49.340 align:start position:0%
theoretical way of how you would install
this<00:12:47.240><c> we've</c><00:12:48.240><c> got</c><00:12:48.480><c> the</c><00:12:48.660><c> part</c><00:12:48.899><c> on</c><00:12:48.990><c> the</c><00:12:49.110><c> Left</c>

00:12:49.340 --> 00:12:49.350 align:start position:0%
this we've got the part on the Left
 

00:12:49.350 --> 00:12:50.900 align:start position:0%
this we've got the part on the Left
which<00:12:49.559><c> is</c><00:12:49.679><c> handled</c><00:12:50.009><c> by</c><00:12:50.040><c> the</c><00:12:50.129><c> dev</c><00:12:50.399><c> framework</c>

00:12:50.900 --> 00:12:50.910 align:start position:0%
which is handled by the dev framework
 

00:12:50.910 --> 00:12:52.730 align:start position:0%
which is handled by the dev framework
and<00:12:51.120><c> the</c><00:12:51.209><c> part</c><00:12:51.389><c> on</c><00:12:51.480><c> the</c><00:12:51.509><c> right</c><00:12:51.600><c> which</c><00:12:52.350><c> is</c><00:12:52.529><c> the</c>

00:12:52.730 --> 00:12:52.740 align:start position:0%
and the part on the right which is the
 

00:12:52.740 --> 00:12:55.780 align:start position:0%
and the part on the right which is the
namespace<00:12:53.100><c> piece</c><00:12:53.490><c> which</c><00:12:53.730><c> is</c><00:12:53.850><c> handled</c><00:12:54.179><c> by</c><00:12:54.209><c> ENS</c>

00:12:55.780 --> 00:12:55.790 align:start position:0%
namespace piece which is handled by ENS
 

00:12:55.790 --> 00:12:58.879 align:start position:0%
namespace piece which is handled by ENS
so<00:12:56.790><c> our</c><00:12:57.449><c> ecosystem</c><00:12:58.139><c> might</c><00:12:58.290><c> look</c><00:12:58.439><c> like</c><00:12:58.500><c> this</c>

00:12:58.879 --> 00:12:58.889 align:start position:0%
so our ecosystem might look like this
 

00:12:58.889 --> 00:13:01.879 align:start position:0%
so our ecosystem might look like this
maybe<00:12:59.819><c> I've</c><00:13:00.089><c> deployed</c><00:13:00.720><c> a</c><00:13:00.990><c> couple</c><00:13:01.259><c> packages</c><00:13:01.470><c> to</c>

00:13:01.879 --> 00:13:01.889 align:start position:0%
maybe I've deployed a couple packages to
 

00:13:01.889 --> 00:13:04.460 align:start position:0%
maybe I've deployed a couple packages to
my<00:13:02.040><c> index</c><00:13:02.459><c> maybe</c><00:13:03.059><c> the</c><00:13:03.240><c> Maker</c><00:13:03.449><c> Dow</c><00:13:03.720><c> teams</c><00:13:04.110><c> and</c>

00:13:04.460 --> 00:13:04.470 align:start position:0%
my index maybe the Maker Dow teams and
 

00:13:04.470 --> 00:13:06.530 align:start position:0%
my index maybe the Maker Dow teams and
deployed<00:13:04.889><c> a</c><00:13:04.920><c> couple</c><00:13:05.309><c> there</c><00:13:05.579><c> maybe</c><00:13:05.999><c> zeppelins</c>

00:13:06.530 --> 00:13:06.540 align:start position:0%
deployed a couple there maybe zeppelins
 

00:13:06.540 --> 00:13:08.569 align:start position:0%
deployed a couple there maybe zeppelins
got<00:13:06.749><c> some</c><00:13:06.959><c> there</c><00:13:07.199><c> and</c><00:13:07.439><c> there's</c><00:13:08.069><c> some</c><00:13:08.249><c> overlap</c>

00:13:08.569 --> 00:13:08.579 align:start position:0%
got some there and there's some overlap
 

00:13:08.579 --> 00:13:10.699 align:start position:0%
got some there and there's some overlap
right<00:13:09.149><c> like</c><00:13:09.420><c> I've</c><00:13:09.569><c> got</c><00:13:09.779><c> my</c><00:13:09.959><c> own</c><00:13:10.139><c> version</c><00:13:10.410><c> of</c>

00:13:10.699 --> 00:13:10.709 align:start position:0%
right like I've got my own version of
 

00:13:10.709 --> 00:13:13.610 align:start position:0%
right like I've got my own version of
owned<00:13:10.980><c> up</c><00:13:11.309><c> here</c><00:13:11.670><c> I</c><00:13:11.959><c> hope</c><00:13:12.959><c> that</c><00:13:13.259><c> one</c><00:13:13.439><c> doesn't</c>

00:13:13.610 --> 00:13:13.620 align:start position:0%
owned up here I hope that one doesn't
 

00:13:13.620 --> 00:13:15.860 align:start position:0%
owned up here I hope that one doesn't
overlap<00:13:14.009><c> safe</c><00:13:14.370><c> math</c><00:13:14.639><c> I've</c><00:13:14.939><c> got</c><00:13:15.509><c> my</c><00:13:15.720><c> own</c>

00:13:15.860 --> 00:13:15.870 align:start position:0%
overlap safe math I've got my own
 

00:13:15.870 --> 00:13:17.419 align:start position:0%
overlap safe math I've got my own
version<00:13:16.230><c> of</c><00:13:16.290><c> safe</c><00:13:16.529><c> math</c><00:13:16.769><c> on</c><00:13:16.980><c> my</c><00:13:17.160><c> side</c>

00:13:17.419 --> 00:13:17.429 align:start position:0%
version of safe math on my side
 

00:13:17.429 --> 00:13:18.570 align:start position:0%
version of safe math on my side
Zeppelin's<00:13:18.000><c> got</c><00:13:18.209><c> they</c>

00:13:18.570 --> 00:13:18.580 align:start position:0%
Zeppelin's got they
 

00:13:18.580 --> 00:13:21.030 align:start position:0%
Zeppelin's got they
and<00:13:18.880><c> the</c><00:13:19.420><c> idea</c><00:13:19.750><c> here</c><00:13:19.959><c> is</c><00:13:20.019><c> that</c><00:13:20.170><c> somebody</c><00:13:20.830><c> can</c>

00:13:21.030 --> 00:13:21.040 align:start position:0%
and the idea here is that somebody can
 

00:13:21.040 --> 00:13:24.240 align:start position:0%
and the idea here is that somebody can
then<00:13:21.339><c> come</c><00:13:21.670><c> along</c><00:13:22.029><c> and</c><00:13:22.630><c> pick</c><00:13:23.350><c> and</c><00:13:23.560><c> choose</c><00:13:23.620><c> out</c>

00:13:24.240 --> 00:13:24.250 align:start position:0%
then come along and pick and choose out
 

00:13:24.250 --> 00:13:26.490 align:start position:0%
then come along and pick and choose out
of<00:13:24.279><c> each</c><00:13:24.550><c> of</c><00:13:24.730><c> these</c><00:13:24.880><c> different</c><00:13:25.149><c> indexes</c><00:13:25.810><c> which</c>

00:13:26.490 --> 00:13:26.500 align:start position:0%
of each of these different indexes which
 

00:13:26.500 --> 00:13:28.560 align:start position:0%
of each of these different indexes which
ones<00:13:26.830><c> they</c><00:13:27.130><c> think</c><00:13:27.370><c> need</c><00:13:27.700><c> to</c><00:13:27.730><c> come</c><00:13:28.029><c> can</c><00:13:28.330><c> come</c>

00:13:28.560 --> 00:13:28.570 align:start position:0%
ones they think need to come can come
 

00:13:28.570 --> 00:13:32.370 align:start position:0%
ones they think need to come can come
together<00:13:28.720><c> to</c><00:13:29.170><c> form</c><00:13:29.560><c> one</c><00:13:30.540><c> rich</c><00:13:31.540><c> reusable</c>

00:13:32.370 --> 00:13:32.380 align:start position:0%
together to form one rich reusable
 

00:13:32.380 --> 00:13:37.110 align:start position:0%
together to form one rich reusable
standard<00:13:32.740><c> library</c><00:13:34.170><c> and</c><00:13:35.640><c> well</c><00:13:36.640><c> it's</c><00:13:36.850><c> great</c>

00:13:37.110 --> 00:13:37.120 align:start position:0%
standard library and well it's great
 

00:13:37.120 --> 00:13:39.630 align:start position:0%
standard library and well it's great
that<00:13:37.450><c> we</c><00:13:37.570><c> all</c><00:13:37.779><c> get</c><00:13:38.050><c> different</c><00:13:38.920><c> packaged</c>

00:13:39.630 --> 00:13:39.640 align:start position:0%
that we all get different packaged
 

00:13:39.640 --> 00:13:41.280 align:start position:0%
that we all get different packaged
indexes<00:13:40.209><c> and</c><00:13:40.360><c> we</c><00:13:40.420><c> all</c><00:13:40.540><c> have</c><00:13:40.720><c> our</c><00:13:40.750><c> own</c><00:13:40.839><c> packaged</c>

00:13:41.280 --> 00:13:41.290 align:start position:0%
indexes and we all have our own packaged
 

00:13:41.290 --> 00:13:43.199 align:start position:0%
indexes and we all have our own packaged
indexes<00:13:41.829><c> I</c><00:13:41.980><c> think</c><00:13:42.700><c> that's</c><00:13:42.850><c> the</c><00:13:43.000><c> way</c><00:13:43.089><c> the</c>

00:13:43.199 --> 00:13:43.209 align:start position:0%
indexes I think that's the way the
 

00:13:43.209 --> 00:13:45.300 align:start position:0%
indexes I think that's the way the
standard<00:13:43.570><c> library</c><00:13:43.990><c> can</c><00:13:44.200><c> work</c><00:13:44.350><c> -</c><00:13:44.649><c> it</c><00:13:45.070><c> can</c><00:13:45.190><c> look</c>

00:13:45.300 --> 00:13:45.310 align:start position:0%
standard library can work - it can look
 

00:13:45.310 --> 00:13:46.860 align:start position:0%
standard library can work - it can look
a<00:13:45.430><c> lot</c><00:13:45.610><c> like</c><00:13:45.760><c> Linux</c><00:13:46.180><c> where</c><00:13:46.390><c> there's</c><00:13:46.540><c> different</c>

00:13:46.860 --> 00:13:46.870 align:start position:0%
a lot like Linux where there's different
 

00:13:46.870 --> 00:13:48.900 align:start position:0%
a lot like Linux where there's different
flavors<00:13:46.990><c> of</c><00:13:47.440><c> the</c><00:13:47.560><c> standard</c><00:13:47.920><c> library</c><00:13:48.070><c> where</c>

00:13:48.900 --> 00:13:48.910 align:start position:0%
flavors of the standard library where
 

00:13:48.910 --> 00:13:50.579 align:start position:0%
flavors of the standard library where
there's<00:13:49.120><c> different</c><00:13:49.269><c> curators</c><00:13:49.930><c> and</c><00:13:50.200><c> different</c>

00:13:50.579 --> 00:13:50.589 align:start position:0%
there's different curators and different
 

00:13:50.589 --> 00:13:53.009 align:start position:0%
there's different curators and different
people<00:13:51.279><c> who've</c><00:13:51.459><c> picked</c><00:13:52.120><c> and</c><00:13:52.329><c> choose</c><00:13:52.570><c> which</c>

00:13:53.009 --> 00:13:53.019 align:start position:0%
people who've picked and choose which
 

00:13:53.019 --> 00:13:54.960 align:start position:0%
people who've picked and choose which
packages<00:13:53.740><c> from</c><00:13:53.920><c> which</c><00:13:54.160><c> place</c><00:13:54.459><c> they</c><00:13:54.760><c> think</c>

00:13:54.960 --> 00:13:54.970 align:start position:0%
packages from which place they think
 

00:13:54.970 --> 00:13:57.120 align:start position:0%
packages from which place they think
make<00:13:55.240><c> up</c><00:13:55.390><c> the</c><00:13:55.570><c> best</c><00:13:55.779><c> standard</c><00:13:56.170><c> library</c><00:13:56.560><c> which</c>

00:13:57.120 --> 00:13:57.130 align:start position:0%
make up the best standard library which
 

00:13:57.130 --> 00:13:58.769 align:start position:0%
make up the best standard library which
means<00:13:57.370><c> we're</c><00:13:57.550><c> not</c><00:13:57.670><c> stuck</c><00:13:58.000><c> with</c><00:13:58.029><c> one</c><00:13:58.390><c> packaged</c>

00:13:58.769 --> 00:13:58.779 align:start position:0%
means we're not stuck with one packaged
 

00:13:58.779 --> 00:14:01.560 align:start position:0%
means we're not stuck with one packaged
index<00:13:59.190><c> we're</c><00:14:00.190><c> not</c><00:14:00.310><c> stuck</c><00:14:00.550><c> with</c><00:14:00.579><c> one</c><00:14:00.910><c> standard</c>

00:14:01.560 --> 00:14:01.570 align:start position:0%
index we're not stuck with one standard
 

00:14:01.570 --> 00:14:03.030 align:start position:0%
index we're not stuck with one standard
library<00:14:02.050><c> but</c><00:14:02.320><c> we</c><00:14:02.410><c> actually</c><00:14:02.529><c> have</c><00:14:02.800><c> a</c><00:14:02.829><c> lot</c><00:14:03.010><c> of</c>

00:14:03.030 --> 00:14:03.040 align:start position:0%
library but we actually have a lot of
 

00:14:03.040 --> 00:14:06.180 align:start position:0%
library but we actually have a lot of
choice<00:14:03.399><c> to</c><00:14:03.700><c> pick</c><00:14:03.880><c> and</c><00:14:04.029><c> choose</c><00:14:04.890><c> this</c><00:14:05.890><c> can</c><00:14:06.100><c> be</c>

00:14:06.180 --> 00:14:06.190 align:start position:0%
choice to pick and choose this can be
 

00:14:06.190 --> 00:14:08.040 align:start position:0%
choice to pick and choose this can be
thought<00:14:06.310><c> of</c><00:14:06.370><c> sort</c><00:14:06.730><c> of</c><00:14:06.790><c> as</c><00:14:06.940><c> the</c><00:14:07.149><c> spread</c><00:14:07.839><c> a</c><00:14:07.870><c> bunch</c>

00:14:08.040 --> 00:14:08.050 align:start position:0%
thought of sort of as the spread a bunch
 

00:14:08.050 --> 00:14:11.400 align:start position:0%
thought of sort of as the spread a bunch
of<00:14:08.200><c> seeds</c><00:14:08.500><c> and</c><00:14:08.740><c> see</c><00:14:08.950><c> which</c><00:14:09.100><c> flowers</c><00:14:09.550><c> bloom</c><00:14:10.410><c> but</c>

00:14:11.400 --> 00:14:11.410 align:start position:0%
of seeds and see which flowers bloom but
 

00:14:11.410 --> 00:14:14.670 align:start position:0%
of seeds and see which flowers bloom but
I<00:14:11.440><c> think</c><00:14:11.740><c> this</c><00:14:12.040><c> has</c><00:14:12.519><c> some</c><00:14:13.240><c> is</c><00:14:13.510><c> very</c><00:14:14.050><c> promising</c>

00:14:14.670 --> 00:14:14.680 align:start position:0%
I think this has some is very promising
 

00:14:14.680 --> 00:14:18.870 align:start position:0%
I think this has some is very promising
for<00:14:15.010><c> a</c><00:14:15.070><c> rich</c><00:14:15.250><c> ecosystem</c><00:14:15.880><c> of</c><00:14:15.940><c> packages</c><00:14:17.430><c> so</c><00:14:18.430><c> what</c>

00:14:18.870 --> 00:14:18.880 align:start position:0%
for a rich ecosystem of packages so what
 

00:14:18.880 --> 00:14:21.870 align:start position:0%
for a rich ecosystem of packages so what
do<00:14:18.940><c> we</c><00:14:19.029><c> need</c><00:14:19.180><c> to</c><00:14:19.300><c> make</c><00:14:19.420><c> this</c><00:14:19.540><c> a</c><00:14:19.600><c> reality</c><00:14:19.890><c> um</c><00:14:20.890><c> so</c>

00:14:21.870 --> 00:14:21.880 align:start position:0%
do we need to make this a reality um so
 

00:14:21.880 --> 00:14:24.060 align:start position:0%
do we need to make this a reality um so
right<00:14:22.180><c> now</c><00:14:22.329><c> we</c><00:14:22.390><c> need</c><00:14:22.720><c> more</c><00:14:22.750><c> support</c><00:14:23.410><c> for</c><00:14:23.649><c> erc</c>

00:14:24.060 --> 00:14:24.070 align:start position:0%
right now we need more support for erc
 

00:14:24.070 --> 00:14:27.000 align:start position:0%
right now we need more support for erc
90<00:14:24.100><c> and</c><00:14:24.520><c> tooling</c><00:14:25.140><c> populous</c><00:14:26.140><c> has</c><00:14:26.440><c> some</c><00:14:26.649><c> basic</c>

00:14:27.000 --> 00:14:27.010 align:start position:0%
90 and tooling populous has some basic
 

00:14:27.010 --> 00:14:29.460 align:start position:0%
90 and tooling populous has some basic
support<00:14:27.339><c> in</c><00:14:27.520><c> it</c><00:14:27.640><c> same</c><00:14:28.329><c> with</c><00:14:28.510><c> truffled</c><00:14:28.930><c> but</c><00:14:29.230><c> in</c>

00:14:29.460 --> 00:14:29.470 align:start position:0%
support in it same with truffled but in
 

00:14:29.470 --> 00:14:33.090 align:start position:0%
support in it same with truffled but in
we<00:14:29.860><c> need</c><00:14:29.980><c> more</c><00:14:30.250><c> tools</c><00:14:30.610><c> to</c><00:14:30.820><c> support</c><00:14:31.000><c> this</c><00:14:32.100><c> we</c>

00:14:33.090 --> 00:14:33.100 align:start position:0%
we need more tools to support this we
 

00:14:33.100 --> 00:14:35.370 align:start position:0%
we need more tools to support this we
need<00:14:33.279><c> a</c><00:14:33.700><c> standard</c><00:14:34.329><c> implementation</c><00:14:35.230><c> of</c><00:14:35.320><c> a</c>

00:14:35.370 --> 00:14:35.380 align:start position:0%
need a standard implementation of a
 

00:14:35.380 --> 00:14:36.930 align:start position:0%
need a standard implementation of a
package<00:14:35.709><c> registry</c><00:14:36.190><c> something</c><00:14:36.610><c> that</c><00:14:36.730><c> we</c><00:14:36.820><c> can</c>

00:14:36.930 --> 00:14:36.940 align:start position:0%
package registry something that we can
 

00:14:36.940 --> 00:14:38.760 align:start position:0%
package registry something that we can
ship<00:14:37.180><c> around</c><00:14:37.480><c> in</c><00:14:37.720><c> those</c><00:14:37.810><c> tools</c><00:14:38.140><c> so</c><00:14:38.470><c> those</c>

00:14:38.760 --> 00:14:38.770 align:start position:0%
ship around in those tools so those
 

00:14:38.770 --> 00:14:41.940 align:start position:0%
ship around in those tools so those
tools<00:14:39.040><c> can</c><00:14:39.310><c> set</c><00:14:39.550><c> them</c><00:14:39.700><c> up</c><00:14:39.850><c> for</c><00:14:39.880><c> us</c><00:14:40.260><c> and</c><00:14:41.260><c> then</c><00:14:41.829><c> we</c>

00:14:41.940 --> 00:14:41.950 align:start position:0%
tools can set them up for us and then we
 

00:14:41.950 --> 00:14:43.560 align:start position:0%
tools can set them up for us and then we
need<00:14:42.100><c> automation</c><00:14:42.730><c> for</c><00:14:42.970><c> setting</c><00:14:43.390><c> these</c>

00:14:43.560 --> 00:14:43.570 align:start position:0%
need automation for setting these
 

00:14:43.570 --> 00:14:45.780 align:start position:0%
need automation for setting these
registries<00:14:44.110><c> up</c><00:14:44.380><c> and</c><00:14:44.620><c> that's</c><00:14:45.010><c> both</c><00:14:45.190><c> automation</c>

00:14:45.780 --> 00:14:45.790 align:start position:0%
registries up and that's both automation
 

00:14:45.790 --> 00:14:47.760 align:start position:0%
registries up and that's both automation
for<00:14:45.970><c> deploying</c><00:14:46.329><c> them</c><00:14:46.630><c> as</c><00:14:46.839><c> well</c><00:14:47.079><c> as</c><00:14:47.170><c> automation</c>

00:14:47.760 --> 00:14:47.770 align:start position:0%
for deploying them as well as automation
 

00:14:47.770 --> 00:14:49.910 align:start position:0%
for deploying them as well as automation
for<00:14:47.950><c> getting</c><00:14:48.220><c> the</c><00:14:48.339><c> ens</c><00:14:48.760><c> piece</c><00:14:49.149><c> tied</c><00:14:49.630><c> together</c>

00:14:49.910 --> 00:14:49.920 align:start position:0%
for getting the ens piece tied together
 

00:14:49.920 --> 00:14:54.210 align:start position:0%
for getting the ens piece tied together
and<00:14:51.329><c> we</c><00:14:52.329><c> need</c><00:14:52.540><c> a</c><00:14:52.839><c> feature</c><00:14:53.140><c> request</c><00:14:53.380><c> into</c>

00:14:54.210 --> 00:14:54.220 align:start position:0%
and we need a feature request into
 

00:14:54.220 --> 00:14:58.170 align:start position:0%
and we need a feature request into
solidity<00:14:54.820><c> and</c><00:14:55.180><c> other</c><00:14:55.770><c> EVM</c><00:14:56.770><c> languages</c><00:14:57.490><c> to</c>

00:14:58.170 --> 00:14:58.180 align:start position:0%
solidity and other EVM languages to
 

00:14:58.180 --> 00:15:00.630 align:start position:0%
solidity and other EVM languages to
allow<00:14:58.420><c> us</c><00:14:58.600><c> to</c><00:14:58.870><c> inject</c><00:14:59.500><c> pre-compiled</c><00:15:00.220><c> byte</c>

00:15:00.630 --> 00:15:00.640 align:start position:0%
allow us to inject pre-compiled byte
 

00:15:00.640 --> 00:15:02.910 align:start position:0%
allow us to inject pre-compiled byte
code<00:15:00.910><c> into</c><00:15:01.360><c> the</c><00:15:01.390><c> compilation</c><00:15:01.810><c> process</c><00:15:02.110><c> and</c>

00:15:02.910 --> 00:15:02.920 align:start position:0%
code into the compilation process and
 

00:15:02.920 --> 00:15:05.430 align:start position:0%
code into the compilation process and
the<00:15:03.370><c> reason</c><00:15:03.699><c> for</c><00:15:03.880><c> this</c><00:15:04.000><c> is</c><00:15:04.240><c> that</c><00:15:04.270><c> as</c><00:15:04.630><c> our</c>

00:15:05.430 --> 00:15:05.440 align:start position:0%
the reason for this is that as our
 

00:15:05.440 --> 00:15:07.829 align:start position:0%
the reason for this is that as our
package<00:15:05.860><c> ecosystem</c><00:15:06.459><c> grows</c><00:15:06.670><c> we're</c><00:15:07.480><c> gonna</c><00:15:07.600><c> have</c>

00:15:07.829 --> 00:15:07.839 align:start position:0%
package ecosystem grows we're gonna have
 

00:15:07.839 --> 00:15:10.800 align:start position:0%
package ecosystem grows we're gonna have
many<00:15:08.199><c> different</c><00:15:08.949><c> versions</c><00:15:09.520><c> of</c><00:15:09.970><c> solidity</c><00:15:10.480><c> that</c>

00:15:10.800 --> 00:15:10.810 align:start position:0%
many different versions of solidity that
 

00:15:10.810 --> 00:15:12.930 align:start position:0%
many different versions of solidity that
are<00:15:10.899><c> required</c><00:15:11.350><c> to</c><00:15:11.620><c> recompile</c><00:15:12.130><c> certain</c><00:15:12.640><c> things</c>

00:15:12.930 --> 00:15:12.940 align:start position:0%
are required to recompile certain things
 

00:15:12.940 --> 00:15:16.730 align:start position:0%
are required to recompile certain things
and<00:15:13.209><c> in</c><00:15:14.199><c> order</c><00:15:14.529><c> to</c><00:15:14.589><c> require</c><00:15:15.180><c> compile</c><00:15:16.180><c> a</c><00:15:16.449><c> very</c>

00:15:16.730 --> 00:15:16.740 align:start position:0%
and in order to require compile a very
 

00:15:16.740 --> 00:15:19.620 align:start position:0%
and in order to require compile a very
complex<00:15:17.740><c> dependency</c><00:15:18.519><c> tree</c><00:15:18.850><c> that</c><00:15:19.120><c> has</c><00:15:19.240><c> lots</c><00:15:19.510><c> of</c>

00:15:19.620 --> 00:15:19.630 align:start position:0%
complex dependency tree that has lots of
 

00:15:19.630 --> 00:15:21.870 align:start position:0%
complex dependency tree that has lots of
different<00:15:19.779><c> versions</c><00:15:20.529><c> of</c><00:15:20.829><c> solidity</c><00:15:21.279><c> we're</c>

00:15:21.870 --> 00:15:21.880 align:start position:0%
different versions of solidity we're
 

00:15:21.880 --> 00:15:23.069 align:start position:0%
different versions of solidity we're
gonna<00:15:21.970><c> need</c><00:15:22.209><c> to</c><00:15:22.360><c> be</c><00:15:22.449><c> able</c><00:15:22.540><c> to</c><00:15:22.690><c> compile</c><00:15:23.050><c> all</c>

00:15:23.069 --> 00:15:23.079 align:start position:0%
gonna need to be able to compile all
 

00:15:23.079 --> 00:15:24.870 align:start position:0%
gonna need to be able to compile all
those<00:15:23.500><c> individually</c><00:15:24.250><c> and</c><00:15:24.370><c> then</c><00:15:24.519><c> slowly</c>

00:15:24.870 --> 00:15:24.880 align:start position:0%
those individually and then slowly
 

00:15:24.880 --> 00:15:26.370 align:start position:0%
those individually and then slowly
combine<00:15:25.390><c> them</c><00:15:25.570><c> together</c><00:15:25.750><c> into</c><00:15:26.079><c> one</c><00:15:26.350><c> big</c>

00:15:26.370 --> 00:15:26.380 align:start position:0%
combine them together into one big
 

00:15:26.380 --> 00:15:28.860 align:start position:0%
combine them together into one big
compiled<00:15:27.070><c> asset</c><00:15:27.520><c> so</c><00:15:28.180><c> there's</c><00:15:28.510><c> gonna</c><00:15:28.660><c> be</c><00:15:28.750><c> some</c>

00:15:28.860 --> 00:15:28.870 align:start position:0%
compiled asset so there's gonna be some
 

00:15:28.870 --> 00:15:31.500 align:start position:0%
compiled asset so there's gonna be some
compiler<00:15:29.380><c> or</c><00:15:29.589><c> if</c><00:15:29.649><c> it</c><00:15:29.770><c> has</c><00:15:29.890><c> to</c><00:15:30.010><c> be</c><00:15:30.070><c> done</c><00:15:30.250><c> but</c><00:15:31.209><c> in</c>

00:15:31.500 --> 00:15:31.510 align:start position:0%
compiler or if it has to be done but in
 

00:15:31.510 --> 00:15:34.740 align:start position:0%
compiler or if it has to be done but in
general<00:15:31.780><c> most</c><00:15:32.110><c> of</c><00:15:32.350><c> these</c><00:15:32.500><c> pieces</c><00:15:32.800><c> are</c><00:15:33.250><c> at</c><00:15:34.060><c> the</c>

00:15:34.740 --> 00:15:34.750 align:start position:0%
general most of these pieces are at the
 

00:15:34.750 --> 00:15:37.320 align:start position:0%
general most of these pieces are at the
80%<00:15:35.290><c> mark</c><00:15:35.800><c> or</c><00:15:35.980><c> more</c><00:15:36.220><c> we're</c><00:15:36.640><c> very</c><00:15:36.880><c> close</c><00:15:37.150><c> to</c>

00:15:37.320 --> 00:15:37.330 align:start position:0%
80% mark or more we're very close to
 

00:15:37.330 --> 00:15:39.540 align:start position:0%
80% mark or more we're very close to
this<00:15:37.480><c> and</c><00:15:37.780><c> all</c><00:15:38.170><c> of</c><00:15:38.350><c> this</c><00:15:38.500><c> is</c><00:15:38.680><c> about</c><00:15:39.130><c> ready</c><00:15:39.460><c> to</c>

00:15:39.540 --> 00:15:39.550 align:start position:0%
this and all of this is about ready to
 

00:15:39.550 --> 00:15:47.870 align:start position:0%
this and all of this is about ready to
come<00:15:39.820><c> together</c><00:15:40.920><c> thank</c><00:15:41.920><c> you</c>

00:15:47.870 --> 00:15:47.880 align:start position:0%
 
 

00:15:47.880 --> 00:15:55.370 align:start position:0%
 
[Music]

