diff options
| author | Yigit Sever | 2021-04-25 23:45:22 +0300 |
|---|---|---|
| committer | Yigit Sever | 2021-04-25 23:45:22 +0300 |
| commit | fab0654942bd610c99999a6d193e0630d0cd6f98 (patch) | |
| tree | eb3a26c25ec68dbb316a4d0cc16a0a854c42a96f /content/_index.md | |
| parent | 685ec6275109a9b2a1b1a6083c4b011fe8c5eeb6 (diff) | |
| download | gradecoin-site-fab0654942bd610c99999a6d193e0630d0cd6f98.tar.gz gradecoin-site-fab0654942bd610c99999a6d193e0630d0cd6f98.tar.bz2 gradecoin-site-fab0654942bd610c99999a6d193e0630d0cd6f98.zip | |
Moving to nicenet
Diffstat (limited to 'content/_index.md')
| -rw-r--r-- | content/_index.md | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/content/_index.md b/content/_index.md index d0be673..3522122 100644 --- a/content/_index.md +++ b/content/_index.md | |||
| @@ -4,7 +4,6 @@ sort_by = "weight" | |||
| 4 | +++ | 4 | +++ |
| 5 | 5 | ||
| 6 | # Welcome to Gradecoin! | 6 | # Welcome to Gradecoin! |
| 7 | |||
| 8 | Blockchains are incredibly simple yet can appear very complicated, we will see how they work and practice programming _production_ cryptography code. | 7 | Blockchains are incredibly simple yet can appear very complicated, we will see how they work and practice programming _production_ cryptography code. |
| 9 | 8 | ||
| 10 | This server is the sandbox for the PA1, it's currently running the Gradecoin application. Gradecoin is the faux currency we will use to simulate a blockchain network. At the end of the simulation, the amount of Gradecoin you hold will be your PA1 grade. | 9 | This server is the sandbox for the PA1, it's currently running the Gradecoin application. Gradecoin is the faux currency we will use to simulate a blockchain network. At the end of the simulation, the amount of Gradecoin you hold will be your PA1 grade. |
| @@ -17,7 +16,7 @@ Blocks need to be _mined_ beforehand using Proof-of-work, or brute force. | |||
| 17 | Gradecoin offers 3 endpoints at [/register](/register), [/block](/block) and [/transaction](/transaction). You can only send GET requests to /block and /transaction without authorization. | 16 | Gradecoin offers 3 endpoints at [/register](/register), [/block](/block) and [/transaction](/transaction). You can only send GET requests to /block and /transaction without authorization. |
| 18 | The server is programmed in [RESTful](https://www.service-architecture.com/articles/web-services/representational_state_transfer_rest.html) architecture, there are no `DELETE`, `PUT` or `UPDATE` operations, though. | 17 | The server is programmed in [RESTful](https://www.service-architecture.com/articles/web-services/representational_state_transfer_rest.html) architecture, there are no `DELETE`, `PUT` or `UPDATE` operations, though. |
| 19 | 18 | ||
| 20 | Gradecoin uses a Proof-of-work block accepting mechanism. It uses single round [Blake2s](https://www.blake2.net/) hashing which produces 256-bit (64 hexadecimal characters) output. The [target](https://wiki.bitcoinsv.io/index.php/Target) hash is _24 bits_ or _6 hexadecimal characters_ of 0. During testing, I could mine a block on average around 4-6 minutes. | 19 | Gradecoin uses a Proof-of-work block accepting mechanism. It uses single round [Blake2s](https://www.blake2.net/) hashing which produces 256-bit (64 hexadecimal characters) output. The [target](https://wiki.bitcoinsv.io/index.php/Target) hash is _24 bits_ or _6 hexadecimal characters_ of 0. |
| 21 | 20 | ||
| 22 | > We're expecting you to use existing tools and implementations. Standards are hard. [Don't roll your own crypto](https://www.reddit.com/r/crypto/comments/2coqsy/dont_roll_your_own/). Feel free to ask questions. Collaborate. | 21 | > We're expecting you to use existing tools and implementations. Standards are hard. [Don't roll your own crypto](https://www.reddit.com/r/crypto/comments/2coqsy/dont_roll_your_own/). Feel free to ask questions. Collaborate. |
| 23 | 22 | ||
| @@ -25,7 +24,8 @@ You might ask, | |||
| 25 | 24 | ||
| 26 | > But if nobody has any Gradecoin then how do we have transactions? | 25 | > But if nobody has any Gradecoin then how do we have transactions? |
| 27 | 26 | ||
| 28 | There is a bank! Their public key is `31415926535897932384626433832795028841971693993751058209749445923` and they have some amount of Gradecoin preloaded. It's also the only account that you can send transactions requests _to_ yourself. | 27 | You get rewarded for your hard work during the authentication with some Gradecoin to start with! |
| 28 | Then you can earn block rewards by proposing blocks, create some Gradecoins by generating traffic on the system, or transact with our new highly trained AI bots! | ||
| 29 | 29 | ||
| 30 | # Coinbase | 30 | # Coinbase |
| 31 | The first transactions of a block is called the `coinbase`. They are the **author** of the block proposal and if the block is accepted then they get compensated for their efforts with some Gradecoin. | 31 | The first transactions of a block is called the `coinbase`. They are the **author** of the block proposal and if the block is accepted then they get compensated for their efforts with some Gradecoin. |
| @@ -39,6 +39,7 @@ Gradecoin uses 2048 bit RSA keypairs. | |||
| 39 | - Download `Gradecoin`'s Public Key from [Moodle](https://odtuclass.metu.edu.tr/my/) | 39 | - Download `Gradecoin`'s Public Key from [Moodle](https://odtuclass.metu.edu.tr/my/) |
| 40 | - Encrypt your [JSON](https://www.json.org/json-en.html) wrapped `Public Key`, `Student ID` and one time `passwd` using Gradecoin's Public Key | 40 | - Encrypt your [JSON](https://www.json.org/json-en.html) wrapped `Public Key`, `Student ID` and one time `passwd` using Gradecoin's Public Key |
| 41 | - Your public key is now in our database and can be used to sign your JWT's during requests | 41 | - Your public key is now in our database and can be used to sign your JWT's during requests |
| 42 | - **Don't forget your Public Key** | ||
| 42 | - For more information, check the [register](@/register_docs.md) page | 43 | - For more information, check the [register](@/register_docs.md) page |
| 43 | 44 | ||
| 44 | ## /transaction | 45 | ## /transaction |
| @@ -55,10 +56,10 @@ Gradecoin uses 2048 bit RSA keypairs. | |||
| 55 | - Fetch the last accepted `Block` with a GET request | 56 | - Fetch the last accepted `Block` with a GET request |
| 56 | - For more information, check our [block](@/block_docs.md) page | 57 | - For more information, check our [block](@/block_docs.md) page |
| 57 | 58 | ||
| 58 | `Authorization`: The request header should have Bearer JWT.Token signed with Student Public Key | 59 | > `Authorization`: The request header should have Bearer JWT.Token signed with Student Public Key |
| 59 | 60 | ||
| 60 | ## /user | 61 | ## /user |
| 61 | - Meant to be used in the browser, you can see the current list of users and their balance here | 62 | - Looking for people to conduct business with? Everyone is listed here! 🤖👋 are bots who are very eager to transact with you. I've trained them personally. |
| 62 | 63 | ||
| 63 | # Questions | 64 | # Questions |
| 64 | ## This all sound complicated! | 65 | ## This all sound complicated! |
| @@ -87,12 +88,13 @@ At the end of the _simulation_, your Gradecoin balance will be your grade. I wil | |||
| 87 | - perl | 88 | - perl |
| 88 | - rust | 89 | - rust |
| 89 | - python | 90 | - python |
| 91 | - dart/typescript | ||
| 90 | - random assortment of bash scripts | 92 | - random assortment of bash scripts |
| 91 | 93 | ||
| 92 | If your favourite programming language is missing please let me know 🤷? | 94 | If your favourite programming language is missing please let me know 🤷? |
| 93 | 95 | ||
| 94 | ## Can my friends play? | 96 | ## Can my friends play? |
| 95 | Sadly, no. Student's who are enrolled to the class will receive one-time-passwords for authentication. | 97 | Probably not at this point. I've allowed a couple of people during the testnet phase but don't intend to any more. |
| 96 | 98 | ||
| 97 | ## How and or Why? | 99 | ## How and or Why? |
| 98 | - [Built](https://xkcd.com/2314/), [with](https://lofi.cafe/) [Rust](https://xkcd.com/2418/) | 100 | - [Built](https://xkcd.com/2314/), [with](https://lofi.cafe/) [Rust](https://xkcd.com/2418/) |
