Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | finished claim testing. | alpaylan | 2021-04-14 | 1 | -0/+35 |
| | |||||
* | finished claim testing. | alpaylan | 2021-04-14 | 1 | -1/+8 |
| | |||||
* | start testing schema | alpaylan | 2021-04-14 | 2 | -2/+22 |
| | |||||
* | test functions are generated. | alpaylan | 2021-04-14 | 1 | -0/+97 |
| | |||||
* | update todo | alpaylan | 2021-04-14 | 1 | -1/+1 |
| | |||||
* | update todo | alpaylan | 2021-04-14 | 1 | -1/+4 |
| | |||||
* | remove unused part. | alpaylan | 2021-04-14 | 1 | -12/+1 |
| | |||||
* | add balance check to transactions. | alpaylan | 2021-04-14 | 1 | -0/+35 |
| | |||||
* | Add empty block test | Yigit Sever | 2021-04-14 | 3 | -5/+9 |
| | |||||
* | Add new test | Yigit Sever | 2021-04-14 | 1 | -0/+27 |
| | |||||
* | Revise tests | Yigit Sever | 2021-04-14 | 1 | -87/+62 |
| | |||||
* | Implement multithreading for example miner | Yigit Sever | 2021-04-14 | 1 | -15/+48 |
| | |||||
* | Update TODO | Yigit Sever | 2021-04-13 | 1 | -4/+9 |
| | |||||
* | Add verbose error messages | Yigit Sever | 2021-04-13 | 5 | -61/+182 |
| | | | | | | | | | Not happy with the solution one bit but using error.rs at https://blog.logrocket.com/create-an-async-crud-web-service-in-rust-with-warp/ was not working Basically we just handcraft every single response on the spot, there is some repetition and it's ugly but need to move on | ||||
* | Fix docs again | Yigit Sever | 2021-04-13 | 1 | -2/+2 |
| | |||||
* | Fix docs | Yigit Sever | 2021-04-13 | 1 | -1/+1 |
| | |||||
* | Refactor authorized propose functions | Yigit Sever | 2021-04-13 | 2 | -127/+192 |
| | | | | | | | | | | | | | | They were getting spaghetti so; new function: handlers::authorize_proposer(), handles the jwt stuff, NOT async and _may_ cause trouble down the road but then again the stuff it does used to be (repeated) in the functions so how bad can it be If else chains were getting unwieldy; https://refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html so now everything is returning early, might make verbose error handling easier | ||||
* | Fix typo | yigit sever | 2021-04-13 | 1 | -1/+1 |
| | |||||
* | Update 'TODO.md' | yigit sever | 2021-04-13 | 1 | -0/+1 |
| | |||||
* | Require authorization for Block POST | Yigit Sever | 2021-04-13 | 5 | -57/+101 |
| | | | | | Not tested because it's impossible to follow without verbose error messages, failing 1 test | ||||
* | Tracking logo and favicons | Yigit Sever | 2021-04-13 | 7 | -0/+0 |
| | |||||
* | Housekeeping | Yigit Sever | 2021-04-13 | 7 | -480/+528 |
| | | | | | | Moved tests out of routes.rs into their own file Learned how to use lib.rs, now we have cargo doc support as well | ||||
* | Update todo and readme | Yigit Sever | 2021-04-13 | 2 | -14/+12 |
| | |||||
* | implement user authentication using jwt | alpaylan | 2021-04-12 | 8 | -32/+374 |
| | |||||
* | six rightmost zeros for mining | alpaylan | 2021-04-12 | 2 | -4/+4 |
| | |||||
* | Add new TODO items | Yigit Sever | 2021-04-12 | 1 | -0/+5 |
| | |||||
* | Implement proof-of-work | Yigit Sever | 2021-04-12 | 10 | -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 dirs | Yigit Sever | 2021-04-12 | 1 | -0/+2 |
| | |||||
* | Update brag section | Yigit Sever | 2021-04-12 | 1 | -2/+1 |
| | |||||
* | Merge remote-tracking branch 'origin/main' | Yigit Sever | 2021-04-12 | 1 | -0/+10 |
|\ | |||||
| * | Add TODO items | yigit sever | 2021-04-11 | 1 | -0/+10 |
| | | | | | | | | Tests and verbose error messages | ||||
* | | Implement User handling and authentication | Yigit Sever | 2021-04-12 | 7 | -41/+237 |
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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 decisions | Yigit Sever | 2021-04-11 | 1 | -13/+21 |
| | |||||
* | Add auth scheme JWT | Yigit Sever | 2021-04-09 | 2 | -2/+8 |
| | |||||
* | Remove unused code and clean up comments | Yigit Sever | 2021-04-09 | 1 | -197/+18 |
| | |||||
* | Remove unused code from filters | Yigit Sever | 2021-04-09 | 1 | -5/+0 |
| | |||||
* | Add HTTP/1.1 resources to README | Yigit Sever | 2021-04-09 | 1 | -0/+4 |
| | |||||
* | Add test TODO items to routes | Yigit Sever | 2021-04-09 | 1 | -0/+4 |
| | |||||
* | Change tester to help with routes tests | Yigit Sever | 2021-04-09 | 0 | -0/+0 |
| | |||||
* | Add routes tests | Yigit Sever | 2021-04-09 | 1 | -0/+148 |
| | |||||
* | Remove old routes tests | Yigit Sever | 2021-04-09 | 1 | -276/+0 |
| | |||||
* | Add tags files to gitignore | Yigit Sever | 2021-04-09 | 1 | -0/+2 |
| | |||||
* | Remove unused code from routes | Yigit Sever | 2021-04-09 | 1 | -59/+4 |
| | | | | Original repo here: https://github.com/blurbyte/restful-rust | ||||
* | Make tester.sh executable | Yigit Sever | 2021-04-09 | 0 | -0/+0 |
| | |||||
* | Add todo item | Yigit Sever | 2021-04-09 | 1 | -0/+1 |
| | |||||
* | Cleared unused code from handlers | Yigit Sever | 2021-04-09 | 1 | -80/+0 |
| | | | | The original repo is here: https://github.com/blurbyte/restful-rust | ||||
* | Implement Block GET/PUT with new schema | Yigit Sever | 2021-04-07 | 8 | -56/+220 |
| | | | | | | | | | | | | | | - `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 picture | Yigit Sever | 2021-04-07 | 1 | -0/+24 |
| | |||||
* | Include big thank list | Yigit Sever | 2021-04-07 | 1 | -0/+4 |
| | |||||
* | Initial commit | Yigit Sever | 2021-04-07 | 12 | -0/+2118 |