{"id":17876792,"url":"https://github.com/jamct/hyperledger-coffee","last_synced_at":"2025-04-03T00:28:28.567Z","repository":{"id":88853171,"uuid":"217276170","full_name":"jamct/hyperledger-coffee","owner":"jamct","description":"Private blockchain example based on Hyperledger Fabric","archived":false,"fork":false,"pushed_at":"2019-10-24T18:23:35.000Z","size":3,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-02-27T12:32:58.399Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamct.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-10-24T10:49:44.000Z","updated_at":"2024-06-19T08:10:07.580Z","dependencies_parsed_at":"2023-06-12T21:30:48.733Z","dependency_job_id":null,"html_url":"https://github.com/jamct/hyperledger-coffee","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2Fhyperledger-coffee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2Fhyperledger-coffee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2Fhyperledger-coffee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamct%2Fhyperledger-coffee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamct","download_url":"https://codeload.github.com/jamct/hyperledger-coffee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246915984,"owners_count":20854504,"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-28T11:34:51.882Z","updated_at":"2025-04-03T00:28:28.540Z","avatar_url":"https://github.com/jamct.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bürokaffeemaschine mit Hyperledger\n\nDies ist das Beispielprojekt zum c't-Artikel [\"Vertraue niemandem\"](https://ct.de/y8b9) aus c't 23/2019. Beschrieben wird, wie man den Putz- und Auffüllplan einer Bürokaffeemaschine in der Blockchain realisiert. Es dient als Einstiegsprojekt in das Open-Source-Blockchain-Framework Hyperledger.\n\n## Einrichtung\n\nDie detaillierte Einrichtung finden Sie im Artikel. Hier finden Sie alle Kommandozeilenbefehle zum Herauskopieren.\n\nDownload der Beispielumgebung von Hyperledger:\n\n```\ncurl -sSL http://bit.ly/2ysbOFE | bash -s\n```\n\nNavigieren Sie in den Unterordner \"fabric-samples/chaincode-docker-devmode\". Danach starten Sie den Sie das Setup:\n\n```\ndocker-compose -f docker-compose-simple.yaml up\n```\n\n## Code vorbereiten\n\nDen Code finden Sie in der Datei \"main.go\" in diesem Artikel im Ordner \"chaincode\". Legen Sie diese Datei in den Ordner \"fabric-samples/chaincode/coffee\".\n\nUm den Code auszuführen, müssen Sie in den Container springen:\n\n```\ndocker exec -it chaincode bash\n```\n\nDamit befinden Sie sich im Container und können den Code builden und dann ausführen:\n\n```\ncd coffee\ngo build\nCORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:0 ./coffee\n```\n\nIn einem neuen Terminalfenster in den Container \"cli\" springen:\n\n```\ndocker exec -it cli bash\n```\n\nChaincode initialisieren:\n\n```\npeer chaincode install -p chaincodedev/chaincode/coffee -n mycc -v 0\npeer chaincode instantiate -n mycc -v 0 -c '{\"Args\":[]}' -C myc\n```\n\n## Code ausführen\n\nBeispielnutzer anlegen:\n\n```\npeer chaincode invoke -n mycc -c '{\"Args\":[\"storeUser\", \"Max\"]}' -C myc\npeer chaincode invoke -n mycc -c '{\"Args\":[\"storeUser\", \"Klaus\"]}' -C myc\npeer chaincode invoke -n mycc -c '{\"Args\":[\"storeUser\", \"Claudia\"]}' -C myc\npeer chaincode invoke -n mycc -c '{\"Args\":[\"storeUser\", \"Peter\"]}' -C myc\npeer chaincode invoke -n mycc -c '{\"Args\":[\"storeUser\", \"Christine\"]}' -C myc\n```\n\nMaschine reinigen, auffüllen und Kaffee entnehmen:\n\n```\npeer chaincode invoke -n mycc -c '{\"Args\":[\"cleanMachine\"]}' -C myc\npeer chaincode invoke -n mycc -c '{\"Args\":[\"refillCoffee\"]}' -C myc\npeer chaincode invoke -n mycc -c '{\"Args\":[\"drawCoffee\", \"2\"]}' -C myc\n```\n\n\n## Vertiefung\n\nWer sich tiefer in die Materie einarbeiten will, kann sich Hyperledger Explorer ansehen. Damit kann man visualisieren, was in der Blockchain passiert:\n\n- https://www.hyperledger.org/projects/explorer\n- https://github.com/hyperledger/blockchain-explorer\n\n\nFür macOS und Windows gibt es das Projekt Chaincoder, das aktuell noch in der Beta-Phase ist. Die Oberfläche macht es einfacher, kompliziertere Projekte zu entwickeln und zu debuggen:\n\n- https://www.chaincoder.org/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamct%2Fhyperledger-coffee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamct%2Fhyperledger-coffee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamct%2Fhyperledger-coffee/lists"}