aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Implement proof-of-workYigit Sever2021-04-1210-38/+207
| | | | | | | | Using blacke2s: https://docs.rs/blake2/0.9.1/blake2/ Using this guy's hash checker https://gist.github.com/gkbrk/2e4835e3a17b3fb6e1e7 blacke2s with 5 bits 0 can mine a block between 20 seconds to 359 during my tests, hope it'll be fun
* Ignore blocks and users dirsYigit Sever2021-04-121-0/+2
|
* Update brag sectionYigit Sever2021-04-121-2/+1
|
* Merge remote-tracking branch 'origin/main'Yigit Sever2021-04-121-0/+10
|\
| * Add TODO itemsyigit sever2021-04-111-0/+10
| | | | | | | | Tests and verbose error messages
* | Implement User handling and authenticationYigit Sever2021-04-128-42/+257
|/ | | | | | | | | | | | | | | | | | | | | | | | New struct: User, corresponds to a student Blocks and users are persistent (written to a text file) PostgreSQL would've been overkill, we have 30 students AuthRequest is the representation for incoming register requests and User is the inner representation Students who are enrolled to the class are hardcoded, only they can register new accounts There are two new tests, one checks if a priviliged (=enrolled) user can create an account and the other checks if a unpriviliged one cannot There are quick verbose error messages that I'm not married to, might move on to something better honestly There's nothing stopping a malicious user to pre-register everyone with mock public keys and effectively lock everyone out, what's a good secret we can use?
* Rephrase README to update design decisionsYigit Sever2021-04-111-13/+21
|
* Add auth scheme JWTYigit Sever2021-04-092-2/+8
|
* Remove unused code and clean up commentsYigit Sever2021-04-091-197/+18
|
* Remove unused code from filtersYigit Sever2021-04-091-5/+0
|
* Add HTTP/1.1 resources to READMEYigit Sever2021-04-091-0/+4
|
* Add test TODO items to routesYigit Sever2021-04-091-0/+4
|
* Change tester to help with routes testsYigit Sever2021-04-091-13/+50
|
* Add routes testsYigit Sever2021-04-091-0/+148
|
* Remove old routes testsYigit Sever2021-04-091-276/+0
|
* Add tags files to gitignoreYigit Sever2021-04-091-0/+2
|
* Remove unused code from routesYigit Sever2021-04-091-59/+4
| | | | Original repo here: https://github.com/blurbyte/restful-rust
* Make tester.sh executableYigit Sever2021-04-091-0/+0
|
* Add todo itemYigit Sever2021-04-091-0/+1
|
* Cleared unused code from handlersYigit Sever2021-04-091-80/+0
| | | | The original repo is here: https://github.com/blurbyte/restful-rust
* Implement Block GET/PUT with new schemaYigit Sever2021-04-079-56/+258
| | | | | | | | | | | | | | - `Arc`+`Mutex` is replaced by `parking_lot::RwLock,` decoupled Read+Write and ability to upgrade read locks into write locks if needed - Schema has changed, `Db` is now a struct that implements `new()` to return a new instance of itself, pros/cons listed in code but tl;dr blockchain and pending transactions are separate now - `custom_filters` now supports extracting Block json and Transaction json in separate functions too - /block GET and PUT implemented, `Blocks` currently have one check (transactions appear in pending transaction) - debug is working after something, dunno how I fixed it
* Include big pictureYigit Sever2021-04-071-0/+24
|
* Include big thank listYigit Sever2021-04-071-0/+4
|
* Initial commitYigit Sever2021-04-0712-0/+2118