{"id":19481833,"url":"https://github.com/fossable/turbine","last_synced_at":"2025-04-25T15:32:32.135Z","repository":{"id":205521040,"uuid":"712200641","full_name":"fossable/turbine","owner":"fossable","description":"Cryptocurrency for commits!","archived":false,"fork":false,"pushed_at":"2024-08-17T17:33:43.000Z","size":281,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-31T11:57:18.219Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fossable.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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":"2023-10-31T01:58:28.000Z","updated_at":"2024-08-17T17:33:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"7df16a2d-3ccb-486e-9a13-6e039d9d703a","html_url":"https://github.com/fossable/turbine","commit_stats":null,"previous_names":["fossable/turbine"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossable%2Fturbine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossable%2Fturbine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossable%2Fturbine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fossable%2Fturbine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fossable","download_url":"https://codeload.github.com/fossable/turbine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224007968,"owners_count":17240293,"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-10T20:06:45.494Z","updated_at":"2024-11-10T20:06:48.557Z","avatar_url":"https://github.com/fossable.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://raw.githubusercontent.com/fossable/turbine/master/.github/images/turbine-256.png\" /\u003e\n\u003c/p\u003e\n\n![License](https://img.shields.io/github/license/fossable/turbine)\n![Build](https://github.com/fossable/turbine/actions/workflows/test.yml/badge.svg)\n![GitHub repo size](https://img.shields.io/github/repo-size/fossable/turbine)\n![Stars](https://img.shields.io/github/stars/fossable/turbine?style=social)\n\u003chr\u003e\n\n**turbine** distributes cryptocurrency to contributors of git repos.\n\n### Beyond bug bounties!\n\nIssue bounties can be counterproductive as they discourage collaboration and\noften attract minimum-quality solutions.\n\nInstead of rewarding specific contributions like bug bounties, **turbine**\nreduces unfriendly competition by rewarding _all_ contributions. Multiple\nauthors can even work on the same issue and all get paid independently.\n\n### Award amount scales over time rather than with change complexity\n\nAlthough a complex change might deserve a larger award than a minor typo fix,\n**turbine** doesn't factor the magnitude of changes. Instead, a developer's award\namount starts out small and increases over time as they make more contributions.\n\nThis incentivizes contributors to stick around and break their changes up into\nsmaller chunks (which is often good for other reasons too).\n\nIt's up to the discretion of the person that merges PRs to make sure contributors\naren't unfairly boosting their rewards. In the unbelievable event that such an injustice\noccurs, maintainers can cancel payouts or ban contributors.\n\n### What if the `turbine` owner steals the project's funds?\n\nSince `turbine` is self-hosted, the crypto wallet is fully under control of the\nproject owner. We have to trust them not to misuse funds deposited in `turbine`,\njust like we have to trust them not to include a backdoor in the software (for example).\n\n### Funding directly impacts development\n\nWhen you fund a project's `turbine`, those funds directly support further development\nof that project. It's entirely up to the maintainer what issues get worked on,\nunlike the bug bounty model.\n\n## Using `turbine` as a funder\n\nFirst, you need to find a repository that's hosting a `turbine`. Here are some examples:\n\n- https://turbine.goldboot.org\n\nThe `turbine` homepage has the crypto wallet address that allows you to add funds.\n\n## Using `turbine` as a contributor\n\nAll contributor commits must be GPG signed (because otherwise someone could\nimpersonate your name in git history).\n\n### Generate a GPG keypair\n\nIf you don't already have a GPG keypair, generate a new one:\n\n```sh\ngpg --full-generate-key\n```\n\nMake sure to use the same email address as your git config: `git config user.email`.\n\n### Setup commit signing\n\nTurn on commit signing globally (or on a per-repo basis):\n\n```sh\ngit config --global commit.gpgsign true\ngit config --global user.signingkey \u003cpublic key ID\u003e\n```\n\n### Send your public key to a keyserver\n\nTo allow `turbine` to find your public key and verify commits, upload it to this\nkeyserver:\n\n```sh\ngpg --keyserver hkp://keyserver.ubuntu.com --send-keys \u003cpublic key ID\u003e\n```\n\n### Commit your payment address\n\nAdd your payment address to a signed commit message so `turbine` knows who to pay.\nIf you ever update your GPG key or wallet address, this commit can be made multiple\ntimes and the last one takes effect.\n\n```sh\ngit commit --allow-empty -m \"turbine: XMR \u003cwallet address\u003e\"\n```\n\n### Start contributing!\n\nContribute as normal and `turbine` will pay you automatically.\n\n## Running your own `turbine`\n\n`turbine` is fully dockerized and requires no persistent state.\n\n### Monero\n\nSo far `turbine` only supports Monero, but other currencies can be supported later.\n\n```sh\ndocker run \\\n    -e MONERO_WALLET_ADDRESS=\u003caddress\u003e \\\n    -e MONERO_WALLET_SPENDKEY=\u003cprivate key\u003e \\\n    -e MONERO_WALLET_VIEWKEY=\u003cprivate key\u003e \\\n    fossable/turbine \\\n        --stagenet \\\n        --repo \u003crepo clone URL\u003e \\\n        --branch master \\\n        --monero-block-height \u003cwallet restore height\u003e \\\n        --monero-wallet-password 1234\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffossable%2Fturbine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffossable%2Fturbine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffossable%2Fturbine/lists"}