{"id":18067569,"url":"https://github.com/geertjohan/diffsim","last_synced_at":"2025-10-04T07:03:22.829Z","repository":{"id":24553013,"uuid":"27959988","full_name":"GeertJohan/diffsim","owner":"GeertJohan","description":"Cryptocoin difficulty re-adjustment algorithm simulator","archived":false,"fork":false,"pushed_at":"2015-01-02T14:09:07.000Z","size":133,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T15:25:22.826Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeertJohan.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":"2014-12-13T12:28:29.000Z","updated_at":"2018-04-24T21:15:13.000Z","dependencies_parsed_at":"2022-08-22T23:40:26.085Z","dependency_job_id":null,"html_url":"https://github.com/GeertJohan/diffsim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GeertJohan/diffsim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeertJohan%2Fdiffsim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeertJohan%2Fdiffsim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeertJohan%2Fdiffsim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeertJohan%2Fdiffsim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeertJohan","download_url":"https://codeload.github.com/GeertJohan/diffsim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeertJohan%2Fdiffsim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262545028,"owners_count":23326657,"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-10-31T07:09:47.870Z","updated_at":"2025-10-04T07:03:17.788Z","avatar_url":"https://github.com/GeertJohan.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## diffsim\n\ndiffsim is a program that simulates a bitcoin network. Its main purpose is to test existing difficulty algorithms and assist in developing a new algorithm.\n\n### Install\n\nFirst install go: [https://golang.org/doc/install](https://golang.org/doc/install)\n\nUse the go tool to get and install the diffsim sources: `go get github.com/GeertJohan/diffsim`\n\n### Usage\n\nSimply run the application in a terminal. Use the `-v` flag to enable verbose logging.\n\n```\ndiffsim -v\n```\n\nThe application will ask you which algorithm and simulation to run.\nRight now only one simulation and one algorithm is available, but more will become available soon.\n\n### Contribute\nI accept pull requests containing new simulations or difficulty re-adjustment algorithms.\n\nIf you wish to change something, please open an issue first to discuss the change.\n\n### Example usage\n\n```\n$ diffsim\nWhich algorithm should be tested? \n1) DGW3\n\u003e 1\n\nPlease choose a simulation to run:\n1) Simple waves\n\u003e 1\n\nUsing Dark Gravity Wave 3 algo for Simple Waves simulation\nStarting simulation, enter 'help' for help on commands.\n\u003e 1\nLatest block diff: 110427836236357352041769395878404723568785424659630784333489133269811200, hashrate used for last block was: 7723\n\u003e 2\nLatest block diff: 110427836236357352041769395878404723568785424659630784333489133269811200, hashrate used for last block was: 7568\n\u003e 100\nLatest block diff: 110427836236357352041769395878404723568785424659630784333489133269811200, hashrate used for last block was: 6472\n\u003e 1000\nLatest block diff: 2777861570415274433432389690966477056895500698541819974748315312109962, hashrate used for last block was: 252086\n\u003e 100\nLatest block diff: 1801263199947073992204610835070877071294746243320012125156996004921323, hashrate used for last block was: 475108\n\u003e print 5\nblock 1199\n\ttimestamp:                 2014-09-03 03:40:00\n\tseconds since prev block:  0\n\tdifficulty:                1781060482977257282231265323979430191767359497440689752263342294388406\nblock 1200\n\ttimestamp:                 2014-09-03 03:42:35\n\tseconds since prev block:  2m35s\n\tdifficulty:                1785333944578041833317606548601373415166629870710145349216233202246177\nblock 1201\n\ttimestamp:                 2014-09-03 03:45:03\n\tseconds since prev block:  2m28s\n\tdifficulty:                1795507688585126191766410073401290330535419712823797789548443340845402\nblock 1202\n\ttimestamp:                 2014-09-03 03:47:18\n\tseconds since prev block:  2m15s\n\tdifficulty:                1803659974196706935994301852216352408780612255865393239985184514931351\nblock 1203\n\ttimestamp:                 2014-09-03 03:49:25\n\tseconds since prev block:  2m7s\n\tdifficulty:                1805471702557075653034577726268057997067030482506000202509322211730703\nblock 1204\n\ttimestamp:                 2014-09-03 03:51:40\n\tseconds since prev block:  2m15s\n\tdifficulty:                1801263199947073992204610835070877071294746243320012125156996004921323\n```\n\n\n#### Export\n\nWhat is in the exported csv file;\n - block ID\n - difficulty compacted bits??\n - difficulty human representation (e.g. 712.03)\n - seconds since previous block\n - time since previous block (human representation e.g. `1m 30s`)\n - full timestamp\n\n\n### License\nThis project is licensed under a Simplified BSD license. Please read the [LICENSE file][license].\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeertjohan%2Fdiffsim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeertjohan%2Fdiffsim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeertjohan%2Fdiffsim/lists"}