{"id":19316614,"url":"https://github.com/wisskirchenj/myblockchain","last_synced_at":"2025-09-06T18:49:14.714Z","repository":{"id":110253535,"uuid":"472868776","full_name":"wisskirchenj/MyBlockchain","owner":"wisskirchenj","description":"Blockchain centered multithreaded simulation with miners and clients","archived":false,"fork":false,"pushed_at":"2024-04-22T16:35:48.000Z","size":247,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T04:42:10.082Z","etag":null,"topics":["blockchain","cryptography","generic-programming","java17","multithreaded","rsa-signature"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wisskirchenj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-22T17:31:14.000Z","updated_at":"2024-04-22T16:35:52.000Z","dependencies_parsed_at":"2024-11-10T01:12:06.313Z","dependency_job_id":"1cc8ee42-b7c3-4df5-9673-9595f3135d5d","html_url":"https://github.com/wisskirchenj/MyBlockchain","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wisskirchenj/MyBlockchain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2FMyBlockchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2FMyBlockchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2FMyBlockchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2FMyBlockchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wisskirchenj","download_url":"https://codeload.github.com/wisskirchenj/MyBlockchain/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2FMyBlockchain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273948538,"owners_count":25196395,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","cryptography","generic-programming","java17","multithreaded","rsa-signature"],"created_at":"2024-11-10T01:12:01.350Z","updated_at":"2025-09-06T18:49:14.672Z","avatar_url":"https://github.com/wisskirchenj.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IDEA EDU Course ...\n\nImplemented in the Java \u003cb\u003eCore\u003c/b\u003e Track of hyperskill.org's JetBrain Academy.\n\nPurpose of doing this project, is getting familiar with the fascinating and more and more relevant\nblockchain stuff. Moreover, generic programming, streaming, multithreading, hashing and cryptography \ntopics are investigated.\n\n## Repository Contents\n\nBeside the sources of main project tasks (6 stages), all relevant Topic-associated development tasks of the academy \ncourse path are included.\n\n## Program description\n\nThe application runs without user input and must be configured by setting constants in the BlockchainConfig-class.\nIn particular the desired blockchain length and the block data mode (select between Chat-messages and bitcoin-simulating\ntransactions) should be verified and set.\n\nAfter starting the program it looks for a serialized blockchain under the configured path, deserializes and validates\nit and either clears the chain or continues block creation until the given goal is reached. As soon as miners start\ncompeting block creations, the Controller starts client threads who asynchronously and send randomly timed and generated\nRSA-signed chat messages or transactions based on circulating bitcoins (called VC) - depending on the chosen mode.\nEach newly created block takes all the client data queued during creation of the previous block as block data.\n\nThe creation time and complexity is self-balanced: If creation time is below or above some configurable second range,\nthe creation complexity is increased by requiring the miners to provide a SHA256 hash for the block's data with one more\nleading zero. this is achieved by integrating a random Integer number (the magic number) in the block's string representation\nthat is cryptographically hashed..\n\nEnjoy!\n\n## Project completion\n\nProject was completed on 07.04.22.\n\n## Progress\n\n22.03.22 Project started. IDEA-setup and first repo.\n\n23.03.22 Stage 1 completed, basic OOD according to MVC with BlockFactory\n\n26.03.22 Stage 2 completed, Factory Method pattern, Serialization added\n\n29.03.22 Stage 3 completed, block creation in thread pool with load balancing\n\n02.04.22 Stage 4 completed, asynchronous message queue with posting client threads, chat history stored as block data in blockchain\n\n05.04.22 Stage 5 completed, creating RSA keypair per Chat user, signing and verifying messages, unique id\n\n06.04.22 Stage 6 completed, blockchain can now run in transaction, bitcoin mode OR chat mode.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fmyblockchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwisskirchenj%2Fmyblockchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fmyblockchain/lists"}