summaryrefslogtreecommitdiffstats
path: root/site/content/_index.md
diff options
context:
space:
mode:
Diffstat (limited to 'site/content/_index.md')
-rw-r--r--site/content/_index.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/site/content/_index.md b/site/content/_index.md
new file mode 100644
index 0000000..7dd7a7c
--- /dev/null
+++ b/site/content/_index.md
@@ -0,0 +1,28 @@
1+++
2title = "Gradecoin"
3sort_by = "weight"
4+++
5
6- Don't know where to start? Gradecoin uses RESTful API, simple `curl` commands or even your browser will work! [This website can help as well](https://curl.trillworks.com/).
7- [JWT Debugger](https://jwt.io) and the corresponding [RFC](https://tools.ietf.org/html/rfc7519)
8
9# Services
10## /register
11- Student creates their own 2048 bit RSA `keypair`
12- Downloads `Gradecoin`'s Public Key from [Moodle](https://odtuclass.metu.edu.tr/my/)
13- Encrypts their JSON wrapped `Public Key`, `Student ID` and one time `passwd` using Gradecoin's Public Key
14- Their public key is now in our database and can be used to sign their JWT's during requests
15
16## /transaction
17- You can offer a [Transaction](/transaction) - POST request
18 - The request should have `Authorization`
19 - The request header should be signed by the Public Key of the `by` field in the transaction
20- fetch the list of `Transaction`s - GET request
21
22## /block
23- offer a [`schema::Block`] - POST request
24 - The request should have `Authorization`
25 - The [`schema::Block::transaction_list`] of the block should be a subset of [`schema::Db::pending_transactions`]
26- fetch the last accepted [`schema::Block`] - GET request
27
28`Authorization`: The request header should have Bearer JWT.Token signed with Student Public Key