-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathindex.html
85 lines (81 loc) · 4.91 KB
/
index.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
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Cryptocurrency: Homeworks</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="../markdown.css" />
<script>
function openTab(evt, tabName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
}
function insertCopyLink(text) {
document.write("<span class=\"copylink copy_img\" onclick=\"navigator.clipboard.writeText('" + text.replace(/\"/g,"\\'") + "')\"></span>");
}
</script>
</head>
<body>
<h1 id="cryptocurrency-homeworks">Cryptocurrency: Homeworks</h1>
<p><a href="../readme.html">Go up to the main CCC readme</a> (<a href="../readme.md">md</a>)</p>
<p>You will be bound by the requirements on the <a href="../uva/hw-policies.html">Homeworks policies page</a> (<a href="../uva/hw-policies.md">md</a>), so please read that! The due dates are all listed on the <a href="../uva/index.html">main UVA page</a> (<a href="../uva/index.md">md</a>).</p>
<h3 id="programing-homeworks">Programing homeworks</h3>
<p>These are larger programming homeworks.</p>
<ul>
<li><a href="intro/index.html">P1: Introductory homework</a> (<a href="intro/index.md">md</a>)</li>
<li><a href="ecdsa/index.html">P2: ECDSA implementation</a> (<a href="ecdsa/index.md">md</a>)</li>
<li><a href="btcparser/index.html">P3: BTC parser</a> (<a href="btcparser/index.md">md</a>)</li>
<li><a href="btcscript/index.html">P4: Bitcoin scripting</a> (<a href="btcscript/index.md">md</a>)</li>
<li><a href="gradebook/index.html">P5: dApp Gradebook</a> (<a href="gradebook/index.md">md</a>)</li>
<li><a href="tokens/index.html">P6: dApp Tokens</a> (<a href="tokens/index.md">md</a>)</li>
<li><a href="auction/index.html">P7: dApp Auction</a> (<a href="auction/index.md">md</a>)</li>
<li><a href="dex/index.html">P8: DEX</a> (<a href="dex/index.md">md</a>)</li>
<li><a href="daoweb3/index.html">P9: DAO & web3</a> (<a href="daoweb3/index.md">md</a>)</li>
<li><a href="arbitrage/index.html">P10: Arbitrage trading</a> (<a href="arbitrage/index.md">md</a>)</li>
<li><a href="metamask/index.html">P11: MetaMask</a> (<a href="metamask/index.md">md</a>)</li>
</ul>
<h3 id="smaller-homeworks">Smaller homeworks</h3>
<p>These are smaller homeworks that take less time. They are typically readings or self-guided tutorials.</p>
<ul>
<li>S1: Google course introductory survey: the link for the survey is on the Canvas landing page</li>
<li>S2: Read the <a href="https://bitcoinwhitepaper.co/">Bitcoin whitepaper</a></li>
<li>S3: read (some of) the <a href="https://ethereum.org/en/whitepaper/">Ethereum whitepaper</a> (<a href="https://blockchainlab.com/pdf/Ethereum_white_paper-a_next_generation_smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf">PDF</a>): you can skip (or quickly browse) the first 3 sub-parts of the ‘History’ section (‘Bitcoin’, ‘Mining’, and ‘Merkle Trees’); also skip the ‘references and further reading’ section at the end; what’s left is 24 pages in the PDF to read</li>
<li><a href="ethprivate/index.html">S4: Private Ethereum Blockchain</a> (<a href="ethprivate/index.md">md</a>)</li>
<li><a href="dappintro/index.html">S5: dApp Introduction</a> (<a href="dappintro/index.md">md</a>)</li>
</ul>
<h3 id="homework-dependencies">Homework dependencies</h3>
<p>A dashed arrow means the concepts are used, whereas a solid arrow means that the artifacts created (programs) are used.</p>
<p><a href='hwflow.svg'><img src="hwflow.svg" style="width:300px"></a></p>
</body>
</html>