WEBVTT
Kind: captions
Language: en

00:00:01.839 --> 00:00:05.510 align:start position:0%
 
this<00:00:02.040><c> is</c><00:00:02.720><c> uh</c><00:00:03.719><c> yeah</c><00:00:03.919><c> I</c><00:00:04.080><c> think</c><00:00:04.279><c> we</c><00:00:04.440><c> call</c><00:00:04.720><c> browser</c>

00:00:05.510 --> 00:00:05.520 align:start position:0%
this is uh yeah I think we call browser
 

00:00:05.520 --> 00:00:08.790 align:start position:0%
this is uh yeah I think we call browser
solidity<00:00:06.520><c> and</c><00:00:06.720><c> it's</c><00:00:07.000><c> an</c><00:00:07.520><c> fully</c><00:00:07.839><c> functional</c>

00:00:08.790 --> 00:00:08.800 align:start position:0%
solidity and it's an fully functional
 

00:00:08.800 --> 00:00:11.870 align:start position:0%
solidity and it's an fully functional
IDE<00:00:09.800><c> which</c><00:00:10.440><c> uh</c><00:00:10.599><c> does</c><00:00:10.840><c> not</c><00:00:11.200><c> require</c><00:00:11.599><c> you</c><00:00:11.719><c> to</c>

00:00:11.870 --> 00:00:11.880 align:start position:0%
IDE which uh does not require you to
 

00:00:11.880 --> 00:00:13.709 align:start position:0%
IDE which uh does not require you to
install<00:00:12.280><c> anything</c><00:00:12.679><c> it</c><00:00:12.840><c> just</c><00:00:13.200><c> it</c><00:00:13.320><c> runs</c>

00:00:13.709 --> 00:00:13.719 align:start position:0%
install anything it just it runs
 

00:00:13.719 --> 00:00:15.990 align:start position:0%
install anything it just it runs
directly<00:00:14.080><c> from</c><00:00:14.200><c> the</c><00:00:14.360><c> browser</c><00:00:15.360><c> it</c><00:00:15.480><c> is</c><00:00:15.639><c> even</c>

00:00:15.990 --> 00:00:16.000 align:start position:0%
directly from the browser it is even
 

00:00:16.000 --> 00:00:18.349 align:start position:0%
directly from the browser it is even
able<00:00:16.320><c> to</c><00:00:16.720><c> run</c><00:00:17.000><c> an</c><00:00:17.199><c> offline</c><00:00:17.640><c> context</c><00:00:18.119><c> so</c><00:00:18.240><c> it</c>

00:00:18.349 --> 00:00:18.359 align:start position:0%
able to run an offline context so it
 

00:00:18.359 --> 00:00:23.429 align:start position:0%
able to run an offline context so it
does<00:00:18.560><c> not</c><00:00:18.800><c> have</c><00:00:18.920><c> to</c><00:00:19.920><c> uh</c><00:00:21.000><c> yeah</c><00:00:22.000><c> load</c><00:00:22.960><c> uh</c><00:00:23.160><c> stuff</c>

00:00:23.429 --> 00:00:23.439 align:start position:0%
does not have to uh yeah load uh stuff
 

00:00:23.439 --> 00:00:24.429 align:start position:0%
does not have to uh yeah load uh stuff
from<00:00:23.599><c> the</c>

00:00:24.429 --> 00:00:24.439 align:start position:0%
from the
 

00:00:24.439 --> 00:00:26.669 align:start position:0%
from the
internet<00:00:25.439><c> and</c>

00:00:26.669 --> 00:00:26.679 align:start position:0%
internet and
 

00:00:26.679 --> 00:00:35.670 align:start position:0%
internet and
the<00:00:27.679><c> you</c><00:00:27.800><c> can</c><00:00:28.000><c> find</c><00:00:28.279><c> it</c><00:00:28.519><c> at</c><00:00:28.679><c> the</c><00:00:28.800><c> following</c><00:00:29.199><c> URL</c>

00:00:35.670 --> 00:00:35.680 align:start position:0%
 
 

00:00:35.680 --> 00:00:37.069 align:start position:0%
 
okay<00:00:35.879><c> that's</c><00:00:36.079><c> actually</c><00:00:36.239><c> not</c><00:00:36.399><c> the</c><00:00:36.520><c> URL</c><00:00:36.920><c> that's</c>

00:00:37.069 --> 00:00:37.079 align:start position:0%
okay that's actually not the URL that's
 

00:00:37.079 --> 00:00:49.709 align:start position:0%
okay that's actually not the URL that's
the<00:00:37.200><c> offline</c><00:00:37.520><c> version</c><00:00:37.800><c> I</c>

00:00:49.709 --> 00:00:49.719 align:start position:0%
 
 

00:00:49.719 --> 00:00:52.570 align:start position:0%
 
saved<00:00:50.719><c> okay</c><00:00:51.399><c> um</c>

00:00:52.570 --> 00:00:52.580 align:start position:0%
saved okay um
 

00:00:52.580 --> 00:00:54.189 align:start position:0%
saved okay um
[Music]

00:00:54.189 --> 00:00:54.199 align:start position:0%
[Music]
 

00:00:54.199 --> 00:00:57.869 align:start position:0%
[Music]
and<00:00:55.199><c> yes</c><00:00:55.359><c> so</c><00:00:55.920><c> it's</c><00:00:56.920><c> it's</c><00:00:57.120><c> divided</c><00:00:57.480><c> into</c><00:00:57.680><c> two</c>

00:00:57.869 --> 00:00:57.879 align:start position:0%
and yes so it's it's divided into two
 

00:00:57.879 --> 00:01:00.270 align:start position:0%
and yes so it's it's divided into two
parts<00:00:58.160><c> on</c><00:00:58.280><c> the</c><00:00:58.440><c> left</c><00:00:58.719><c> side</c><00:00:59.199><c> uh</c><00:00:59.280><c> you</c><00:00:59.399><c> see</c><00:00:59.680><c> the</c>

00:01:00.270 --> 00:01:00.280 align:start position:0%
parts on the left side uh you see the
 

00:01:00.280 --> 00:01:04.390 align:start position:0%
parts on the left side uh you see the
the<00:01:00.480><c> editor</c><00:01:01.480><c> with</c><00:01:01.680><c> multiple</c><00:01:02.480><c> tabs</c><00:01:03.480><c> um</c><00:01:04.119><c> and</c><00:01:04.239><c> on</c>

00:01:04.390 --> 00:01:04.400 align:start position:0%
the editor with multiple tabs um and on
 

00:01:04.400 --> 00:01:06.310 align:start position:0%
the editor with multiple tabs um and on
the<00:01:04.559><c> right</c><00:01:04.879><c> side</c><00:01:05.239><c> you</c>

00:01:06.310 --> 00:01:06.320 align:start position:0%
the right side you
 

00:01:06.320 --> 00:01:07.950 align:start position:0%
the right side you
see

00:01:07.950 --> 00:01:07.960 align:start position:0%
see
 

00:01:07.960 --> 00:01:10.070 align:start position:0%
see
automatically<00:01:08.960><c> generate</c><00:01:09.479><c> information</c><00:01:09.920><c> about</c>

00:01:10.070 --> 00:01:10.080 align:start position:0%
automatically generate information about
 

00:01:10.080 --> 00:01:12.270 align:start position:0%
automatically generate information about
the<00:01:10.200><c> contract</c><00:01:10.520><c> you're</c><00:01:10.680><c> currently</c><00:01:11.280><c> writing</c>

00:01:12.270 --> 00:01:12.280 align:start position:0%
the contract you're currently writing
 

00:01:12.280 --> 00:01:26.870 align:start position:0%
the contract you're currently writing
let's<00:01:12.479><c> start</c><00:01:12.680><c> with</c><00:01:12.799><c> a</c><00:01:12.920><c> simple</c>

00:01:26.870 --> 00:01:26.880 align:start position:0%
 
 

00:01:26.880 --> 00:01:29.749 align:start position:0%
 
contract<00:01:27.880><c> that's</c><00:01:28.159><c> just</c><00:01:28.479><c> a</c><00:01:28.960><c> contract</c><00:01:29.560><c> which</c>

00:01:29.749 --> 00:01:29.759 align:start position:0%
contract that's just a contract which
 

00:01:29.759 --> 00:01:32.550 align:start position:0%
contract that's just a contract which
has<00:01:30.000><c> has</c><00:01:30.320><c> a</c><00:01:30.479><c> variable</c><00:01:31.320><c> and</c><00:01:31.439><c> a</c><00:01:31.600><c> function</c><00:01:32.159><c> and</c>

00:01:32.550 --> 00:01:32.560 align:start position:0%
has has a variable and a function and
 

00:01:32.560 --> 00:01:34.950 align:start position:0%
has has a variable and a function and
you<00:01:32.680><c> can</c><00:01:32.799><c> use</c><00:01:32.960><c> the</c><00:01:33.040><c> function</c><00:01:33.280><c> to</c><00:01:33.399><c> set</c><00:01:33.560><c> the</c>

00:01:34.950 --> 00:01:34.960 align:start position:0%
you can use the function to set the
 

00:01:34.960 --> 00:01:38.990 align:start position:0%
you can use the function to set the
variable<00:01:36.320><c> um</c><00:01:37.320><c> here</c><00:01:37.479><c> on</c><00:01:37.600><c> the</c><00:01:37.720><c> right</c><00:01:38.079><c> side</c><00:01:38.759><c> uh</c>

00:01:38.990 --> 00:01:39.000 align:start position:0%
variable um here on the right side uh
 

00:01:39.000 --> 00:01:41.230 align:start position:0%
variable um here on the right side uh
you<00:01:39.119><c> see</c><00:01:39.399><c> the</c><00:01:39.560><c> currently</c><00:01:40.159><c> loaded</c><00:01:40.640><c> compiler</c>

00:01:41.230 --> 00:01:41.240 align:start position:0%
you see the currently loaded compiler
 

00:01:41.240 --> 00:01:43.109 align:start position:0%
you see the currently loaded compiler
which<00:01:41.360><c> is</c><00:01:41.880><c> uh</c>

00:01:43.109 --> 00:01:43.119 align:start position:0%
which is uh
 

00:01:43.119 --> 00:01:45.590 align:start position:0%
which is uh
0.44<00:01:44.119><c> using</c><00:01:44.439><c> this</c><00:01:44.560><c> dropdown</c><00:01:45.000><c> you</c><00:01:45.119><c> can</c><00:01:45.280><c> change</c>

00:01:45.590 --> 00:01:45.600 align:start position:0%
0.44 using this dropdown you can change
 

00:01:45.600 --> 00:01:48.870 align:start position:0%
0.44 using this dropdown you can change
it<00:01:45.880><c> to</c><00:01:46.040><c> an</c><00:01:46.200><c> older</c><00:01:46.560><c> compiler</c><00:01:47.240><c> version</c><00:01:48.240><c> uh</c><00:01:48.520><c> this</c>

00:01:48.870 --> 00:01:48.880 align:start position:0%
it to an older compiler version uh this
 

00:01:48.880 --> 00:01:52.270 align:start position:0%
it to an older compiler version uh this
goes<00:01:49.880><c> back</c>

00:01:52.270 --> 00:01:52.280 align:start position:0%
goes back
 

00:01:52.280 --> 00:01:54.190 align:start position:0%
goes back
yeah

00:01:54.190 --> 00:01:54.200 align:start position:0%
yeah
 

00:01:54.200 --> 00:01:58.469 align:start position:0%
yeah
yes<00:01:55.200><c> so</c><00:01:55.479><c> for</c><00:01:55.719><c> 011</c><00:01:56.399><c> we</c><00:01:56.520><c> don't</c><00:01:56.680><c> even</c><00:01:56.840><c> have</c><00:01:56.960><c> a</c><00:01:57.320><c> date</c>

