KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
gitcash
★ 18
Open GitHub ↗
A git based payment system
Download README (.md)
Explore Similar Repositories
python-snake
:
No description available.
gwkjs
:
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
rinha-compiladores
:
rinha-compiladores
include-wgsl-oil
:
Includes a wgsl file with the `naga-oil` preprocessor.
menano
:
No description available.
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
gitcash
?
Download (.md)
# GitCash: A Git based payment system GitCash is a Git based payment system primarily targeted at hackerspaces and similar groups. It is being developed by [Coredump](https://www.coredump.ch/) in collaboration with other Swiss hackerspaces. ## High-Level Goals - Money enters the system by putting cash into a cash box and crediting yourself that amount in the payment system. That credit can then be used to pay for goods. - Decentralized storage format for transactions in a repository. - Insecure but transparent: There is no authentication, but all transactions are transparent and public (if you have access to the repository). ## How it works Transactions are stored as TOML snippets in Git commit messages. Every commit contains 1 transaction (or none at all). This has a few advantages: - We an use a regular Git server (GitLab, Gitea or even just a repo reachable by SSH) - The integrity is ensured through Git hashes - The transactions are ordered in the Git DAG - Transactions can be validated using a pre-push hook on the server - Conflicts can be resolved by merging - You could create transactions "by hand" - Commits could be signed Transactions in the repository can be created or analyzed by any node that has access to the repository. ## Use cases for nodes - **Fridge**: Pay for drinks at the fridge by scanning the barcode - **Laser Cutter**: Pay for laser cutter time by starting and stopping your session on a touch panel - **3D Printer**: Pay for your 3D prints by putting your print on an electronic scale and entering your name and the material on a touch panel - **Notification Monitor**: Whenever money is deduced from your account, you get a notification - ... and many more! Not all nodes might have the processing power to be a "full node" that can parse the Git repository. For these use cases, a small server could accept new transactions over a simple API and write them to the repository. ## Storage format / specification See `docs/spec.md`. ## Demo repository See <https://github.com/coredump-ch/gitcash-demo-repo>. ## SDK and reference implementation - `libgitcash`: Library / SDK that can be used for processing a GitCash repository - `gitcash`: A CLI client for GitCash ## History GitCash was brainstormed and initially developed at CCC Camp 2023. Special thanks to some of the people from Luxeria for giving feedback on the initial design! ## License Licensed under the AGPL version 3 or later. See `LICENSE.md` file. Copyright (C) 2023 Coredump Rapperswil-Jona This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.