This repository has been archived by the owner on Dec 27, 2023. It is now read-only.
forked from iwbinb/Nyzo_net_src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgetting-started-04.html
458 lines (431 loc) · 28.8 KB
/
getting-started-04.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Nyzo.net - Knowledgebase - Getting started - How the network works</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="This article describes how the network works.">
<link href="assets/css/loaders/loader-typing.css" rel="stylesheet" type="text/css" media="all" />
<link href="assets/css/theme.css" rel="stylesheet" type="text/css" media="all" />
<link rel="preload" as="font" href="assets/fonts/Inter-UI-upright.var.woff2" type="font/woff2" crossorigin="anonymous">
<link rel="preload" as="font" href="assets/fonts/Inter-UI.var.woff2" type="font/woff2" crossorigin="anonymous">
<link rel="icon" href="amp/favicon.ico">
<!-- Required vendor scripts (Do not remove) -->
<script type="text/javascript" src="assets/js/jquery.min.js"></script>
<script type="text/javascript" src="assets/js/popper.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-171082179-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-171082179-1');
</script>
</head>
<body>
<div class="loader">
<div class="loading-animation"></div>
</div>
<div class="navbar-container ">
<nav class="navbar navbar-expand-lg navbar-dark" data-overlay data-sticky="top">
<div class="container">
<a class="navbar-brand fade-page" href="knowledgebase.html">
<img src="assets/img/nyzlogo.png" alt="Nyzo" style='max-height:4.5rem;'>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-expanded="false" aria-label="Toggle navigation">
<img class="icon navbar-toggler-open" src="assets/img/icons/interface/menu.svg" alt="menu interface icon" data-inject-svg />
<img class="icon navbar-toggler-close" src="assets/img/icons/interface/cross.svg" alt="cross interface icon" data-inject-svg />
</button>
<div class="collapse navbar-collapse justify-content-end">
<div class="py-2 py-lg-0">
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a href="ncfp.html" class="nav-link dropdown-toggle" aria-expanded="false" aria-haspopup="true">NCFP</a>
</li>
<li class="nav-item dropdown">
<a href="github.html" class="nav-link dropdown-toggle" aria-expanded="false" aria-haspopup="true">Github</a>
</li>
<li class="nav-item dropdown">
<a href="mobile.html" class="nav-link dropdown-toggle" aria-expanded="false" aria-haspopup="true">Mobile</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown-grid" aria-expanded="false" aria-haspopup="true">Explorer</a>
<div class="dropdown-menu row">
<div class="col-auto" data-dropdown-content>
<div class="dropdown-grid-menu"><a target='_blank' href="https://nyzo.co" class="dropdown-item fade-page">Official explorer</a><a target='_blank' href="https://explorer.nyzo.net" class="dropdown-item fade-page">Web explorer<span class="badge badge-primary ml-2">New</span></a><a target='_blank' href="https://explorer.nyzo.net/client/richlist.html"
class="dropdown-item fade-page">Richlist<span class="badge badge-primary ml-2">New</span></a>
</div>
</div>
</div>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown-grid" aria-expanded="false" aria-haspopup="true">Community</a>
<div class="dropdown-menu row">
<div class="col-auto" data-dropdown-content>
<div class="dropdown-grid-menu"><a href="https://forum.nyzo.community" class="dropdown-item fade-page">Forum<span class="badge badge-primary ml-2">New</span></a><a href="https://nyzo.ondiscord.net" class="dropdown-item fade-page">Discord</a><a href="https://t.me/NyzoCo"
class="dropdown-item fade-page">Telegram</a><a href="https://twitter.com/nyzo_currency" class="dropdown-item fade-page">Twitter</a><a href="https://www.facebook.com/nyzoblockchain/" class="dropdown-item fade-page">Facebook</a><a href="https://weibo.com/nyzoco"
class="dropdown-item fade-page">Weibo</a><br><a href="https://nyzo.io"
class="dropdown-item fade-page">Nyzo.io</a><a href="https://nyzo.xyz"
class="dropdown-item fade-page">Nyzo.xyz</a><a href="https://nyzo.today"
class="dropdown-item fade-page">Nyzo.today</a><a href="https://nyzo.me"
class="dropdown-item fade-page">Nyzo.me (cn)</a><br><a href="https://weibo.com/nyzoco"
class="dropdown-item fade-page">QQ: 1007477423</a>
</div>
</div>
</div>
</li>
<li class="nav-item dropdown">
<a href="http://78.47.221.148" target="_blank" class="nav-link dropdown-toggle" aria-expanded="false" aria-haspopup="true">Docs</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown-grid" aria-expanded="false" aria-haspopup="true">Exchanges</a>
<div class="dropdown-menu row">
<div class="col-auto" data-dropdown-content>
<div class="dropdown-grid-menu"><a href="https://buy.nyzo.net" class="dropdown-item fade-page">Qtrade.io<span class="badge badge-primary ml-2">Hot</span></a><a href="https://bilaxy.com" class="dropdown-item fade-page">Bilaxy</a><a href="https://bihodl.com"
class="dropdown-item fade-page">Bihodl</a><a href="https://hotbit.io"
class="dropdown-item fade-page">Hotbit</a>
</div>
</div>
</div>
</li>
<!--<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown-grid" aria-expanded="false" aria-haspopup="true">API</a>
<div class="dropdown-menu row">
<div class="col-auto px-0" data-dropdown-content>
<div class="bg-white rounded border shadow-lg o-hidden">
<div class="list-group list-group-flush">
<a href="https://explorer.nyzo.net/client/json/balance_list.json" target="_blank" class="list-group-item list-group-item-action d-flex align-items-center p-3">
<img class="icon icon-md" src="assets/img/icons/theme/files/selected-file.svg" alt="selected-file icon" data-inject-svg />
<div class="text-body ml-3">
<span>Balance list</span>
<div class="text-small text-muted">Sorted numerically</div>
</div>
</a>
<a href="https://explorer.nyzo.net/client/json/supply.json" target="_blank" class="list-group-item list-group-item-action d-flex align-items-center p-3">
<img class="icon icon-md" src="assets/img/icons/theme/files/selected-file.svg" alt="selected-file icon" data-inject-svg />
<div class="text-body ml-3">
<span>Network metrics</span>
<div class="text-small text-muted">Circulating supply & more</div>
</div>
</a>
</div>
</div>
</div>
</div>
</li> -->
</ul>
</div><a href="knowledgebase-wallets.html" class="btn btn-primary ml-lg-3">Download wallet</a>
</div>
</div>
</nav>
</div>
<section class="bg-primary-3 text-light has-divider" data-overlay>
<img src="https://w.wallhaven.cc/full/4l/wallhaven-4l63wl.png" alt="Image" class="bg-image opacity-50">
<div class="container mt-lg-5">
<div class="row justify-content-center">
<div class="col-lg-10 col-xl-8">
<h1 class="h2 mb-3">How the network works</h1>
<!-- <form>
<div class="input-group input-group-lg mb-3">
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon-1">
<img class="icon" src="assets/img/icons/theme/general/search.svg" alt="search icon" data-inject-svg />
</span>
</div>
<input type="search" class="form-control" placeholder="Search the Nyzo knowledgebase" aria-label="Search" aria-describedby="basic-addon-1">
</div>
</form> -->
<div class="d-flex text-small">
<span class="text-muted">In this article you will learn how the network works.</span>
<!-- <ul class="list-unstyled d-flex ml-2 flex-wrap">
<li class="mx-1"><a href="#">Verifier installation,</a>
</li>
<li class="mx-1"><a href="#">Nyzo wallets,</a>
</li>
<li class="mx-1"><a href="#">How to join the network</a>
</li>
</ul> -->
</div>
</div>
</div>
</div>
<div class="divider">
<img src="assets/img/dividers/divider-2.svg" alt="graphical divider" data-inject-svg />
</div>
</section>
<section class="pb-0 pb-5">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-10 col-xl-8">
<div class="d-flex justify-content-between align-items-center mb-3">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="knowledgebase.html">Knowledgebase</a>
</li>
<li class="breadcrumb-item">
<a href="knowledgebase-getting-started.html">Getting started</a>
</li>
<li class="breadcrumb-item">
<a href="#">How the network works</a>
</li>
</ol>
</nav>
</div>
<h1>How the network works</h1>
<div class="d-flex align-items-center">
<a href="#">
<img src="https://forum.nyzo.community/user_avatar/forum.nyzo.community/snipe/120/307_2.png" alt="Avatar" class="avatar mr-2">
</a>
<div>
<div>by <a href="https://forum.nyzo.community/u/Snipe/">0xSnipe</a>
</div>
<div class="text-small text-muted">04/02/20</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="p-0" data-reading-position>
<div class="container">
<div class="row justify-content-center position-relative">
<div class="col-lg-10 col-xl-8">
<img src="https://media.discordapp.net/attachments/624369209173999617/672797779604537353/My_Post58.png?width=1242&height=699" alt="Image" class="rounded">
</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-7 col-lg-8 col-md-10">
<article class="article">
<p class="lead">
Basics of the network
</p>
<p>
Nyzo is a very different network, it is not Proof of Work nor Proof of Stake and with that come some new concepts to understand. Below you will find visualizations and explanations for the major components of the network.
<!-- block time -->
</p>
<p>
</p>
<h4>The mesh</h4>
<p>
<b>The mesh</b> represents the entirety of the network.<br>Nodes are seperated into two groups and are called:
<ul>
<li>Cycle candidates</li>
<li>In-cycle verifiers</li>
</ul><br>The majority of the verifiers in the mesh are cycle candidates.<br>(Note: Cycle candidates were called queue verifiers before the network changed to a lottery-based entrance mechanism)<br>
<img src='https://i.imgur.com/JCuVo4d.png'><br>
</p>
<h4>Cycle candidates</h4>
<p>
All nodes start off as cycle candidates. Cycle candidates do not actively participate in the production of blocks, they do however actively track the network.<br>A valid cycle candidate consists out of:<br>
<ul>
<li>A unique IPv4 address</li>
<li>An up-to-date & running, copy of the <a href='github.html' target='_blank'>nyzoVerifier</a> codebase</li>
</ul>
<img src='https://i.imgur.com/d5DBfQ0.png'>
<br>
<br>After the cycle candidate has initialized for the first time (the codebase has been installed on a new machine with a unique IPv4 address & is running), a sequence of events take place:<br><br>
<ul>
<li>The cycle candidate starts tracking the blockchain and its state</li>
<li>The cycle candidate notifies the in-cycle verifiers of its existence</li>
<li>The in-cycle verifiers record the existence of the cycle candidate with a timestamp</li>
</ul>
<img src='https://i.imgur.com/vH0SFu7.png'>
</p>
<h4>30-day incubation period</h4>
<p>
New cycle candidates must repeat the above for at least 30 days before they become eligible for selection by the cycle, this largely prevents botnets and illicitly funded servers from gaining a significant advantage in joining the network. It also avoids having an immediate advantage in joining the network.
<img src='https://i.imgur.com/en0pMkr.png'>
</p>
<h4>Candidate selection</h4>
<p>
The in-cycle verifiers automatically <a href='https://nyzo.co/queue/all' target='_blank'>select candidates</a> to become part of the cycle.<br> This process is deterministically random and is sometimes referred to as the 'Nyzo lottery'.<br><br> The verifiers independently switch the verifier they vote for based on the 50-block incremented block hash. This does however not mean that a new candidate is allowed to enter the cycle every 50 blocks.<br><br>The blockchain rules depict when a candidate is allowed to join the cycle - according to the following formula:<br>
<pre class='language-bash'>24 * 3600 / cycle size / 7 / 2 = Joins per day</pre>
<pre class='language-bash'>24 / Joins per day = Hours between joins</pre><br>
Upon selection by the network the candidate has to produce a block in order to join the network.<br>
<img src='https://i.imgur.com/ihakeFs.png'><br><br>
Shown below is the historical progression of new cycle candidates joining the cycle and becoming an in-cycle verifier. (at the time of writing)<br><br>
<img src='https://i.imgur.com/32UiqCz.png'>
</p>
<h4>Block production</h4>
<p>
The cycle consists out of a fixed structure of nodes, who each in turn produce a block. This makes block production faster than PoW or PoS systems, with a block time of 7 seconds.<br><br>All in-cycle verifiers vote every 7 seconds to approve the production of the proposed block by the producing verifier.<br><br>
<img src='https://i.imgur.com/AKzmoOO.png'>
</p>
<h4>Block rewards</h4>
<p>
The verifiers solely earn rewards from transaction fees. If you are able to join the cycle as a verifier, you get 10% of the transaction fees for each block you verify and 10% of transaction fees for each of the next 9 blocks in the chain. This is how you will earn coins in the beginning, and this is how you will continue to earn coins as more people join the system.<br><br>
<img src='https://i.imgur.com/V9bldfi.png'><br><br>
Until a lot of people have a lot of coins, organic transaction volume will not be high enough to make transaction verification worthwhile.<br><br>To remedy this, 27 million seed transactions have been created: one transaction per block for the first six years that the system will be in operation.<br><br>These transactions are drawn from an account for which the private key was generated, used to sign the transactions, and discarded without saving.<br> <a href='https://nyzo.co/releaseNotes/479' target='_blank'>Release 479</a> ensures that no other transactions originating from the seed wallet can be included by the network.<br><br>The seed account is funded with ∩20 million; it will be drained to approximately ∩0.01 at the end of five years if all seed transactions are processed. Transactions in the sixth year will only process if some of the earlier transactions are omitted.
</p>
<h4>Emission scheme</h4>
<p>Every cryptocurrency has a way of releasing coins to the people which are involved with the project - this is the incentive for securing the network and the primary driver of interest by cycle candidates whom are looking to join the network.<br><br>It is an important determinant in regards to prospecting a cryptocurrency's price.<br>As mentioned above, the seed account facilitates rewards for the first six years of the network's existence. It is to be expected that the network will see organic transaction volume after this time period. <a href='https://medium.com/@nyzoco/nyzo-and-its-protocol-which-facilitates-building-986e39163c5' target='_blank'>The cycle fund acts as the main catalyst</a> for rewarding development on and for Nyzo.<br><br>
The core determinants:<br><ul>
<li>Blocks per day</li>
<li>Seed transaction amount</li>
<li>Cycle size</li>
<li>Organic transaction volume</li>
</ul><br>
There are <a href='https://github.com/Open-Nyzo/Awesome-Nyzo/tree/master/References' target='_blank'>tools available on the Open-Nyzo github repository</a> for generating a historical view of the coin's supply and the network's cycle events.<br><br>
The first graph shows the decrease in the amount of Nyzo the seed transaction contains. The 'block reward' is 0.25% from the seed account transaction. <br>This does not include any additional earnings through verification of organic transactions.<br><br>
<img src='https://i.imgur.com/6PRf89G.png'><br><br>The second graph accounts for the amount of verifiers in the cycle.<br>The more people are part of the cycle, the less blocks one single verifier produces in a single day. As the cycle grew from 10 official nodes onwards, the amount of blocks produced by a single verifier decreased rapidly.<br><br>
<img src='https://i.imgur.com/nCM4ie7.png'><br><br>The last graph omits the first 700,000 blocks from the chart above, as to get a better view on the recent emission progress.<br>
<img src='https://i.imgur.com/Y6P1LJd.png'>
</p>
<h4>Learn more</h4>
<p>This article already contains an extensive amount of information about the network, but some subjects can not be covered here without making the page erroneously long. The knowledge base contains a seperate category for Proof of Diversity, where the role of the sentinel is explained, a typical verifier lifecycle timeline is visualized, the network's attack resilience is documented and the electrical consumption is compared to other projects in the cryptocurrency space.</p><br>
<div class="col text-center">
<a href="knowledgebase-proof-of-diversity.html" class="btn btn-lg btn-primary">
Discover Proof of Diversity
</a>
</div>
<!-- <div class="row justify-content-center position-relative">
<div class="col-lg-10 col-xl-8">
<img src="https://i.imgur.com/y78SML3.png" alt="Image" class="rounded">
</div>
</div> -->
</article>
</div>
</div>
</div>
</section>
<section class="has-divider">
<div class="container pt-3">
<div class="row justify-content-center">
<div class="col-xl-7 col-lg-8 col-md-10">
<hr> <!-- write js script to auto populate this with the current url TODO -->
<div class="d-flex align-items-center">
<span class="text-small mr-1">Share this article:</span>
<div class="d-flex mx-2">
<a id='shareTwitterToPopulate' href="#" class="btn btn-round btn-primary mx-1">
<img class="icon icon-sm" src="assets/img/icons/social/twitter.svg" alt="twitter social icon" data-inject-svg />
</a>
<a id='shareFacebookToPopulate' href="#" class="btn btn-round btn-primary mx-1">
<img class="icon icon-sm" src="assets/img/icons/social/facebook.svg" alt="facebook social icon" data-inject-svg />
</a>
</div>
</div>
<hr>
</div>
</div>
</div>
<div class="divider">
<img class="bg-primary-3" src="assets/img/dividers/divider-3.svg" alt="divider graphic" data-inject-svg />
</div>
</section>
<footer class="pb-4 bg-primary-3 text-light" id="footer">
<div class="container">
<div class="row mb-5">
<div class="col">
<div class="card card-body border-0 o-hidden mb-0 bg-primary text-light">
<div class="position-relative d-flex flex-column flex-md-row justify-content-between align-items-center">
<div class="h3 text-center mb-md-0">Start building & get rewarded</div>
<a href="ncfp.html" class="btn btn-lg btn-white">
Discover NCFP's
</a>
</div>
</div>
</div>
</div>
<div class="row justify-content-center mb-2">
<div class="col-auto">
<ul class="nav">
<li class="nav-item">
<a href="https://www.instagram.com/nyzo_currency" class="nav-link">
<img class="icon undefined" src="assets/img/icons/social/instagram.svg" alt="instagram social icon" data-inject-svg />
</a>
</li>
<li class="nav-item">
<a href="https://twitter.com/nyzo_currency" target='_blank' class="nav-link">
<img class="icon undefined" src="assets/img/icons/social/twitter.svg" alt="twitter social icon" data-inject-svg />
</a>
</li>
<!-- <li class="nav-item">
<a href="#" class="nav-link">
<img class="icon undefined" src="assets/img/icons/social/youtube.svg" alt="youtube social icon" data-inject-svg />
</a>
</li> -->
<li class="nav-item">
<a href="https://medium.co/@nyzoco" class="nav-link">
<img class="icon undefined" src="assets/img/icons/social/medium.svg" alt="medium social icon" data-inject-svg />
</a>
</li>
<li class="nav-item">
<a href="https://www.facebook.com/nyzoblockchain/" class="nav-link">
<img class="icon undefined" src="assets/img/icons/social/facebook.svg" alt="facebook social icon" data-inject-svg />
</a>
</li>
<li class="nav-item">
<a href="github.html" class="nav-link">
<img class="icon undefined" src="assets/img/icons/theme/social/github.svg" alt="github social icon" data-inject-svg />
</a>
</li>
</div>
</ul>
</div>
</div>
<div class="row justify-content-center">
<div class="col col-md-auto text-center">
<small class="text-muted">©2020 This page is protected by reCAPTCHA and is subject to the Google <a href="https://www.google.com/policies/privacy/">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service.</a>
</small>
</div>
</div>
</div>
</footer>
<a href="#" class="btn back-to-top btn-primary btn-round" data-smooth-scroll data-aos="fade-up" data-aos-offset="2000" data-aos-mirror="true" data-aos-once="false">
<img class="icon" src="assets/img/icons/theme/navigation/arrow-up.svg" alt="arrow-up icon" data-inject-svg />
</a>
<!-- Optional Vendor Scripts (Remove the plugin script here and comment initializer script out of index.js if site does not use that feature) -->
<!-- AOS (Animate On Scroll - animates elements into view while scrolling down) -->
<script type="text/javascript" src="assets/js/aos.js"></script>
<!-- Clipboard (copies content from browser into OS clipboard) -->
<script type="text/javascript" src="assets/js/clipboard.js"></script>
<!-- Fancybox (handles image and video lightbox and galleries) -->
<script type="text/javascript" src="assets/js/jquery.fancybox.min.js"></script>
<!-- Flatpickr (calendar/date/time picker UI) -->
<script type="text/javascript" src="assets/js/flatpickr.min.js"></script>
<!-- Flickity (handles touch enabled carousels and sliders) -->
<script type="text/javascript" src="assets/js/flickity.pkgd.min.js"></script>
<!-- Ion rangeSlider (flexible and pretty range slider elements) -->
<script type="text/javascript" src="assets/js/ion.rangeSlider.min.js"></script>
<!-- Isotope (masonry layouts and filtering) -->
<script type="text/javascript" src="assets/js/isotope.pkgd.min.js"></script>
<!-- jarallax (parallax effect and video backgrounds) -->
<script type="text/javascript" src="assets/js/jarallax.min.js"></script>
<script type="text/javascript" src="assets/js/jarallax-video.min.js"></script>
<script type="text/javascript" src="assets/js/jarallax-element.min.js"></script>
<!-- jQuery Countdown (displays countdown text to a specified date) -->
<script type="text/javascript" src="assets/js/jquery.countdown.min.js"></script>
<!-- jQuery smartWizard facilitates steppable wizard content -->
<script type="text/javascript" src="assets/js/jquery.smartWizard.min.js"></script>
<!-- Plyr (unified player for Video, Audio, Vimeo and Youtube) -->
<script type="text/javascript" src="assets/js/plyr.polyfilled.min.js"></script>
<!-- Prism (displays formatted code boxes) -->
<script type="text/javascript" src="assets/js/prism.js"></script>
<!-- ScrollMonitor (manages events for elements scrolling in and out of view) -->
<script type="text/javascript" src="assets/js/scrollMonitor.js"></script>
<!-- Smooth scroll (animation to links in-page)-->
<script type="text/javascript" src="assets/js/smooth-scroll.polyfills.min.js"></script>
<!-- SVGInjector (replaces img tags with SVG code to allow easy inclusion of SVGs with the benefit of inheriting colors and styles)-->
<script type="text/javascript" src="assets/js/svg-injector.umd.production.js"></script>
<!-- TwitterFetcher (displays a feed of tweets from a specified account)-->
<script type="text/javascript" src="assets/js/twitterFetcher_min.js"></script>
<!-- Typed text (animated typing effect)-->
<script type="text/javascript" src="assets/js/typed.min.js"></script>
<!-- Required theme scripts (Do not remove) -->
<script type="text/javascript" src="assets/js/theme.js"></script>
<!-- Removes page load animation when window is finished loading -->
<script type="text/javascript">
window.addEventListener("load", function () { document.querySelector('body').classList.add('loaded'); });
</script>
<script type="text/javascript">
function initShareLinks(){
curr_pos = window.location.href;
document.getElementById('shareTwitterToPopulate').href= 'https://twitter.com/share?url=' + encodeURI(curr_pos);
document.getElementById('shareFacebookToPopulate').href= 'https://www.facebook.com/sharer/sharer.php?u=' + encodeURI(curr_pos);
}
initShareLinks();
</script>
</body>
</html>