00:01:58.469 --> 00:01:58.479 align:start position:0%
yes so for 011 we don't even have a date
 

00:01:58.479 --> 00:02:00.990 align:start position:0%
yes so for 011 we don't even have a date
um<00:01:59.479><c> it's</c><00:01:59.600><c> a</c><00:01:59.680><c> big</c><00:02:00.000><c> confusing</c><00:02:00.399><c> because</c><00:02:00.680><c> that</c><00:02:00.799><c> is</c>

00:02:00.990 --> 00:02:01.000 align:start position:0%
um it's a big confusing because that is
 

00:02:01.000 --> 00:02:03.350 align:start position:0%
um it's a big confusing because that is
not<00:02:01.240><c> the</c><00:02:01.439><c> active</c><00:02:01.880><c> version</c><00:02:02.880><c> uh</c><00:02:03.000><c> if</c><00:02:03.079><c> you</c><00:02:03.159><c> want</c><00:02:03.280><c> to</c>

00:02:03.350 --> 00:02:03.360 align:start position:0%
not the active version uh if you want to
 

00:02:03.360 --> 00:02:05.069 align:start position:0%
not the active version uh if you want to
see<00:02:03.520><c> the</c><00:02:03.640><c> current</c><00:02:03.920><c> version</c><00:02:04.240><c> you</c><00:02:04.320><c> have</c><00:02:04.439><c> to</c><00:02:04.560><c> look</c>

00:02:05.069 --> 00:02:05.079 align:start position:0%
see the current version you have to look
 

00:02:05.079 --> 00:02:07.029 align:start position:0%
see the current version you have to look
here

00:02:07.029 --> 00:02:07.039 align:start position:0%
here
 

00:02:07.039 --> 00:02:09.869 align:start position:0%
here
um<00:02:08.039><c> and</c><00:02:08.200><c> if</c><00:02:08.399><c> autoc</c><00:02:08.720><c> compile</c><00:02:09.119><c> is</c><00:02:09.360><c> is</c><00:02:09.479><c> ticked</c>

00:02:09.869 --> 00:02:09.879 align:start position:0%
um and if autoc compile is is ticked
 

00:02:09.879 --> 00:02:11.790 align:start position:0%
um and if autoc compile is is ticked
here<00:02:10.200><c> then</c><00:02:10.479><c> it</c><00:02:10.599><c> automatically</c><00:02:11.200><c> compiles</c><00:02:11.640><c> with</c>

00:02:11.790 --> 00:02:11.800 align:start position:0%
here then it automatically compiles with
 

00:02:11.800 --> 00:02:14.350 align:start position:0%
here then it automatically compiles with
every<00:02:12.239><c> keystroke</c><00:02:13.000><c> basically</c><00:02:14.000><c> uh</c><00:02:14.120><c> if</c><00:02:14.200><c> you</c>

00:02:14.350 --> 00:02:14.360 align:start position:0%
every keystroke basically uh if you
 

00:02:14.360 --> 00:02:16.070 align:start position:0%
every keystroke basically uh if you
disable<00:02:14.879><c> that</c><00:02:15.280><c> then</c><00:02:15.440><c> you</c><00:02:15.560><c> can</c><00:02:15.720><c> click</c><00:02:16.000><c> the</c>

00:02:16.070 --> 00:02:16.080 align:start position:0%
disable that then you can click the
 

00:02:16.080 --> 00:02:17.589 align:start position:0%
disable that then you can click the
button<00:02:16.319><c> to</c>

00:02:17.589 --> 00:02:17.599 align:start position:0%
button to
 

00:02:17.599 --> 00:02:21.070 align:start position:0%
button to
compile<00:02:18.599><c> and</c><00:02:19.360><c> the</c><00:02:19.519><c> compilation</c><00:02:20.120><c> result</c><00:02:20.599><c> here</c>

00:02:21.070 --> 00:02:21.080 align:start position:0%
compile and the compilation result here
 

00:02:21.080 --> 00:02:23.670 align:start position:0%
compile and the compilation result here
is<00:02:21.840><c> an</c><00:02:22.000><c> entry</c><00:02:22.319><c> for</c><00:02:22.519><c> each</c>

00:02:23.670 --> 00:02:23.680 align:start position:0%
is an entry for each
 

00:02:23.680 --> 00:02:25.869 align:start position:0%
is an entry for each
contract<00:02:24.680><c> um</c><00:02:24.879><c> you</c><00:02:25.000><c> get</c><00:02:25.239><c> information</c><00:02:25.640><c> about</c>

00:02:25.869 --> 00:02:25.879 align:start position:0%
contract um you get information about
 

00:02:25.879 --> 00:02:28.630 align:start position:0%
contract um you get information about
the<00:02:26.080><c> of</c><00:02:26.200><c> the</c><00:02:26.319><c> bite</c><00:02:26.599><c> code</c><00:02:27.000><c> you</c><00:02:27.120><c> can</c><00:02:27.519><c> copy</c>

00:02:28.630 --> 00:02:28.640 align:start position:0%
the of the bite code you can copy
 

00:02:28.640 --> 00:02:30.830 align:start position:0%
the of the bite code you can copy
that<00:02:29.640><c> the</c>

00:02:30.830 --> 00:02:30.840 align:start position:0%
that the
 

00:02:30.840 --> 00:02:32.790 align:start position:0%
that the
that's<00:02:31.040><c> the</c><00:02:31.200><c> the</c><00:02:31.319><c> Json</c><00:02:31.680><c> API</c>

00:02:32.790 --> 00:02:32.800 align:start position:0%
that's the the Json API
 

00:02:32.800 --> 00:02:35.229 align:start position:0%
that's the the Json API
interface<00:02:33.800><c> that</c><00:02:33.959><c> you</c><00:02:34.160><c> have</c><00:02:34.280><c> to</c><00:02:34.599><c> you</c><00:02:34.720><c> can</c><00:02:34.920><c> use</c>

00:02:35.229 --> 00:02:35.239 align:start position:0%
interface that you have to you can use
 

00:02:35.239 --> 00:02:37.670 align:start position:0%
interface that you have to you can use
that<00:02:35.440><c> if</c><00:02:35.519><c> you</c><00:02:35.640><c> want</c><00:02:35.800><c> to</c><00:02:36.800><c> interface</c><00:02:37.360><c> with</c><00:02:37.519><c> your</c>

00:02:37.670 --> 00:02:37.680 align:start position:0%
that if you want to interface with your
 

00:02:37.680 --> 00:02:39.630 align:start position:0%
that if you want to interface with your
contract<00:02:38.080><c> using</c>

00:02:39.630 --> 00:02:39.640 align:start position:0%
contract using
 

00:02:39.640 --> 00:02:42.470 align:start position:0%
contract using
web3js<00:02:40.640><c> um</c><00:02:41.519><c> and</c><00:02:41.640><c> then</c><00:02:41.840><c> here's</c><00:02:42.080><c> this</c>

00:02:42.470 --> 00:02:42.480 align:start position:0%
web3js um and then here's this
 

00:02:42.480 --> 00:02:44.190 align:start position:0%
web3js um and then here's this
JavaScript<00:02:42.920><c> snippet</c><00:02:43.400><c> you</c><00:02:43.480><c> can</c><00:02:43.640><c> use</c><00:02:43.959><c> you</c><00:02:44.040><c> can</c>

00:02:44.190 --> 00:02:44.200 align:start position:0%
JavaScript snippet you can use you can
 

00:02:44.200 --> 00:02:46.190 align:start position:0%
JavaScript snippet you can use you can
paste<00:02:44.480><c> into</c><00:02:44.680><c> the</c><00:02:44.879><c> go</c><00:02:45.080><c> ethereum</c><00:02:45.560><c> console</c><00:02:46.000><c> to</c>

00:02:46.190 --> 00:02:46.200 align:start position:0%
paste into the go ethereum console to
 

00:02:46.200 --> 00:02:47.550 align:start position:0%
paste into the go ethereum console to
deploy<00:02:46.560><c> the</c>

00:02:47.550 --> 00:02:47.560 align:start position:0%
deploy the
 

00:02:47.560 --> 00:02:52.030 align:start position:0%
deploy the
contract<00:02:48.760><c> and</c><00:02:49.760><c> that's</c><00:02:50.080><c> another</c><00:02:50.879><c> snippet</c><00:02:51.879><c> that</c>

00:02:52.030 --> 00:02:52.040 align:start position:0%
contract and that's another snippet that
 

00:02:52.040 --> 00:02:53.589 align:start position:0%
contract and that's another snippet that
is<00:02:52.200><c> useful</c><00:02:52.599><c> in</c><00:02:52.760><c> other</c>

00:02:53.589 --> 00:02:53.599 align:start position:0%
is useful in other
 

00:02:53.599 --> 00:02:56.350 align:start position:0%
is useful in other
contexts<00:02:54.599><c> um</c><00:02:54.800><c> you</c><00:02:54.920><c> can</c><00:02:55.120><c> even</c><00:02:55.440><c> get</c><00:02:55.800><c> a</c><00:02:55.879><c> lot</c><00:02:56.120><c> more</c>

00:02:56.350 --> 00:02:56.360 align:start position:0%
contexts um you can even get a lot more
 

00:02:56.360 --> 00:02:59.869 align:start position:0%
contexts um you can even get a lot more
details<00:02:56.959><c> by</c><00:02:57.120><c> clicking</c><00:02:57.519><c> this</c><00:02:57.680><c> button</c><00:02:58.239><c> here</c><00:02:59.239><c> um</c>

00:02:59.869 --> 00:02:59.879 align:start position:0%
details by clicking this button here um
 

00:02:59.879 --> 00:03:01.470 align:start position:0%
details by clicking this button here um
it<00:03:00.040><c> gives</c><00:03:00.200><c> you</c><00:03:00.319><c> a</c><00:03:00.440><c> list</c><00:03:00.599><c> of</c><00:03:00.720><c> functions</c><00:03:01.239><c> and</c>

00:03:01.470 --> 00:03:01.480 align:start position:0%
it gives you a list of functions and
 

00:03:01.480 --> 00:03:03.149 align:start position:0%
it gives you a list of functions and
their<00:03:01.640><c> signatures</c><00:03:02.159><c> or</c><00:03:02.400><c> their</c><00:03:02.599><c> their</c><00:03:02.879><c> their</c>

00:03:03.149 --> 00:03:03.159 align:start position:0%
their signatures or their their their
 

00:03:03.159 --> 00:03:05.670 align:start position:0%
their signatures or their their their
identifiers<00:03:04.120><c> the</c><00:03:04.280><c> hashes</c><00:03:04.560><c> of</c><00:03:04.680><c> the</c>

00:03:05.670 --> 00:03:05.680 align:start position:0%
identifiers the hashes of the
 

00:03:05.680 --> 00:03:08.390 align:start position:0%
identifiers the hashes of the
signatures<00:03:06.680><c> uh</c><00:03:07.000><c> what</c><00:03:07.120><c> is</c><00:03:07.280><c> very</c><00:03:07.480><c> important</c><00:03:07.920><c> is</c>

00:03:08.390 --> 00:03:08.400 align:start position:0%
signatures uh what is very important is
 

00:03:08.400 --> 00:03:12.710 align:start position:0%
signatures uh what is very important is
you<00:03:08.560><c> also</c><00:03:08.799><c> get</c><00:03:09.000><c> guas</c><00:03:09.319><c> estimations</c><00:03:10.400><c> here</c><00:03:11.720><c> so</c>

00:03:12.710 --> 00:03:12.720 align:start position:0%
you also get guas estimations here so
 

