{"id":21459203,"url":"https://github.com/citp/mining_simulator","last_synced_at":"2026-03-05T18:31:35.236Z","repository":{"id":50337455,"uuid":"63736224","full_name":"citp/mining_simulator","owner":"citp","description":"Simulation framework for non-standard mining strategies","archived":false,"fork":false,"pushed_at":"2021-12-13T10:02:08.000Z","size":242,"stargazers_count":51,"open_issues_count":2,"forks_count":25,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-04-16T10:11:02.813Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/citp.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-20T00:13:24.000Z","updated_at":"2024-03-14T11:34:52.000Z","dependencies_parsed_at":"2022-09-15T23:51:36.039Z","dependency_job_id":null,"html_url":"https://github.com/citp/mining_simulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citp%2Fmining_simulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citp%2Fmining_simulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citp%2Fmining_simulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citp%2Fmining_simulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/citp","download_url":"https://codeload.github.com/citp/mining_simulator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226012062,"owners_count":17559614,"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":[],"created_at":"2024-11-23T06:27:24.714Z","updated_at":"2026-03-05T18:31:30.210Z","avatar_url":"https://github.com/citp.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Bitcoin Mining Simulator\n=======\n\nThis is a simulator intended for testing non-default bitcoin mining strategies.\n\nInstallation\n------------\n\nThe Bitcoin Mining Simulator has been developed and tested on Mac OS X 10.11.4.\nThis software is currently setup to be run using Apple's Xcode IDE.\n\nThe code is dependent on the GNU Scientific Library (https://www.gnu.org/software/gsl/).\nThe xcode project file expects the headers to be located at /usr/local/include and the\nlibrary files to be located at /usr/local/lib so these must be updated if your\nconfiguration differs.\n\nThe code for the mining simulator is written in standard C++14. In the future we will\nrelease this code with a makefile so that it is easily compilable in a\ncross-platform manner.\n\nUsage\n-----------\n\nmain.cpp inside of the StratSim folder is the main code example\nfor usage of this simulator.\n\nThe code is generally designed around the idea of mining strategies. Each\nmining strategy prescribes set behaviors for a mining. We then create a set of\nminers with configurable hash rate, cost per hash, and network latency. These\nminers then compete to mine on a simulated blockchain with configurable block\nreward and transaction fee accumulation rate.\n\nIn the future we will release more documentation and code examples for usage\nof this software.\n\nOutput of Example Code\n------------------------\nStratSim produces a folder which includes a file for each miner that is competing\nto mine blocks. This simulation works by running a series of simulations where\nminers choose to use the strategy that they believe to be most effective. Each\noutput file gives a list of the percentage of miners who used the given strategy\nin each round. This demonstrates the idea that miners will either all converge to\nan optimal strategy or oscillate between strategies when there is no equilibrium.\n\nSelfishSim evalutates the effectiveness of the selfish mining strategy. It\nproduces a single file which contains the percentage profit earned by the\nselfish miner given the percentage of hash power which it controls. \n\nDisclaimer\n-----------\n\nNote that the Bitcoin Mining Simulator is under active development, and should\nbe considered experimental software.\n\nAlthough the Bitcoin Mining Simulator is actively used by our group for research\nstudies, it is still possible there are unknown bugs in the simulator. We plan on \nwriting comprehensive tests to verify the results of all included components.\nPrior to using the Bitcoin Mining Simulator for your own research we encourage\nyou to write tests (and submit pull requests!) for any testing that isn't\ncurrently included in our test scripts.\n\nLicense\n-------\n\nBitcoin Mining Simulator is licensed under GNU GPLv3. Additional code has been included from\n[arithmetic_type](https://github.com/gnzlbg/arithmetic_type) which is licensed Boost Software License Version 1.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitp%2Fmining_simulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcitp%2Fmining_simulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitp%2Fmining_simulator/lists"}