- Smart Contracts for Behaviour Validation.
- Fabrizio Catinella
- 2322021C
- Inglis,P
- This file contains the time log for your project. It will be submitted along with your final dissertation.
- YOU MUST KEEP THIS UP TO DATE AND UNDER VERSION CONTROL.
- This timelog should be filled out honestly, regularly (daily) and accurately. It is for your benefit.
- Follow the structure provided, grouping time by weeks. Quantise time to the half hour.
- 0.5 hour Created Bitbucket Repo for dissertation and project.
- 0.5 hour Inserted Timelog to track progress.
- 0.5 hour Set up JIRA for issue tracker when developing application.
- 2 hours Create question list for first meeting.
- 1 hour Read reading material "Blockchain and Smart Contracts" & taken notes.
- 2.5 hours Read reading material "Making Smart Contract Smarter" & taken notes.
- 3 hours Read reading material "Smart Contract Development Model and the Future of Blockchain Technology and taken extensive notes.
- 3 hours Read reading material - finalised all notes and have a decent overview of how to implement the system. Just need to refine the concepts into a structure and code it.
- 1 hour Prepared for tomorrow's meeting by highlighting questions of interest.
- 0.5 hour Had the second meeting with my adviser and gave him access to the project's bitbucket.
- 0.5 hour Downloaded Template for dissertation and created overleaf to start writing.
- 2 hours Started inital writting for dissertation.
- 1 hour Setup issue timeline and outlined structure for project in python.
- 0.5 hour Created meeting report for adviser.
- 2 hours Researched Python based project structures and correct practices for setting up the project
- 0.5 hours Commited basic python structure for the project.
- 2 hours Started block class and implemented make file for easy dependancy installation.
- 2 hours Started making unit test for block class and researched good practices for testing in python.
- 0.5 hours Created CI/CD pipeline for testing when pushing to repository.
- 0.5 hours Created blockchain class to manage blockchain state.
- 2 hours Updated blockchain class to check for chain integrity. Unit tests were also provided.
- 0.5 hours Debugged issues with pipeline and failed builds.
- 3 hours Updated blockchain class to now have a proof of work algorithm.
- 1 hours Updated pipeline to have a runner on local server.
- 1 hours Started basic research on sockets in python.
- 3 hours Implemented networking methods for client and server
- 3 hours Debugging networking methods for P2P server
- 1 hours Debugging networking methods for P2P server
- 1 hours Implemented Tests for P2P server
- 7 hours Refactoring P2P Server so Peer class can be used to connect and threads are handled more nicely
- 4 hours More refactoring, of P2P Networking, need to do MVP and move on to SmartContracts.
- 3 hours Worked on disertation outline for project.
- 3 hours Worked on more messaging for P2P networking, found bug when connecting two peers at the same time
- 4 hours Added send and broadcast commands, however, bug still not fixed, going to check the connect sequence
- 3 hours Researched more on the background for the dissertation writting. Specifically on how to write background research.
- 6 hours Researched more on background, found some great papers and have added them to citations manager."
- 3 hours Tested P2P implementation on remote server and ironed out bugs on linux based systems."
- 3 hours Implemented data handler thread to handle incomming netowrking feeds.
- 1 hour Re-reading the lit to make sure objective was consistent.
- 8 hours Implemented state passing between peers such as the blockchain for each peer.
- 1 hour Quick update to consensus algorithm, perform validity checks on incoming blockchain and choose longest blockchain as main.
- 1 hour Another update to consesnsus algorith, working out how to pass blockchain state to other peers and create tests for it.
- 3 hours More background research and writing down notes.
- 1 hours Tested python remote code execution using exec method.
- 3 hours Added automatic handling for new connected peers to request applications state from them.
- 4 hours Added mine functionality to propogate newly mined blocks through the network. Need to do more testing.
- 8 hours started writing motivation for disseration.
- 10 hours started writting background for disseration.
- 5 hours updating more on background for more info
- 6 hours Spent more time writting the disseration.
- 10 hours Implemented most of the smart contract functionality. Just need to implement peer validation.
- 4 hours Writting dissertation design phase.
- 7 hours Designing testing suite to gather metrics for evaluation.
- 8 hours Designing test suite more so and fixed bug with conesensus algorithm for multiple miners.
- 8 hours debugging test suite and ensuring blockchain works with processes
- 6 hours refining test suite and fixing more bugs.
- 6 hours writing motivation to dissertation
- 5 hours finished motivation working on background
- 7 hours still working on background
- 9 hours most of background completed, added feature branch for encryption too
- 3 hours finished off background, moving on to requirements
- 2 hours merging encrpytion branch to main
- 3 hours started requirements/analysis section
- 7 hours Continued writing requirements/analysis section
- 8 hours Finished writting requirements/analysis section
- 8 hours Writting the design section of my dissertation
- 6 hours Finished writting design section of dissertation.
- 1 hours Started writing implementation details on dissertaion
- 7 hours fixed networking bug.
- 8 hours Continued writting implementation of blockchain on disseration.
- 5 hours Revisited design section of dissertation.
- 4 hours Started within implementation section
- 8 hours Writting halfway though implementation
- 5 hours Still writting implementation section
- 8 hours Implemented evaluation suite for throughput analysis
- 4 hours Attempted network bug fix, no success
- 6 hours Fixed network bug, gathering data for report
- 8 hours automated graph building for project
- 5 hours Started writting the evaluation
- 8 hours Continued writting the evaluation
- 8 hours Finished touching up implementation and wrote conclusion
- 5 hours Coverated dissertation from word to LaTex
- 3 hours Worked on power point presentation
- 8 hours Continual refinement and edits to final dissertation
- 12 hours Tidy up code base and compile project together
- 7 hours final edits to dissertation
- 3 hours Worked on presentation