00:03:12.720 --> 00:03:14.190 align:start position:0%
you also get guas estimations here so
creation

00:03:14.190 --> 00:03:14.200 align:start position:0%
creation
 

00:03:14.200 --> 00:03:19.309 align:start position:0%
creation
costs<00:03:15.200><c> 57</c><00:03:16.239><c> gas</c><00:03:17.239><c> plus</c>

00:03:19.309 --> 00:03:19.319 align:start position:0%
costs 57 gas plus
 

00:03:19.319 --> 00:03:21.910 align:start position:0%
costs 57 gas plus
30,600<00:03:20.319><c> um</c><00:03:20.680><c> one</c><00:03:20.840><c> of</c><00:03:21.040><c> them</c><00:03:21.319><c> is</c><00:03:21.480><c> the</c><00:03:21.680><c> gas</c>

00:03:21.910 --> 00:03:21.920 align:start position:0%
30,600 um one of them is the gas
 

00:03:21.920 --> 00:03:23.589 align:start position:0%
30,600 um one of them is the gas
required<00:03:22.280><c> to</c><00:03:22.440><c> run</c><00:03:22.640><c> the</c><00:03:22.799><c> Constructor</c><00:03:23.280><c> function</c>

00:03:23.589 --> 00:03:23.599 align:start position:0%
required to run the Constructor function
 

00:03:23.599 --> 00:03:25.589 align:start position:0%
required to run the Constructor function
and<00:03:23.799><c> the</c><00:03:23.920><c> other</c><00:03:24.120><c> one</c><00:03:24.480><c> is</c><00:03:24.720><c> the</c><00:03:24.879><c> gas</c><00:03:25.120><c> required</c><00:03:25.480><c> to</c>

00:03:25.589 --> 00:03:25.599 align:start position:0%
and the other one is the gas required to
 

00:03:25.599 --> 00:03:28.110 align:start position:0%
and the other one is the gas required to
deploy<00:03:25.959><c> the</c>

00:03:28.110 --> 00:03:28.120 align:start position:0%
 
 

00:03:28.120 --> 00:03:30.949 align:start position:0%
 
code<00:03:29.120><c> um</c>

00:03:30.949 --> 00:03:30.959 align:start position:0%
code um
 

00:03:30.959 --> 00:03:32.630 align:start position:0%
code um
yes<00:03:31.159><c> and</c><00:03:31.280><c> then</c><00:03:31.640><c> gas</c><00:03:31.879><c> estimates</c><00:03:32.280><c> for</c><00:03:32.400><c> all</c><00:03:32.519><c> the</c>

00:03:32.630 --> 00:03:32.640 align:start position:0%
yes and then gas estimates for all the
 

00:03:32.640 --> 00:03:35.250 align:start position:0%
yes and then gas estimates for all the
functions<00:03:33.280><c> these</c><00:03:33.400><c> are</c><00:03:33.599><c> upper</c><00:03:34.200><c> bounds</c>

00:03:35.250 --> 00:03:35.260 align:start position:0%
functions these are upper bounds
 

00:03:35.260 --> 00:03:37.190 align:start position:0%
functions these are upper bounds
[Music]

00:03:37.190 --> 00:03:37.200 align:start position:0%
[Music]
 

00:03:37.200 --> 00:03:39.990 align:start position:0%
[Music]
um<00:03:38.200><c> which</c><00:03:38.360><c> means</c><00:03:38.599><c> that</c><00:03:38.760><c> they</c><00:03:38.840><c> are</c><00:03:39.000><c> not</c><00:03:39.159><c> always</c>

00:03:39.990 --> 00:03:40.000 align:start position:0%
um which means that they are not always
 

00:03:40.000 --> 00:03:42.990 align:start position:0%
um which means that they are not always
accurate<00:03:41.000><c> and</c><00:03:41.599><c> especially</c><00:03:42.080><c> if</c><00:03:42.239><c> you</c><00:03:42.680><c> put</c><00:03:42.840><c> a</c>

00:03:42.990 --> 00:03:43.000 align:start position:0%
accurate and especially if you put a
 

00:03:43.000 --> 00:03:44.630 align:start position:0%
accurate and especially if you put a
loop<00:03:43.319><c> inside</c><00:03:43.640><c> a</c><00:03:43.799><c> function</c><00:03:44.080><c> or</c><00:03:44.319><c> something</c>

00:03:44.630 --> 00:03:44.640 align:start position:0%
loop inside a function or something
 

00:03:44.640 --> 00:03:46.869 align:start position:0%
loop inside a function or something
which<00:03:44.760><c> is</c><00:03:44.879><c> a</c><00:03:45.000><c> bit</c><00:03:45.159><c> more</c><00:03:45.560><c> complex</c><00:03:46.560><c> then</c><00:03:46.760><c> you</c>

00:03:46.869 --> 00:03:46.879 align:start position:0%
which is a bit more complex then you
 

00:03:46.879 --> 00:03:49.509 align:start position:0%
which is a bit more complex then you
will<00:03:47.159><c> get</c><00:03:47.680><c> uh</c><00:03:47.840><c> infinity</c><00:03:48.319><c> as</c><00:03:48.439><c> an</c><00:03:48.560><c> upper</c>

00:03:49.509 --> 00:03:49.519 align:start position:0%
will get uh infinity as an upper
 

00:03:49.519 --> 00:03:51.750 align:start position:0%
will get uh infinity as an upper
bound<00:03:50.519><c> um</c><00:03:50.760><c> another</c><00:03:51.040><c> thing</c><00:03:51.159><c> I</c><00:03:51.280><c> have</c><00:03:51.400><c> to</c><00:03:51.519><c> say</c>

00:03:51.750 --> 00:03:51.760 align:start position:0%
bound um another thing I have to say
 

00:03:51.760 --> 00:03:55.069 align:start position:0%
bound um another thing I have to say
here<00:03:51.959><c> is</c><00:03:52.560><c> that</c><00:03:53.560><c> they</c><00:03:53.920><c> these</c><00:03:54.200><c> gas</c><00:03:54.439><c> estimates</c><00:03:54.920><c> do</c>

00:03:55.069 --> 00:03:55.079 align:start position:0%
here is that they these gas estimates do
 

00:03:55.079 --> 00:03:57.589 align:start position:0%
here is that they these gas estimates do
not<00:03:55.360><c> reflect</c><00:03:55.920><c> the</c><00:03:56.360><c> recent</c><00:03:56.799><c> hard</c><00:03:57.040><c> Fork</c><00:03:57.360><c> gas</c>

00:03:57.589 --> 00:03:57.599 align:start position:0%
not reflect the recent hard Fork gas
 

00:03:57.599 --> 00:04:01.229 align:start position:0%
not reflect the recent hard Fork gas
changes<00:03:58.040><c> so</c><00:03:58.200><c> we</c><00:03:58.360><c> still</c><00:03:58.599><c> have</c><00:03:58.720><c> to</c><00:03:59.400><c> update</c>

00:04:01.229 --> 00:04:01.239 align:start position:0%
changes so we still have to update
 

00:04:01.239 --> 00:04:03.789 align:start position:0%
changes so we still have to update
those

00:04:03.789 --> 00:04:03.799 align:start position:0%
those
 

00:04:03.799 --> 00:04:06.750 align:start position:0%
those
um<00:04:04.799><c> yeah</c><00:04:04.959><c> and</c><00:04:05.120><c> then</c><00:04:05.640><c> random</c><00:04:06.079><c> bite</c><00:04:06.319><c> code</c><00:04:06.519><c> is</c><00:04:06.640><c> the</c>

00:04:06.750 --> 00:04:06.760 align:start position:0%
um yeah and then random bite code is the
 

00:04:06.760 --> 00:04:08.789 align:start position:0%
um yeah and then random bite code is the
bite<00:04:06.920><c> code</c><00:04:07.120><c> that</c><00:04:07.200><c> will</c><00:04:07.319><c> be</c><00:04:07.400><c> deployed</c><00:04:07.799><c> in</c><00:04:07.879><c> the</c>

00:04:08.789 --> 00:04:08.799 align:start position:0%
bite code that will be deployed in the
 

00:04:08.799 --> 00:04:12.309 align:start position:0%
bite code that will be deployed in the
blockchain<00:04:09.799><c> then</c><00:04:10.640><c> the</c><00:04:10.840><c> same</c><00:04:11.760><c> the</c><00:04:11.879><c> full</c><00:04:12.120><c> code</c>

00:04:12.309 --> 00:04:12.319 align:start position:0%
blockchain then the same the full code
 

00:04:12.319 --> 00:04:15.470 align:start position:0%
blockchain then the same the full code
is<00:04:12.439><c> a</c><00:04:12.519><c> list</c><00:04:12.680><c> of</c><00:04:12.799><c> up</c><00:04:13.159><c> codes</c><00:04:14.159><c> and</c><00:04:14.400><c> the</c><00:04:14.519><c> full</c><00:04:14.840><c> code</c>

00:04:15.470 --> 00:04:15.480 align:start position:0%
is a list of up codes and the full code
 

00:04:15.480 --> 00:04:17.030 align:start position:0%
is a list of up codes and the full code
AS

00:04:17.030 --> 00:04:17.040 align:start position:0%
AS
 

00:04:17.040 --> 00:04:20.469 align:start position:0%
AS
assembly<00:04:18.040><c> which</c><00:04:18.160><c> is</c><00:04:18.479><c> sometimes</c><00:04:18.799><c> also</c><00:04:19.479><c> quite</c>

00:04:20.469 --> 00:04:20.479 align:start position:0%
assembly which is sometimes also quite
 

00:04:20.479 --> 00:04:23.350 align:start position:0%
assembly which is sometimes also quite
useful<00:04:21.479><c> especially</c><00:04:21.919><c> because</c><00:04:22.199><c> you</c><00:04:22.360><c> have</c><00:04:22.600><c> the</c>

00:04:23.350 --> 00:04:23.360 align:start position:0%
useful especially because you have the
 

00:04:23.360 --> 00:04:26.030 align:start position:0%
useful especially because you have the
so<00:04:23.639><c> on</c><00:04:23.800><c> the</c><00:04:23.960><c> right</c><00:04:24.240><c> hand</c><00:04:24.479><c> side</c><00:04:25.320><c> so</c><00:04:25.560><c> on</c><00:04:25.680><c> the</c><00:04:25.800><c> left</c>

00:04:26.030 --> 00:04:26.040 align:start position:0%
so on the right hand side so on the left
 

00:04:26.040 --> 00:04:27.790 align:start position:0%
so on the right hand side so on the left
hand<00:04:26.160><c> side</c><00:04:26.360><c> there's</c><00:04:26.600><c> always</c><00:04:26.960><c> the</c><00:04:27.280><c> the</c><00:04:27.680><c> the</c>

00:04:27.790 --> 00:04:27.800 align:start position:0%
hand side there's always the the the
 

00:04:27.800 --> 00:04:29.790 align:start position:0%
hand side there's always the the the
instructions<00:04:28.360><c> and</c><00:04:28.479><c> on</c><00:04:28.600><c> the</c><00:04:28.720><c> right</c><00:04:28.960><c> hand</c><00:04:29.199><c> side</c>

00:04:29.790 --> 00:04:29.800 align:start position:0%
instructions and on the right hand side
 

00:04:29.800 --> 00:04:31.830 align:start position:0%
instructions and on the right hand side
you<00:04:29.960><c> see</c><00:04:30.240><c> the</c><00:04:30.479><c> part</c><00:04:30.720><c> of</c><00:04:30.880><c> the</c><00:04:31.000><c> source</c><00:04:31.680><c> this</c>

