{"id":14956166,"url":"https://github.com/blakeziegler/ozone-blockchain","last_synced_at":"2026-01-23T13:47:23.233Z","repository":{"id":254053670,"uuid":"841775075","full_name":"blakeziegler/Ozone-Blockchain","owner":"blakeziegler","description":"IPFS compatiable blockchain using Akka actors and Akka clusters.","archived":false,"fork":false,"pushed_at":"2024-10-29T16:26:34.000Z","size":5717,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-14T11:59:55.108Z","etag":null,"topics":["akka","akka-actors","blockchain","cmake","cpp","crypto","cryptocurrency","cryptography","encryption","ipfs","ipfs-api","ipfs-blockchain","openssl","sbt","scala","sha256"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blakeziegler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-08-13T02:49:45.000Z","updated_at":"2024-10-29T16:26:37.000Z","dependencies_parsed_at":"2024-12-03T14:57:29.981Z","dependency_job_id":"0c701b86-d186-48ef-8074-906dd848df18","html_url":"https://github.com/blakeziegler/Ozone-Blockchain","commit_stats":{"total_commits":21,"total_committers":2,"mean_commits":10.5,"dds":"0.23809523809523814","last_synced_commit":"f50c61bef20bf972a98c2511104e3bd08d5a37d8"},"previous_names":["blakeziegler/ozone-blockchain"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakeziegler%2FOzone-Blockchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakeziegler%2FOzone-Blockchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakeziegler%2FOzone-Blockchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blakeziegler%2FOzone-Blockchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blakeziegler","download_url":"https://codeload.github.com/blakeziegler/Ozone-Blockchain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234718266,"owners_count":18876342,"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","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":["akka","akka-actors","blockchain","cmake","cpp","crypto","cryptocurrency","cryptography","encryption","ipfs","ipfs-api","ipfs-blockchain","openssl","sbt","scala","sha256"],"created_at":"2024-09-24T13:12:25.525Z","updated_at":"2025-10-01T15:31:02.092Z","avatar_url":"https://github.com/blakeziegler.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ozone Blockchain\n\n![v1.1.0](https://img.shields.io/badge/version-v1.1.0-blue)\n\n\n\nOzone is an entirely self-developed blockchain compatiable with IPFS to ensure continued decentralization.\n\n\n## Breakdown\n\n#### BLOCK_ARC:\n- block.cpp - Defines block contents, manages hash generation, defines print parameters.\n- blockchain.cpp - Initialized genesis block, manages and validates chain.\n- hash_utils.cpp - Manages hash/key/signiture generagtion and calculation. \n- ipfs_utils.cpp - Uploads data to ipfs from a given node.\n- proof_of_work.cpp - Outlines mining system, hash difficulty, and nonce creation,\n- transaction.cpp - Defines transaction structure.\n\n#### NETWORKING:\n - ipfs_actor.scala - Grabs dats from ipfs http link with specific hash (hard-encoded as of now).\n - ipfs_dispatch.scala - Transmits transactions to all nodes on the network.\n - node_actor.scala - Defines node paths and how data is read at nodes. \n\n *see more in: OzoneDocs.md*\n\n## Install\n\nClone the Repository:\n```\ngit clone https://github.com/blakeziegler/Ozone-Blockchain.git\n```\n\n#### Ensure Dependencies are Installed:\n\n- C++ version 17+\n    - CMake version 3.10+\n    - Conan\n    - OpenSSL\n- Scala version 3\n    - SBT\n    - Akka\n- IPFS\n\n#### Getting Started:\n\n***Testing the Blockchain***\n\nIn the /Ozone-Blockchain Directory:\n\nCreate a Cmake file by running the command:\n```\ntouch CMakeLists.txt\ntouch conanfile.txt\n```\n\n\nMake a Private and Public Blockchain Key:\n```\nopenssl genpkey -algorithm RSA -out private_key.pem -aes256\nopenssl rsa -in private_key.pem -pubout -out public_key.pem\n```\nCopy and Paste your Keys into main.cpp in the Space Provided\nSee your Keys with the following commands:\n```\ncat private_key.pem\ncat public_key.pem\n```\n\n***Note: Do NOT add changes to git with your keys in main.cpp***\n\n\nMake and Open a build Directory:\n```\nmkdir build\n```\n\nInstall Dependencies Using Conan *(See conanfile.txt template before installing)*\n```\nconan install . --output-folder=build --build=missing -s build_type=Release\n```\n\nBuild Project with CMake *(See CMakeLists.txt template before building):*\n```\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=Release\nmake\n```\n\n\nRun the Program:\n```\n./ozone\n```\n\n#### CMakeLists.txt Template\n```\ncmake_minimum_required(VERSION 3.10)\nproject(ozone)\n\nset(CMAKE_CXX_STANDARD 17)\nset(CMAKE_CXX_STANDARD_REQUIRED ON)\n\ninclude(${CMAKE_BINARY_DIR}/conan_toolchain.cmake)\n\nadd_executable(ozone\n    block_arc/main.cpp\n    block_arc/block.cpp\n    block_arc/hash_utils.cpp\n    block_arc/proof_of_work.cpp\n    block_arc/transaction.cpp\n    block_arc/ipfs_utils.cpp\n    block_arc/blockchain.cpp\n)\nfind_package(OpenSSL REQUIRED)\nfind_package(CURL REQUIRED)\nfind_package(ZLIB REQUIRED)\nfind_package(CPR REQUIRED)\n\ntarget_link_libraries(ozone\n    OpenSSL::SSL\n    OpenSSL::Crypto\n    CPR::cpr\n    CURL::libcurl\n    ZLIB::ZLIB\n)\n```\n\n#### conanfile.txt Template\n```\n[requires]\ncpr/1.10.5\nopenssl/3.1.0\nzlib/1.2.11\nlibcurl/7.68.0\n\n[generators]\nCMakeToolchain\nCMakeDeps\n```\n\n#### IPFS Testing:\n*coming soon*\n\n## Contributions\n\n*coming soon*\n\n\n\n \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblakeziegler%2Fozone-blockchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblakeziegler%2Fozone-blockchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblakeziegler%2Fozone-blockchain/lists"}