{"id":23527177,"url":"https://github.com/mit-dci/cryptokernel","last_synced_at":"2025-04-22T14:25:40.272Z","repository":{"id":56570004,"uuid":"61150511","full_name":"mit-dci/CryptoKernel","owner":"mit-dci","description":"A SDK for implementing blockchain-based digital currencies","archived":false,"fork":false,"pushed_at":"2020-10-30T23:29:30.000Z","size":10242,"stargazers_count":175,"open_issues_count":3,"forks_count":64,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-04-06T11:03:09.139Z","etag":null,"topics":["blockchain","cryptocurrency","cryptography","digital-currency","lua","peer-to-peer","proof-of-stake","proof-of-work","schnorr-signatures","smart-contracts"],"latest_commit_sha":null,"homepage":"https://cryptokernel.org","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/mit-dci.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}},"created_at":"2016-06-14T19:35:11.000Z","updated_at":"2025-01-11T10:53:32.000Z","dependencies_parsed_at":"2022-08-15T21:10:21.616Z","dependency_job_id":null,"html_url":"https://github.com/mit-dci/CryptoKernel","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mit-dci%2FCryptoKernel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mit-dci%2FCryptoKernel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mit-dci%2FCryptoKernel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mit-dci%2FCryptoKernel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mit-dci","download_url":"https://codeload.github.com/mit-dci/CryptoKernel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250257313,"owners_count":21400697,"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":["blockchain","cryptocurrency","cryptography","digital-currency","lua","peer-to-peer","proof-of-stake","proof-of-work","schnorr-signatures","smart-contracts"],"created_at":"2024-12-25T20:12:35.611Z","updated_at":"2025-04-22T14:25:40.255Z","avatar_url":"https://github.com/mit-dci.png","language":"C++","readme":"CryptoKernel\n============\n\nCryptoKernel is a C++ library intended to help create blockchain-based digital currencies. It contains modules for key-value storage with JSON, peer-to-peer networking, ECDSA \u0026 Schnorr key generation, signing and verifying, big number operations, logging and a blockchain class for handling a Bitcoin-style write-only log. Designed to be object-oriented and easy to use, it provides transaction scripting with Lua 5.3, custom consensus algorithms (e.g Proof of Work, Authorised Verifier Round-Robin) and custom transaction types. \n\nK320\n------------------------\nWe have used Cryptokernel to implement an experimental digital currency called K320. Its name derives from its monetary policy – Milton Friedman’s K% rule at a rate of 320 basis points or 3.2% growth per year (https://en.wikipedia.org/wiki/Friedman%27s_k-percent_rule). This known rate removes the need for trust in the decisions of a central authority, making monetary supply policy completely transparent. K320 is designed to build up the initial money supply relatively quickly then switch to the K% rule for monetary growth. \n\nIn K320, blocks are produced every 2.5 minutes. The block reward starts at 100 coins per block, diminishing for 8 years until the year 2025 at block 1,741,620 and a supply of 68,720,300 coins. At this point the block reward switches to a constant 3.2% per year. At 210,240 blocks per year, that is .0000152% of total supply per block as reward. For example, the first block reward after the switch to the constant reward rate will be ~10.45; (0.000000152*68,720,300). For a more detailed description of this see: https://github.com/mit-dci/CryptoKernel/blob/master/src/client/multicoin.cpp#L80\n\nK320 is currently implemented by default when you run the CryptoKernel software.\n\nBuilding on Ubuntu 16.04\n------------------------\n\n```\n./installdeps.sh\npremake5 gmake2\nmake\n```\n\nThe resulting binary will be in the `bin/Static/Debug` directory. \n\nIt is also possible to compile with other options. See `make help` and `premake5 --help`\nfor a list.\n\nUsage\n-----\nSee the source files in src/client/ for example usage. CryptoKernel ships with a Proof of Work coin built-in called K320 that works out of the box. For more information about the API check the documentation.\n\nTo launch CryptoKernel as K320 with its default setup, simply write:\n\n```\n./ckd\n```\n\nTo get a list of command line RPC commands use:\n```\n./ckd help\n```\n\nTo make ckd run in daemon mode use:\n```\n./ckd -daemon\n```\n\nAPI Reference\n-------------\n\nBuild the documentation with doxyblocks.\n```\npremake5 gmake2 --with-docs\nmake\n```\n\nRoadmap\n===\n\n(in no particular order)\n\n- Load external contract code to avoid duplication\nwhen propagating contracts\n- Standardised address format (not just public keys)\n- BFT consensus module\n- Raft consensus module\n- Proof of Stake consensus module\n- HD key generation\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmit-dci%2Fcryptokernel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmit-dci%2Fcryptokernel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmit-dci%2Fcryptokernel/lists"}