00:04:31.830 --> 00:04:31.840 align:start position:0%
you see the part of the source this
 

00:04:31.840 --> 00:04:38.749 align:start position:0%
you see the part of the source this
instruction<00:04:32.280><c> was</c><00:04:32.479><c> generated</c>

00:04:38.749 --> 00:04:38.759 align:start position:0%
 
 

00:04:38.759 --> 00:04:43.110 align:start position:0%
 
from<00:04:39.919><c> okay</c><00:04:40.919><c> let's</c><00:04:41.080><c> un</c><00:04:41.280><c> tole</c><00:04:41.520><c> the</c><00:04:42.000><c> details</c><00:04:43.000><c> yeah</c>

00:04:43.110 --> 00:04:43.120 align:start position:0%
from okay let's un tole the details yeah
 

00:04:43.120 --> 00:04:46.670 align:start position:0%
from okay let's un tole the details yeah
and<00:04:43.320><c> then</c><00:04:43.880><c> also</c><00:04:44.520><c> very</c><00:04:45.039><c> important</c><00:04:46.039><c> below</c><00:04:46.520><c> the</c>

00:04:46.670 --> 00:04:46.680 align:start position:0%
and then also very important below the
 

00:04:46.680 --> 00:04:49.469 align:start position:0%
and then also very important below the
compilation<00:04:47.240><c> results</c><00:04:48.240><c> uh</c><00:04:48.720><c> you</c><00:04:48.919><c> have</c><00:04:49.120><c> a</c><00:04:49.280><c> list</c>

00:04:49.469 --> 00:04:49.479 align:start position:0%
compilation results uh you have a list
 

00:04:49.479 --> 00:04:52.590 align:start position:0%
compilation results uh you have a list
of<00:04:49.639><c> errors</c><00:04:49.960><c> and</c><00:04:50.320><c> warnings</c><00:04:51.320><c> if</c><00:04:51.479><c> I</c><00:04:51.720><c> put</c><00:04:52.080><c> garbage</c>

00:04:52.590 --> 00:04:52.600 align:start position:0%
of errors and warnings if I put garbage
 

00:04:52.600 --> 00:04:55.550 align:start position:0%
of errors and warnings if I put garbage
inside<00:04:53.080><c> here</c><00:04:53.440><c> then</c><00:04:54.400><c> I'll</c><00:04:54.680><c> get</c><00:04:54.800><c> a</c><00:04:54.880><c> compiler</c>

00:04:55.550 --> 00:04:55.560 align:start position:0%
inside here then I'll get a compiler
 

00:04:55.560 --> 00:04:57.990 align:start position:0%
inside here then I'll get a compiler
error<00:04:56.560><c> and</c><00:04:57.000><c> we</c><00:04:57.080><c> should</c><00:04:57.320><c> actually</c><00:04:57.600><c> respect</c>

00:04:57.990 --> 00:04:58.000 align:start position:0%
error and we should actually respect
 

00:04:58.000 --> 00:05:00.430 align:start position:0%
error and we should actually respect
that<00:04:58.479><c> warning</c><00:04:59.479><c> um</c>

00:05:00.430 --> 00:05:00.440 align:start position:0%
that warning um
 

00:05:00.440 --> 00:05:03.430 align:start position:0%
that warning um
it<00:05:00.600><c> says</c><00:05:01.280><c> we</c><00:05:01.400><c> do</c><00:05:01.560><c> not</c><00:05:01.800><c> specify</c><00:05:02.680><c> the</c><00:05:03.039><c> version</c><00:05:03.320><c> of</c>

00:05:03.430 --> 00:05:03.440 align:start position:0%
it says we do not specify the version of
 

00:05:03.440 --> 00:05:05.510 align:start position:0%
it says we do not specify the version of
the<00:05:03.600><c> compiler</c>

00:05:05.510 --> 00:05:05.520 align:start position:0%
the compiler
 

00:05:05.520 --> 00:05:10.510 align:start position:0%
the compiler
required<00:05:06.520><c> let's</c><00:05:06.800><c> add</c><00:05:07.000><c> that</c>

00:05:10.510 --> 00:05:10.520 align:start position:0%
 
 

00:05:10.520 --> 00:05:14.909 align:start position:0%
 
here<00:05:11.520><c> yeah</c><00:05:12.000><c> now</c><00:05:12.280><c> it's</c><00:05:12.880><c> so</c><00:05:13.440><c> there's</c><00:05:13.639><c> no</c><00:05:13.919><c> warning</c>

00:05:14.909 --> 00:05:14.919 align:start position:0%
here yeah now it's so there's no warning
 

00:05:14.919 --> 00:05:15.990 align:start position:0%
here yeah now it's so there's no warning
you<00:05:15.039><c> should</c>

00:05:15.990 --> 00:05:16.000 align:start position:0%
you should
 

00:05:16.000 --> 00:05:19.270 align:start position:0%
you should
always<00:05:17.000><c> try</c><00:05:17.479><c> to</c><00:05:17.800><c> create</c><00:05:18.319><c> source</c><00:05:18.720><c> code</c><00:05:19.000><c> without</c>

00:05:19.270 --> 00:05:19.280 align:start position:0%
always try to create source code without
 

00:05:19.280 --> 00:05:20.990 align:start position:0%
always try to create source code without
warning<00:05:19.680><c> because</c><00:05:20.000><c> most</c><00:05:20.199><c> of</c><00:05:20.319><c> the</c><00:05:20.440><c> warning</c><00:05:20.800><c> so</c>

00:05:20.990 --> 00:05:21.000 align:start position:0%
warning because most of the warning so
 

00:05:21.000 --> 00:05:24.950 align:start position:0%
warning because most of the warning so
we<00:05:21.319><c> we</c><00:05:21.440><c> try</c><00:05:21.680><c> to</c><00:05:21.840><c> be</c><00:05:22.080><c> really</c>

00:05:24.950 --> 00:05:24.960 align:start position:0%
we we try to be really
 

00:05:24.960 --> 00:05:28.430 align:start position:0%
we we try to be really
um<00:05:25.960><c> we</c><00:05:26.160><c> we</c><00:05:26.319><c> try</c><00:05:26.560><c> to</c><00:05:26.960><c> generate</c><00:05:27.639><c> as</c><00:05:27.800><c> few</c><00:05:28.039><c> warnings</c>

00:05:28.430 --> 00:05:28.440 align:start position:0%
um we we try to generate as few warnings
 

00:05:28.440 --> 00:05:30.469 align:start position:0%
um we we try to generate as few warnings
as<00:05:28.639><c> possible</c><00:05:29.000><c> and</c><00:05:29.120><c> if</c><00:05:29.240><c> there's</c><00:05:29.400><c> a</c><00:05:29.720><c> warning</c>

00:05:30.469 --> 00:05:30.479 align:start position:0%
as possible and if there's a warning
 

00:05:30.479 --> 00:05:33.629 align:start position:0%
as possible and if there's a warning
then<00:05:30.720><c> it's</c><00:05:30.919><c> usually</c><00:05:31.720><c> quite</c><00:05:31.960><c> severe</c><00:05:32.600><c> and</c><00:05:33.360><c> any</c>

00:05:33.629 --> 00:05:33.639 align:start position:0%
then it's usually quite severe and any
 

00:05:33.639 --> 00:05:35.150 align:start position:0%
then it's usually quite severe and any
warning<00:05:34.120><c> that</c><00:05:34.240><c> is</c><00:05:34.360><c> generated</c><00:05:34.759><c> by</c><00:05:34.880><c> the</c>

00:05:35.150 --> 00:05:35.160 align:start position:0%
warning that is generated by the
 

00:05:35.160 --> 00:05:39.350 align:start position:0%
warning that is generated by the
compiler<00:05:36.160><c> can</c><00:05:36.360><c> be</c><00:05:36.639><c> silenced</c><00:05:37.400><c> by</c><00:05:37.720><c> some</c><00:05:38.080><c> way</c>

00:05:39.350 --> 00:05:39.360 align:start position:0%
compiler can be silenced by some way
 

00:05:39.360 --> 00:05:44.370 align:start position:0%
compiler can be silenced by some way
so<00:05:40.360><c> as</c><00:05:40.479><c> an</c><00:05:40.759><c> example</c><00:05:41.560><c> if</c><00:05:41.680><c> you</c><00:05:41.800><c> use</c><00:05:42.039><c> the</c><00:05:42.240><c> send</c><00:05:43.160><c> uh</c>

00:05:44.370 --> 00:05:44.380 align:start position:0%
so as an example if you use the send uh
 

00:05:44.380 --> 00:05:50.309 align:start position:0%
so as an example if you use the send uh
[Music]

00:05:50.309 --> 00:05:50.319 align:start position:0%
 
 

00:05:50.319 --> 00:05:52.590 align:start position:0%
 
function<00:05:51.319><c> okay</c><00:05:51.520><c> that's</c><00:05:51.639><c> a</c><00:05:51.759><c> stupid</c><00:05:52.080><c> example</c>

00:05:52.590 --> 00:05:52.600 align:start position:0%
function okay that's a stupid example
 

00:05:52.600 --> 00:05:56.710 align:start position:0%
function okay that's a stupid example
but<00:05:53.120><c> uh</c><00:05:53.479><c> it</c><00:05:53.680><c> just</c><00:05:53.919><c> sends</c><00:05:54.759><c> one</c><00:05:55.600><c> way</c><00:05:56.080><c> to</c><00:05:56.360><c> the</c>

00:05:56.710 --> 00:05:56.720 align:start position:0%
but uh it just sends one way to the
 

00:05:56.720 --> 00:05:59.790 align:start position:0%
but uh it just sends one way to the
address<00:05:57.600><c> zero</c>

00:05:59.790 --> 00:05:59.800 align:start position:0%
address zero
 

00:05:59.800 --> 00:06:01.909 align:start position:0%
address zero
and<00:06:00.199><c> there</c><00:06:00.319><c> will</c><00:06:00.440><c> be</c><00:06:00.560><c> a</c><00:06:00.680><c> warning</c><00:06:01.199><c> that</c><00:06:01.639><c> that</c><00:06:01.720><c> we</c>

00:06:01.909 --> 00:06:01.919 align:start position:0%
and there will be a warning that that we
 

00:06:01.919 --> 00:06:04.430 align:start position:0%
and there will be a warning that that we
ignore<00:06:02.360><c> the</c><00:06:02.639><c> return</c><00:06:02.960><c> value</c><00:06:03.280><c> of</c><00:06:03.479><c> this</c>

00:06:04.430 --> 00:06:04.440 align:start position:0%
ignore the return value of this
 

00:06:04.440 --> 00:06:06.309 align:start position:0%
ignore the return value of this
function

00:06:06.309 --> 00:06:06.319 align:start position:0%
function
 

00:06:06.319 --> 00:06:09.350 align:start position:0%
function
and<00:06:07.319><c> if</c><00:06:07.479><c> you</c><00:06:07.759><c> if</c><00:06:07.880><c> you</c><00:06:08.039><c> really</c><00:06:08.240><c> know</c><00:06:08.919><c> yes</c><00:06:09.160><c> I</c>

00:06:09.350 --> 00:06:09.360 align:start position:0%
and if you if you really know yes I
 

00:06:09.360 --> 00:06:11.270 align:start position:0%
and if you if you really know yes I
really<00:06:09.599><c> want</c><00:06:09.800><c> to</c><00:06:10.000><c> ignore</c><00:06:10.360><c> the</c><00:06:10.720><c> return</c><00:06:10.960><c> value</c>

00:06:11.270 --> 00:06:11.280 align:start position:0%
really want to ignore the return value
 

00:06:11.280 --> 00:06:13.710 align:start position:0%
really want to ignore the return value
then<00:06:11.360><c> you</c><00:06:11.440><c> can</c><00:06:11.560><c> do</c><00:06:11.759><c> something</c>

00:06:13.710 --> 00:06:13.720 align:start position:0%
then you can do something
 

00:06:13.720 --> 00:06:16.790 align:start position:0%
then you can do something
like<00:06:14.720><c> like</c>

00:06:16.790 --> 00:06:16.800 align:start position:0%
like like
 

00:06:16.800 --> 00:06:20.790 align:start position:0%
like like
this<00:06:17.800><c> and</c><00:06:17.919><c> then</c><00:06:18.080><c> the</c><00:06:18.199><c> warning</c>

00:06:20.790 --> 00:06:20.800 align:start position:0%
 
 

00:06:20.800 --> 00:06:24.670 align:start position:0%
 
silenced<00:06:21.800><c> okay</c><00:06:22.360><c> um</c><00:06:23.280><c> that</c><00:06:23.440><c> was</c><00:06:23.880><c> the</c><00:06:24.160><c> compiler</c>

00:06:24.670 --> 00:06:24.680 align:start position:0%
silenced okay um that was the compiler
 

00:06:24.680 --> 00:06:26.909 align:start position:0%
silenced okay um that was the compiler
part<00:06:24.880><c> of</c><00:06:25.000><c> the</c>

00:06:26.909 --> 00:06:26.919 align:start position:0%
part of the
 

00:06:26.919 --> 00:06:29.990 align:start position:0%
part of the
IDE<00:06:27.919><c> um</c><00:06:28.120><c> but</c><00:06:28.280><c> that's</c><00:06:28.479><c> only</c><00:06:28.720><c> one</c><00:06:29.080><c> tiny</c><00:06:29.599><c> ECT</c><00:06:29.840><c> of</c>

00:06:29.990 --> 00:06:30.000 align:start position:0%
IDE um but that's only one tiny ECT of
 

00:06:30.000 --> 00:06:34.230 align:start position:0%
IDE um but that's only one tiny ECT of
it<00:06:30.720><c> and</c><00:06:31.080><c> much</c><00:06:31.240><c> more</c><00:06:31.479><c> interesting</c><00:06:32.039><c> is</c><00:06:32.479><c> the</c><00:06:33.280><c> um</c>

00:06:34.230 --> 00:06:34.240 align:start position:0%
it and much more interesting is the um
 

00:06:34.240 --> 00:06:36.950 align:start position:0%
it and much more interesting is the um
kind<00:06:34.400><c> of</c><00:06:34.759><c> the</c><00:06:35.759><c> the</c><00:06:35.919><c> blockchain</c><00:06:36.440><c> simulator</c>

00:06:36.950 --> 00:06:36.960 align:start position:0%
kind of the the blockchain simulator
 

00:06:36.960 --> 00:06:38.150 align:start position:0%
kind of the the blockchain simulator
that<00:06:37.080><c> is</c><00:06:37.199><c> part</c><00:06:37.400><c> of</c><00:06:37.479><c> the</c>

00:06:38.150 --> 00:06:38.160 align:start position:0%
that is part of the
 

00:06:38.160 --> 00:06:41.830 align:start position:0%
that is part of the
IDE<00:06:39.160><c> and</c><00:06:39.919><c> you</c><00:06:40.080><c> can</c><00:06:40.360><c> click</c><00:06:40.680><c> this</c>

00:06:41.830 --> 00:06:41.840 align:start position:0%
IDE and you can click this
 

00:06:41.840 --> 00:06:45.670 align:start position:0%
IDE and you can click this
red<00:06:42.840><c> create</c><00:06:43.400><c> button</c><00:06:43.880><c> to</c><00:06:44.360><c> create</c><00:06:44.880><c> the</c><00:06:45.039><c> contract</c>

00:06:45.670 --> 00:06:45.680 align:start position:0%
red create button to create the contract
 

00:06:45.680 --> 00:06:55.550 align:start position:0%
red create button to create the contract
which<00:06:45.919><c> does</c><00:06:46.120><c> not</c><00:06:46.360><c> work</c><00:06:46.960><c> now</c><00:06:47.960><c> let's</c>

00:06:55.550 --> 00:06:55.560 align:start position:0%
 
 

00:06:55.560 --> 00:07:18.830 align:start position:0%
 
see<00:06:56.560><c> okay</c><00:06:56.960><c> let's</c><00:06:57.199><c> try</c><00:06:57.400><c> an</c><00:06:57.599><c> older</c><00:06:58.120><c> compiler</c>

00:07:18.830 --> 00:07:18.840 align:start position:0%
 
 

00:07:18.840 --> 00:07:21.510 align:start position:0%
 
okay<00:07:19.319><c> um</c><00:07:20.240><c> as</c><00:07:20.400><c> I</c>

00:07:21.510 --> 00:07:21.520 align:start position:0%
okay um as I
 

00:07:21.520 --> 00:07:25.589 align:start position:0%
okay um as I
said<00:07:22.520><c> yeah</c><00:07:22.800><c> that</c><00:07:22.919><c> looks</c>

00:07:25.589 --> 00:07:25.599 align:start position:0%
 
 

00:07:25.599 --> 00:07:30.350 align:start position:0%
 
better<00:07:26.599><c> okay</c><00:07:27.120><c> um</c><00:07:27.759><c> and</c><00:07:28.759><c> so</c><00:07:29.199><c> this</c><00:07:29.560><c> this</c><00:07:29.840><c> creates</c>

00:07:30.350 --> 00:07:30.360 align:start position:0%
better okay um and so this this creates
 

00:07:30.360 --> 00:07:32.790 align:start position:0%
better okay um and so this this creates
the<00:07:30.520><c> contract</c><00:07:30.879><c> at</c><00:07:31.039><c> this</c><00:07:31.240><c> address</c><00:07:32.160><c> in</c><00:07:32.360><c> memory</c>

00:07:32.790 --> 00:07:32.800 align:start position:0%
the contract at this address in memory
 

00:07:32.800 --> 00:07:34.230 align:start position:0%
the contract at this address in memory
which<00:07:32.919><c> means</c><00:07:33.160><c> it's</c><00:07:33.400><c> just</c><00:07:33.520><c> a</c><00:07:33.680><c> simulated</c>

00:07:34.230 --> 00:07:34.240 align:start position:0%
which means it's just a simulated
 

00:07:34.240 --> 00:07:36.309 align:start position:0%
which means it's just a simulated
blockchain<00:07:35.240><c> and</c><00:07:35.360><c> you</c><00:07:35.479><c> have</c><00:07:35.680><c> buttons</c><00:07:36.000><c> for</c><00:07:36.199><c> all</c>

00:07:36.309 --> 00:07:36.319 align:start position:0%
blockchain and you have buttons for all
 

00:07:36.319 --> 00:07:39.150 align:start position:0%
blockchain and you have buttons for all
the<00:07:36.479><c> functions</c><00:07:37.280><c> in</c><00:07:38.280><c> in</c><00:07:38.440><c> the</c>

00:07:39.150 --> 00:07:39.160 align:start position:0%
the functions in in the
 

00:07:39.160 --> 00:07:42.830 align:start position:0%
the functions in in the
contract<00:07:40.199><c> um</c><00:07:41.199><c> functions</c><00:07:41.720><c> that</c><00:07:41.840><c> are</c><00:07:42.319><c> constant</c>

00:07:42.830 --> 00:07:42.840 align:start position:0%
contract um functions that are constant
 

00:07:42.840 --> 00:07:44.469 align:start position:0%
contract um functions that are constant
which<00:07:42.960><c> means</c><00:07:43.199><c> that</c><00:07:43.400><c> they</c><00:07:43.680><c> that</c><00:07:43.840><c> do</c><00:07:44.000><c> not</c><00:07:44.240><c> have</c>

00:07:44.469 --> 00:07:44.479 align:start position:0%
which means that they that do not have
 

00:07:44.479 --> 00:07:46.869 align:start position:0%
which means that they that do not have
side<00:07:44.720><c> effects</c><00:07:45.080><c> are</c><00:07:45.360><c> evaluated</c><00:07:46.080><c> immediately</c>

00:07:46.869 --> 00:07:46.879 align:start position:0%
side effects are evaluated immediately
 

00:07:46.879 --> 00:07:48.830 align:start position:0%
side effects are evaluated immediately
and<00:07:47.080><c> you</c><00:07:47.319><c> get</c><00:07:47.599><c> the</c><00:07:47.960><c> the</c><00:07:48.080><c> result</c><00:07:48.479><c> here</c><00:07:48.639><c> so</c>

00:07:48.830 --> 00:07:48.840 align:start position:0%
and you get the the result here so
 

00:07:48.840 --> 00:07:51.309 align:start position:0%
and you get the the result here so
that's<00:07:49.039><c> the</c><00:07:49.199><c> value</c><00:07:49.560><c> of</c><00:07:49.759><c> the</c><00:07:50.440><c> of</c><00:07:50.560><c> the</c><00:07:50.680><c> X</c>

00:07:51.309 --> 00:07:51.319 align:start position:0%
that's the value of the of the X
 

00:07:51.319 --> 00:07:54.510 align:start position:0%
that's the value of the of the X
variable<00:07:52.319><c> uh</c><00:07:52.440><c> you</c><00:07:52.639><c> get</c><00:07:53.039><c> statistics</c><00:07:54.039><c> about</c><00:07:54.319><c> the</c>

00:07:54.510 --> 00:07:54.520 align:start position:0%
variable uh you get statistics about the
 

00:07:54.520 --> 00:07:57.550 align:start position:0%
variable uh you get statistics about the
actual<00:07:54.840><c> transaction</c><00:07:55.440><c> cost</c><00:07:55.879><c> of</c><00:07:56.319><c> this</c><00:07:57.120><c> specific</c>

00:07:57.550 --> 00:07:57.560 align:start position:0%
actual transaction cost of this specific
 

00:07:57.560 --> 00:08:00.869 align:start position:0%
actual transaction cost of this specific
invocation<00:07:58.159><c> and</c><00:07:58.319><c> not</c><00:07:58.560><c> the</c><00:07:58.759><c> the</c><00:07:58.879><c> upper</c><00:07:59.120><c> bound</c>

00:08:00.869 --> 00:08:00.879 align:start position:0%
invocation and not the the upper bound
 

00:08:00.879 --> 00:08:05.110 align:start position:0%
invocation and not the the upper bound
and<00:08:01.039><c> I</c><00:08:01.199><c> decode</c><00:08:01.520><c> the</c><00:08:01.759><c> result</c><00:08:02.759><c> and</c><00:08:03.159><c> then</c><00:08:03.560><c> you</c><00:08:04.120><c> can</c>

00:08:05.110 --> 00:08:05.120 align:start position:0%
and I decode the result and then you can
 

00:08:05.120 --> 00:08:10.309 align:start position:0%
and I decode the result and then you can
yeah<00:08:06.199><c> invoke</c><00:08:07.240><c> functions</c><00:08:08.599><c> that</c><00:08:09.599><c> make</c><00:08:09.919><c> changes</c>

00:08:10.309 --> 00:08:10.319 align:start position:0%
yeah invoke functions that make changes
 

00:08:10.319 --> 00:08:15.629 align:start position:0%
yeah invoke functions that make changes
to<00:08:10.479><c> the</c>

00:08:15.629 --> 00:08:15.639 align:start position:0%
 
 

00:08:15.639 --> 00:08:20.510 align:start position:0%
 
state<00:08:16.639><c> okay</c><00:08:17.240><c> um</c><00:08:17.520><c> so</c><00:08:17.680><c> I</c><00:08:17.800><c> called</c><00:08:18.080><c> f</c><00:08:18.400><c> with</c><00:08:19.080><c> uh</c><00:08:19.520><c> 34</c>

00:08:20.510 --> 00:08:20.520 align:start position:0%
state okay um so I called f with uh 34
 

00:08:20.520 --> 00:08:23.629 align:start position:0%
state okay um so I called f with uh 34
the<00:08:20.680><c> result</c><00:08:21.199><c> is</c><00:08:21.720><c> the</c><00:08:21.879><c> empty</c><00:08:22.319><c> string</c><00:08:22.919><c> which</c><00:08:23.159><c> is</c>

00:08:23.629 --> 00:08:23.639 align:start position:0%
the result is the empty string which is
 

00:08:23.639 --> 00:08:26.550 align:start position:0%
the result is the empty string which is
fine<00:08:24.039><c> because</c><00:08:24.240><c> it</c><00:08:24.360><c> doesn't</c><00:08:24.759><c> return</c><00:08:25.199><c> anything</c>

00:08:26.550 --> 00:08:26.560 align:start position:0%
fine because it doesn't return anything
 

00:08:26.560 --> 00:08:30.309 align:start position:0%
fine because it doesn't return anything
and<00:08:27.560><c> yeah</c><00:08:28.000><c> we</c><00:08:28.159><c> have</c><00:08:28.280><c> the</c><00:08:28.400><c> gas</c><00:08:28.639><c> cods</c><00:08:28.919><c> here</c><00:08:29.120><c> again</c>

00:08:30.309 --> 00:08:30.319 align:start position:0%
and yeah we have the gas cods here again
 

00:08:30.319 --> 00:08:33.110 align:start position:0%
and yeah we have the gas cods here again
and<00:08:31.199><c> now</c><00:08:31.440><c> we</c><00:08:31.560><c> can</c><00:08:31.759><c> click</c><00:08:32.000><c> the</c><00:08:32.120><c> x</c><00:08:32.399><c> button</c><00:08:32.760><c> again</c>

00:08:33.110 --> 00:08:33.120 align:start position:0%
and now we can click the x button again
 

00:08:33.120 --> 00:08:37.550 align:start position:0%
and now we can click the x button again
to<00:08:33.959><c> check</c><00:08:34.200><c> the</c><00:08:34.360><c> updated</c><00:08:34.959><c> value</c><00:08:35.959><c> and</c><00:08:36.560><c> correctly</c>

00:08:37.550 --> 00:08:37.560 align:start position:0%
to check the updated value and correctly
 

00:08:37.560 --> 00:08:39.790 align:start position:0%
to check the updated value and correctly
results<00:08:37.959><c> in</c>

00:08:39.790 --> 00:08:39.800 align:start position:0%
results in
 

00:08:39.800 --> 00:08:45.110 align:start position:0%
results in
34<00:08:40.800><c> okay</c><00:08:41.440><c> um</c><00:08:42.200><c> one</c><00:08:42.519><c> thing</c><00:08:42.800><c> to</c><00:08:43.159><c> consider</c><00:08:43.839><c> or</c><00:08:44.120><c> to</c>

00:08:45.110 --> 00:08:45.120 align:start position:0%
34 okay um one thing to consider or to
 

00:08:45.120 --> 00:08:48.110 align:start position:0%
34 okay um one thing to consider or to
yeah<00:08:45.800><c> remember</c><00:08:46.279><c> is</c><00:08:46.480><c> that</c><00:08:47.160><c> the</c><00:08:47.640><c> the</c><00:08:47.800><c> input</c>

00:08:48.110 --> 00:08:48.120 align:start position:0%
yeah remember is that the the input
 

00:08:48.120 --> 00:08:50.990 align:start position:0%
yeah remember is that the the input
boxes<00:08:48.600><c> here</c><00:08:49.080><c> always</c>

00:08:50.990 --> 00:08:51.000 align:start position:0%
boxes here always
 

00:08:51.000 --> 00:08:57.110 align:start position:0%
boxes here always
require<00:08:52.000><c> proper</c><00:08:53.240><c> Jon</c><00:08:54.240><c> which</c><00:08:54.440><c> means</c><00:08:55.880><c> um</c><00:08:56.880><c> if</c><00:08:57.000><c> you</c>

00:08:57.110 --> 00:08:57.120 align:start position:0%
require proper Jon which means um if you
 

00:08:57.120 --> 00:08:59.269 align:start position:0%
require proper Jon which means um if you
have<00:08:57.200><c> a</c><00:08:57.360><c> large</c><00:08:57.640><c> number</c><00:08:58.040><c> here</c><00:08:58.640><c> then</c><00:08:58.920><c> this</c><00:08:59.079><c> won't</c>

00:08:59.269 --> 00:08:59.279 align:start position:0%
have a large number here then this won't
 

00:08:59.279 --> 00:09:02.350 align:start position:0%
have a large number here then this won't
work

00:09:02.350 --> 00:09:02.360 align:start position:0%
 
 

00:09:02.360 --> 00:09:05.030 align:start position:0%
 
work<00:09:03.360><c> but</c><00:09:03.600><c> what</c><00:09:03.720><c> you</c><00:09:03.800><c> can</c><00:09:03.959><c> do</c><00:09:04.160><c> is</c><00:09:04.320><c> you</c>

00:09:05.030 --> 00:09:05.040 align:start position:0%
work but what you can do is you
 

00:09:05.040 --> 00:09:08.150 align:start position:0%
work but what you can do is you
can<00:09:06.040><c> uh</c><00:09:06.320><c> put</c><00:09:06.600><c> them</c><00:09:07.240><c> you</c><00:09:07.399><c> can</c><00:09:07.600><c> basically</c><00:09:07.920><c> Hax</c>

00:09:08.150 --> 00:09:08.160 align:start position:0%
can uh put them you can basically Hax
 

00:09:08.160 --> 00:09:14.550 align:start position:0%
can uh put them you can basically Hax
encode<00:09:08.600><c> them</c><00:09:08.800><c> for</c><00:09:09.320><c> example</c><00:09:10.320><c> and</c><00:09:10.519><c> then</c><00:09:10.640><c> it</c><00:09:10.760><c> will</c>

00:09:14.550 --> 00:09:14.560 align:start position:0%
 
 

00:09:14.560 --> 00:09:16.829 align:start position:0%
 
work<00:09:15.560><c> and</c><00:09:15.680><c> you</c><00:09:15.839><c> have</c><00:09:15.959><c> to</c><00:09:16.160><c> put</c><00:09:16.360><c> put</c><00:09:16.519><c> quotes</c>

00:09:16.829 --> 00:09:16.839 align:start position:0%
work and you have to put put quotes
 

00:09:16.839 --> 00:09:19.670 align:start position:0%
work and you have to put put quotes
around<00:09:17.040><c> it</c><00:09:17.200><c> so</c><00:09:17.360><c> this</c><00:09:17.440><c> is</c><00:09:18.120><c> basically</c><00:09:19.120><c> uh</c><00:09:19.480><c> the</c>

00:09:19.670 --> 00:09:19.680 align:start position:0%
around it so this is basically uh the
 

00:09:19.680 --> 00:09:21.910 align:start position:0%
around it so this is basically uh the
stuff<00:09:20.000><c> you</c><00:09:20.360><c> enter</c><00:09:20.839><c> here</c><00:09:21.240><c> is</c><00:09:21.519><c> directly</c>

00:09:21.910 --> 00:09:21.920 align:start position:0%
stuff you enter here is directly
 

00:09:21.920 --> 00:09:27.269 align:start position:0%
stuff you enter here is directly
forwarded<00:09:22.560><c> into</c><00:09:22.880><c> the</c><00:09:23.079><c> web</c><00:09:23.279><c> fre</c><00:09:23.519><c> JS</c><00:09:24.360><c> uh</c>

00:09:27.269 --> 00:09:27.279 align:start position:0%
 
 

00:09:27.279 --> 00:09:32.350 align:start position:0%
 
encoder<00:09:28.279><c> okay</c><00:09:28.480><c> what</c><00:09:28.600><c> else</c><00:09:28.760><c> do</c><00:09:28.880><c> we</c><00:09:29.040><c> have</c>

00:09:32.350 --> 00:09:32.360 align:start position:0%
 
 

00:09:32.360 --> 00:09:35.470 align:start position:0%
 
um<00:09:33.360><c> there</c><00:09:33.480><c> are</c><00:09:33.640><c> some</c><00:09:33.880><c> tabs</c><00:09:34.399><c> here</c><00:09:35.120><c> which</c><00:09:35.240><c> I</c><00:09:35.360><c> want</c>

00:09:35.470 --> 00:09:35.480 align:start position:0%
um there are some tabs here which I want
 

00:09:35.480 --> 00:09:38.150 align:start position:0%
um there are some tabs here which I want
to<00:09:35.600><c> explain</c><00:09:36.279><c> quickly</c><00:09:37.279><c> uh</c><00:09:37.720><c> here</c><00:09:37.880><c> you</c><00:09:38.000><c> can</c>

00:09:38.150 --> 00:09:38.160 align:start position:0%
to explain quickly uh here you can
 

00:09:38.160 --> 00:09:39.750 align:start position:0%
to explain quickly uh here you can
change<00:09:38.440><c> the</c><00:09:38.640><c> transaction</c><00:09:39.040><c> origin</c><00:09:39.480><c> if</c><00:09:39.600><c> you</c>

00:09:39.750 --> 00:09:39.760 align:start position:0%
change the transaction origin if you
 

00:09:39.760 --> 00:09:42.110 align:start position:0%
change the transaction origin if you
want<00:09:39.920><c> to</c><00:09:40.040><c> test</c><00:09:40.320><c> a</c><00:09:40.480><c> contract</c><00:09:41.160><c> that</c><00:09:41.720><c> has</c><00:09:41.839><c> to</c><00:09:41.959><c> be</c>

00:09:42.110 --> 00:09:42.120 align:start position:0%
want to test a contract that has to be
 

00:09:42.120 --> 00:09:43.990 align:start position:0%
want to test a contract that has to be
invoked<00:09:42.600><c> from</c><00:09:42.839><c> different</c><00:09:43.200><c> addresses</c><00:09:43.800><c> then</c>

00:09:43.990 --> 00:09:44.000 align:start position:0%
invoked from different addresses then
 

00:09:44.000 --> 00:09:47.150 align:start position:0%
invoked from different addresses then
you<00:09:44.680><c> you</c><00:09:44.959><c> get</c><00:09:45.640><c> uh</c><00:09:45.959><c> five</c><00:09:46.279><c> preset</c><00:09:46.640><c> addresses</c>

00:09:47.150 --> 00:09:47.160 align:start position:0%
you you get uh five preset addresses
 

00:09:47.160 --> 00:09:49.670 align:start position:0%
you you get uh five preset addresses
here<00:09:48.079><c> you</c><00:09:48.240><c> can</c><00:09:48.480><c> modify</c><00:09:48.880><c> the</c><00:09:49.040><c> gas</c><00:09:49.279><c> limit</c><00:09:49.600><c> and</c>

00:09:49.670 --> 00:09:49.680 align:start position:0%
here you can modify the gas limit and
 

00:09:49.680 --> 00:09:51.030 align:start position:0%
here you can modify the gas limit and
you<00:09:49.800><c> can</c><00:09:49.920><c> send</c><00:09:50.240><c> ether</c><00:09:50.680><c> together</c><00:09:50.839><c> with</c><00:09:50.959><c> a</c>

00:09:51.030 --> 00:09:51.040 align:start position:0%
you can send ether together with a
 

00:09:51.040 --> 00:09:53.670 align:start position:0%
you can send ether together with a
function<00:09:51.360><c> call</c><00:09:51.600><c> so</c><00:09:51.720><c> if</c><00:09:51.800><c> you</c><00:09:51.880><c> set</c><00:09:52.079><c> it</c><00:09:52.360><c> here</c><00:09:52.680><c> then</c>

00:09:53.670 --> 00:09:53.680 align:start position:0%
function call so if you set it here then
 

00:09:53.680 --> 00:09:55.710 align:start position:0%
function call so if you set it here then
uh<00:09:53.880><c> it</c><00:09:53.959><c> will</c><00:09:54.120><c> be</c><00:09:54.320><c> valid</c><00:09:55.000><c> uh</c><00:09:55.120><c> until</c><00:09:55.360><c> you</c><00:09:55.480><c> change</c>

00:09:55.710 --> 00:09:55.720 align:start position:0%
uh it will be valid uh until you change
 

00:09:55.720 --> 00:09:56.550 align:start position:0%
uh it will be valid uh until you change
it

00:09:56.550 --> 00:09:56.560 align:start position:0%
it
 

00:09:56.560 --> 00:10:00.350 align:start position:0%
it
again<00:09:57.680><c> and</c><00:09:58.680><c> you</c><00:09:58.839><c> can</c><00:09:59.040><c> also</c><00:09:59.399><c> Al</c><00:09:59.560><c> use</c><00:09:59.880><c> browser</c>

00:10:00.350 --> 00:10:00.360 align:start position:0%
again and you can also Al use browser
 

00:10:00.360 --> 00:10:03.509 align:start position:0%
again and you can also Al use browser
solidity<00:10:01.200><c> to</c><00:10:02.200><c> interface</c><00:10:02.959><c> with</c><00:10:03.200><c> other</c>

00:10:03.509 --> 00:10:03.519 align:start position:0%
solidity to interface with other
 

00:10:03.519 --> 00:10:06.190 align:start position:0%
solidity to interface with other
blockchains<00:10:04.160><c> than</c><00:10:04.399><c> the</c><00:10:05.000><c> simulated</c><00:10:06.000><c> and</c>

00:10:06.190 --> 00:10:06.200 align:start position:0%
blockchains than the simulated and
 

00:10:06.200 --> 00:10:08.590 align:start position:0%
blockchains than the simulated and
that's<00:10:06.360><c> done</c><00:10:06.560><c> using</c><00:10:06.800><c> the</c><00:10:06.920><c> third</c><00:10:07.200><c> tab</c>

00:10:08.590 --> 00:10:08.600 align:start position:0%
that's done using the third tab
 

00:10:08.600 --> 00:10:11.790 align:start position:0%
that's done using the third tab
here<00:10:09.600><c> um</c><00:10:10.320><c> if</c><00:10:10.440><c> you</c><00:10:10.680><c> load</c><00:10:10.959><c> browser</c><00:10:11.279><c> solidity</c>

00:10:11.790 --> 00:10:11.800 align:start position:0%
here um if you load browser solidity
 

00:10:11.800 --> 00:10:13.750 align:start position:0%
here um if you load browser solidity
from<00:10:12.040><c> within</c><00:10:12.320><c> Mist</c><00:10:12.680><c> for</c><00:10:12.880><c> example</c><00:10:13.399><c> then</c><00:10:13.640><c> you</c>

00:10:13.750 --> 00:10:13.760 align:start position:0%
from within Mist for example then you
 

00:10:13.760 --> 00:10:16.870 align:start position:0%
from within Mist for example then you
can<00:10:13.959><c> click</c><00:10:14.160><c> on</c><00:10:14.279><c> injected</c><00:10:14.720><c> web</c><00:10:15.000><c> 3</c><00:10:16.000><c> and</c><00:10:16.519><c> you</c><00:10:16.720><c> get</c>

00:10:16.870 --> 00:10:16.880 align:start position:0%
can click on injected web 3 and you get
 

00:10:16.880 --> 00:10:19.550 align:start position:0%
can click on injected web 3 and you get
the<00:10:17.040><c> web</c><00:10:17.200><c> 3js</c><00:10:17.959><c> that</c><00:10:18.079><c> is</c><00:10:18.279><c> available</c><00:10:19.120><c> inside</c>

00:10:19.550 --> 00:10:19.560 align:start position:0%
the web 3js that is available inside
 

00:10:19.560 --> 00:10:21.190 align:start position:0%
the web 3js that is available inside
Mist<00:10:19.839><c> so</c><00:10:19.959><c> you</c><00:10:20.120><c> directly</c><00:10:20.480><c> interface</c><00:10:20.959><c> with</c><00:10:21.079><c> the</c>

00:10:21.190 --> 00:10:21.200 align:start position:0%
Mist so you directly interface with the
 

00:10:21.200 --> 00:10:25.030 align:start position:0%
Mist so you directly interface with the
attached<00:10:21.640><c> node</c><00:10:22.640><c> or</c><00:10:22.880><c> you</c><00:10:23.000><c> can</c><00:10:23.160><c> use</c><00:10:23.920><c> uh</c><00:10:24.640><c> yeah</c>

00:10:25.030 --> 00:10:25.040 align:start position:0%
attached node or you can use uh yeah
 

00:10:25.040 --> 00:10:26.350 align:start position:0%
attached node or you can use uh yeah
web3

00:10:26.350 --> 00:10:26.360 align:start position:0%
web3
 

00:10:26.360 --> 00:10:29.790 align:start position:0%
web3
provider<00:10:27.360><c> which</c><00:10:27.560><c> means</c><00:10:28.120><c> that</c><00:10:28.839><c> uh</c><00:10:29.320><c> it</c><00:10:29.440><c> tries</c><00:10:29.680><c> to</c>

00:10:29.790 --> 00:10:29.800 align:start position:0%
provider which means that uh it tries to
 

00:10:29.800 --> 00:10:31.829 align:start position:0%
provider which means that uh it tries to
connect<00:10:30.160><c> to</c><00:10:30.440><c> to</c><00:10:30.640><c> this</c><00:10:30.839><c> address</c><00:10:31.240><c> using</c><00:10:31.519><c> Json</c>

00:10:31.829 --> 00:10:31.839 align:start position:0%
connect to to this address using Json
 

00:10:31.839 --> 00:10:33.590 align:start position:0%
connect to to this address using Json
RPC<00:10:32.399><c> and</c><00:10:32.519><c> it</c><00:10:32.640><c> doesn't</c><00:10:32.880><c> work</c><00:10:33.120><c> because</c><00:10:33.320><c> I</c><00:10:33.440><c> don't</c>

00:10:33.590 --> 00:10:33.600 align:start position:0%
RPC and it doesn't work because I don't
 

00:10:33.600 --> 00:10:35.710 align:start position:0%
RPC and it doesn't work because I don't
have<00:10:33.720><c> a</c><00:10:33.839><c> note</c><00:10:34.079><c> running</c>

00:10:35.710 --> 00:10:35.720 align:start position:0%
have a note running
 

00:10:35.720 --> 00:10:38.670 align:start position:0%
have a note running
here<00:10:36.720><c> oh</c><00:10:36.880><c> yeah</c><00:10:37.040><c> one</c><00:10:37.399><c> one</c><00:10:37.959><c> one</c><00:10:38.120><c> important</c><00:10:38.440><c> thing</c>

00:10:38.670 --> 00:10:38.680 align:start position:0%
here oh yeah one one one important thing
 

00:10:38.680 --> 00:10:41.269 align:start position:0%
here oh yeah one one one important thing
here<00:10:39.279><c> if</c><00:10:39.399><c> you</c><00:10:39.600><c> load</c><00:10:39.880><c> the</c><00:10:40.040><c> website</c><00:10:40.399><c> from</c><00:10:40.560><c> HTTP</c>

00:10:41.269 --> 00:10:41.279 align:start position:0%
here if you load the website from HTTP
 

00:10:41.279 --> 00:10:44.949 align:start position:0%
here if you load the website from HTTP
https<00:10:42.240><c> over</c><00:10:42.480><c> SSL</c><00:10:43.000><c> from</c><00:10:43.200><c> GitHub</c><00:10:44.120><c> then</c><00:10:44.800><c> this</c>

00:10:44.949 --> 00:10:44.959 align:start position:0%
https over SSL from GitHub then this
 

00:10:44.959 --> 00:10:46.670 align:start position:0%
https over SSL from GitHub then this
doesn't<00:10:45.279><c> work</c><00:10:45.560><c> because</c><00:10:45.880><c> browsers</c><00:10:46.320><c> do</c><00:10:46.480><c> not</c>

00:10:46.670 --> 00:10:46.680 align:start position:0%
doesn't work because browsers do not
 

00:10:46.680 --> 00:10:48.829 align:start position:0%
doesn't work because browsers do not
allow<00:10:47.120><c> non-</c><00:10:47.360><c> encrypted</c><00:10:47.800><c> requests</c><00:10:48.320><c> from</c>

00:10:48.829 --> 00:10:48.839 align:start position:0%
allow non- encrypted requests from
 

00:10:48.839 --> 00:10:50.870 align:start position:0%
allow non- encrypted requests from
encrypted<00:10:49.320><c> websites</c><00:10:50.120><c> so</c><00:10:50.279><c> you</c><00:10:50.399><c> have</c><00:10:50.519><c> to</c><00:10:50.639><c> load</c>

00:10:50.870 --> 00:10:50.880 align:start position:0%
encrypted websites so you have to load
 

00:10:50.880 --> 00:10:54.430 align:start position:0%
encrypted websites so you have to load
it<00:10:51.079><c> from</c><00:10:51.399><c> from</c><00:10:51.560><c> non</c><00:10:51.760><c> SSL</c>

00:10:54.430 --> 00:10:54.440 align:start position:0%
 
 

00:10:54.440 --> 00:10:56.750 align:start position:0%
 
GitHub<00:10:55.440><c> okay</c>

00:10:56.750 --> 00:10:56.760 align:start position:0%
GitHub okay
 

00:10:56.760 --> 00:11:00.750 align:start position:0%
GitHub okay
then<00:10:57.760><c> on</c><00:10:58.040><c> on</c><00:10:58.200><c> this</c><00:10:58.399><c> tab</c><00:10:58.720><c> you</c><00:10:58.839><c> can</c><00:10:59.519><c> publish</c><00:10:59.839><c> your</c>

00:11:00.750 --> 00:11:00.760 align:start position:0%
then on on this tab you can publish your
 

00:11:00.760 --> 00:11:04.750 align:start position:0%
then on on this tab you can publish your
the<00:11:00.880><c> source</c><00:11:01.200><c> code</c><00:11:01.959><c> uh</c><00:11:02.240><c> you</c><00:11:02.440><c> have</c><00:11:02.760><c> here</c><00:11:03.279><c> as</c><00:11:04.079><c> yeah</c>

00:11:04.750 --> 00:11:04.760 align:start position:0%
the source code uh you have here as yeah
 

00:11:04.760 --> 00:11:07.870 align:start position:0%
the source code uh you have here as yeah
GitHub<00:11:05.760><c> or</c><00:11:06.720><c> you</c><00:11:06.839><c> can</c><00:11:07.079><c> copy</c><00:11:07.399><c> it</c><00:11:07.519><c> over</c><00:11:07.720><c> to</c>

00:11:07.870 --> 00:11:07.880 align:start position:0%
GitHub or you can copy it over to
 

00:11:07.880 --> 00:11:10.430 align:start position:0%
GitHub or you can copy it over to
another<00:11:08.279><c> instance</c><00:11:08.760><c> of</c><00:11:09.000><c> of</c><00:11:09.160><c> the</c>

00:11:10.430 --> 00:11:10.440 align:start position:0%
another instance of of the
 

00:11:10.440 --> 00:11:15.590 align:start position:0%
another instance of of the
IDE<00:11:11.600><c> and</c><00:11:12.600><c> on</c><00:11:12.839><c> this</c><00:11:13.079><c> tab</c><00:11:13.880><c> you</c><00:11:14.880><c> get</c><00:11:15.079><c> an</c><00:11:15.279><c> interface</c>

00:11:15.590 --> 00:11:15.600 align:start position:0%
IDE and on this tab you get an interface
 

00:11:15.600 --> 00:11:18.069 align:start position:0%
IDE and on this tab you get an interface
to<00:11:15.800><c> the</c><00:11:16.040><c> debugger</c><00:11:16.720><c> which</c><00:11:17.200><c> Yan</c><00:11:17.600><c> will</c><00:11:17.839><c> talk</c>

00:11:18.069 --> 00:11:18.079 align:start position:0%
to the debugger which Yan will talk
 

00:11:18.079 --> 00:11:21.910 align:start position:0%
to the debugger which Yan will talk
about<00:11:18.639><c> later</c><00:11:19.639><c> and</c><00:11:19.839><c> we</c><00:11:19.959><c> have</c><00:11:20.200><c> another</c><00:11:21.040><c> tab</c>

00:11:21.910 --> 00:11:21.920 align:start position:0%
about later and we have another tab
 

00:11:21.920 --> 00:11:24.230 align:start position:0%
about later and we have another tab
which<00:11:22.200><c> allows</c><00:11:22.600><c> formal</c><00:11:22.959><c> verification</c><00:11:23.480><c> of</c>

00:11:24.230 --> 00:11:24.240 align:start position:0%
which allows formal verification of
 

00:11:24.240 --> 00:11:27.269 align:start position:0%
which allows formal verification of
contracts<00:11:25.240><c> um</c><00:11:25.760><c> uichi</c><00:11:26.320><c> will</c><00:11:26.720><c> give</c><00:11:26.839><c> a</c><00:11:27.040><c> talk</c>

00:11:27.269 --> 00:11:27.279 align:start position:0%
contracts um uichi will give a talk
 

00:11:27.279 --> 00:11:29.870 align:start position:0%
contracts um uichi will give a talk
about<00:11:27.440><c> formal</c><00:11:27.800><c> verification</c><00:11:28.480><c> but</c><00:11:28.639><c> it</c><00:11:28.800><c> will</c><00:11:29.000><c> be</c>

00:11:29.870 --> 00:11:29.880 align:start position:0%
about formal verification but it will be
 

00:11:29.880 --> 00:11:32.389 align:start position:0%
about formal verification but it will be
about<00:11:30.880><c> bite</c><00:11:31.200><c> code</c><00:11:31.639><c> level</c><00:11:32.079><c> formal</c>

00:11:32.389 --> 00:11:32.399 align:start position:0%
about bite code level formal
 

00:11:32.399 --> 00:11:35.670 align:start position:0%
about bite code level formal
verification<00:11:33.480><c> whereas</c><00:11:34.480><c> uh</c><00:11:34.680><c> this</c><00:11:34.880><c> module</c><00:11:35.399><c> here</c>

00:11:35.670 --> 00:11:35.680 align:start position:0%
verification whereas uh this module here
 

00:11:35.680 --> 00:11:38.990 align:start position:0%
verification whereas uh this module here
is<00:11:35.880><c> used</c><00:11:36.600><c> for</c><00:11:37.360><c> source</c><00:11:37.639><c> code</c><00:11:37.839><c> level</c>

00:11:38.990 --> 00:11:39.000 align:start position:0%
is used for source code level
 

00:11:39.000 --> 00:11:41.750 align:start position:0%
is used for source code level
verification<00:11:40.000><c> and</c><00:11:40.279><c> then</c><00:11:40.920><c> the</c><00:11:41.120><c> question</c><00:11:41.399><c> mark</c>

00:11:41.750 --> 00:11:41.760 align:start position:0%
verification and then the question mark
 

00:11:41.760 --> 00:11:46.629 align:start position:0%
verification and then the question mark
here<00:11:42.000><c> takes</c><00:11:42.279><c> you</c><00:11:42.480><c> to</c><00:11:42.760><c> the</c><00:11:42.959><c> solidity</c>

00:11:46.629 --> 00:11:46.639 align:start position:0%
 
 

00:11:46.639 --> 00:11:48.750 align:start position:0%
 
documentation<00:11:47.639><c> okay</c><00:11:47.880><c> that's</c><00:11:48.240><c> all</c><00:11:48.440><c> I</c><00:11:48.519><c> wanted</c>

00:11:48.750 --> 00:11:48.760 align:start position:0%
documentation okay that's all I wanted
 

00:11:48.760 --> 00:11:51.230 align:start position:0%
documentation okay that's all I wanted
to<00:11:48.920><c> talk</c><00:11:49.079><c> about</c><00:11:49.279><c> the</c><00:11:49.560><c> IDE</c><00:11:50.560><c> if</c><00:11:50.680><c> there</c><00:11:50.800><c> are</c><00:11:50.959><c> any</c>

00:11:51.230 --> 00:11:51.240 align:start position:0%
to talk about the IDE if there are any
 

00:11:51.240 --> 00:11:53.910 align:start position:0%
to talk about the IDE if there are any
short<00:11:51.720><c> questions</c><00:11:52.240><c> I</c><00:11:52.360><c> can</c><00:11:52.519><c> take</c><00:11:52.720><c> them</c>

00:11:53.910 --> 00:11:53.920 align:start position:0%
short questions I can take them
 

00:11:53.920 --> 00:11:57.389 align:start position:0%
short questions I can take them
otherwise<00:11:54.920><c> uh</c><00:11:55.079><c> I</c><00:11:55.240><c> think</c><00:11:55.560><c> y</c><00:11:56.440><c> could</c><00:11:56.600><c> show</c><00:11:56.800><c> the</c>

00:11:57.389 --> 00:11:57.399 align:start position:0%
otherwise uh I think y could show the
 

00:11:57.399 --> 00:11:59.550 align:start position:0%
otherwise uh I think y could show the
debug<00:11:58.399><c> yes</c><00:11:58.600><c> so</c><00:11:58.920><c> another</c><00:11:59.079><c> question</c><00:11:59.279><c> question</c>

00:11:59.550 --> 00:11:59.560 align:start position:0%
debug yes so another question question
 

00:11:59.560 --> 00:12:00.910 align:start position:0%
debug yes so another question question
just<00:11:59.720><c> that's</c><00:11:59.839><c> a</c><00:12:00.000><c> compliment</c><00:12:00.519><c> because</c><00:12:00.760><c> I've</c>

00:12:00.910 --> 00:12:00.920 align:start position:0%
just that's a compliment because I've
 

00:12:00.920 --> 00:12:02.310 align:start position:0%
just that's a compliment because I've
been<00:12:01.040><c> using</c><00:12:01.320><c> that</c><00:12:01.480><c> a</c><00:12:01.600><c> lot</c><00:12:01.720><c> in</c><00:12:01.839><c> the</c><00:12:01.959><c> last</c><00:12:02.120><c> two</c>

00:12:02.310 --> 00:12:02.320 align:start position:0%
been using that a lot in the last two
 

00:12:02.320 --> 00:12:04.949 align:start position:0%
been using that a lot in the last two
three<00:12:02.480><c> months</c><00:12:02.720><c> and</c><00:12:02.800><c> it's</c><00:12:03.000><c> really</c><00:12:03.240><c> great</c><00:12:03.800><c> so</c>

00:12:04.949 --> 00:12:04.959 align:start position:0%
three months and it's really great so
 

00:12:04.959 --> 00:12:08.430 align:start position:0%
three months and it's really great so
thank<00:12:05.959><c> just</c><00:12:06.600><c> I</c><00:12:06.760><c> think</c><00:12:07.360><c> one</c><00:12:07.600><c> last</c><00:12:07.839><c> week</c><00:12:08.040><c> or</c><00:12:08.240><c> two</c>

00:12:08.430 --> 00:12:08.440 align:start position:0%
thank just I think one last week or two
 

00:12:08.440 --> 00:12:10.350 align:start position:0%
thank just I think one last week or two
weeks<00:12:08.720><c> ago</c><00:12:09.040><c> we</c><00:12:09.240><c> added</c>

00:12:10.350 --> 00:12:10.360 align:start position:0%
weeks ago we added
 

00:12:10.360 --> 00:12:15.590 align:start position:0%
weeks ago we added
actual<00:12:11.360><c> uh</c><00:12:12.519><c> browser</c><00:12:13.519><c> unit</c><00:12:13.920><c> testing</c><00:12:14.800><c> purple</c>

00:12:15.590 --> 00:12:15.600 align:start position:0%
actual uh browser unit testing purple
 

00:12:15.600 --> 00:12:18.310 align:start position:0%
actual uh browser unit testing purple
request<00:12:16.600><c> which</c><00:12:17.160><c> will</c><00:12:17.440><c> result</c><00:12:17.839><c> in</c><00:12:18.120><c> this</c>

00:12:18.310 --> 00:12:18.320 align:start position:0%
request which will result in this
 

00:12:18.320 --> 00:12:22.829 align:start position:0%
request which will result in this
website<00:12:18.800><c> breaking</c><00:12:19.680><c> much</c><00:12:20.760><c> less</c><00:12:21.760><c> so</c><00:12:22.360><c> it</c><00:12:22.560><c> it's</c>

00:12:22.829 --> 00:12:22.839 align:start position:0%
website breaking much less so it it's
 

00:12:22.839 --> 00:12:26.310 align:start position:0%
website breaking much less so it it's
quite<00:12:23.040><c> complicated</c><00:12:23.600><c> to</c><00:12:23.800><c> do</c><00:12:24.360><c> browser</c><00:12:25.320><c> testing</c>

00:12:26.310 --> 00:12:26.320 align:start position:0%
quite complicated to do browser testing
 

00:12:26.320 --> 00:12:28.189 align:start position:0%
quite complicated to do browser testing
because<00:12:26.880><c> it</c><00:12:27.040><c> has</c><00:12:27.199><c> to</c><00:12:27.320><c> load</c><00:12:27.560><c> the</c><00:12:27.720><c> compiler</c>

00:12:28.189 --> 00:12:28.199 align:start position:0%
because it has to load the compiler
 

00:12:28.199 --> 00:12:31.350 align:start position:0%
because it has to load the compiler
which<00:12:28.320><c> is</c><00:12:28.440><c> an</c><00:12:28.560><c> 80</c><00:12:28.800><c> megab</c><00:12:29.399><c> file</c><00:12:29.839><c> and</c><00:12:30.360><c> usual</c><00:12:31.000><c> so</c>

00:12:31.350 --> 00:12:31.360 align:start position:0%
which is an 80 megab file and usual so
 

00:12:31.360 --> 00:12:34.350 align:start position:0%
which is an 80 megab file and usual so
the<00:12:31.720><c> these</c><00:12:32.199><c> hosted</c><00:12:32.639><c> services</c><00:12:33.079><c> for</c><00:12:33.360><c> testing</c>

00:12:34.350 --> 00:12:34.360 align:start position:0%
the these hosted services for testing
 

00:12:34.360 --> 00:12:42.000 align:start position:0%
the these hosted services for testing
can't<00:12:34.639><c> really</c><00:12:34.880><c> cope</c><00:12:35.120><c> with</c><00:12:35.320><c> that</c><00:12:35.720><c> so</c><00:12:36.920><c> yeah</c><00:12:37.920><c> okay</c>

00:12:42.000 --> 00:12:42.010 align:start position:0%
 
 

00:12:42.010 --> 00:12:46.519 align:start position:0%
 
[Applause]

