ROFL:GitHubのREADMEが台帳になるビットコインライクチェーンの作り方
GitHubプロフィールREADMEを「カノニカル台帳」として使うビットコインライクな実験チェーンです。マイニングのProof of WorkがSHA256ハッシュではなく部分和(subset-sum)問題を使うため、良いソルバーを書けた人が有利になる設計が特徴です。
GitHubで急上昇中の ram0verflow/ram0verflow をご紹介します。 スター数 52★ を獲得し、CLI分野で注目されているユニークなブロックチェーン実験プロジェクトです。
ROFLとは?GitHubをブロックチェーン台帳にするユニークな実験
ROFLは「GitHubのプロフィールREADMEをブロックチェーンの台帳として使う」という発想から生まれたPythonプロジェクトです。ブロックをマイニングするとGitHub Actionsが自動でREADMEのブロック高・残高・トランザクション一覧を更新します。
ROFLコインは金銭的価値を持ちませんが、52スターとフォーク31件を獲得しており、ブロックチェーン技術の仕組みを実際に手を動かして理解したいエンジニアから支持されています。既存のGitHub Actions・プロフィールREADMEのエコシステムをフル活用した設計はハッカーらしい発想で、日本語での詳細解説はまだありません。
こんな人におすすめ:
- エンジニア向け: PythonとブロックチェーンのProof of Workを実際に動かしながら学びたいエンジニアに最適です
- 非エンジニア向け: Pythonの基礎知識とGitHubの操作が必要なため、エンジニア専用ツールです
主な機能・特徴
- READMEを台帳として使用: GitHubプロフィールREADMEがブロック高・残高・直近ブロックを自動表示する台帳になる
- 部分和PoW: SHA256ハッシュではなくsubset-sum問題をProof of Workに使用。良いソルバーが優位に立てる
- GitHub Actions自動ノード: GitHub Actionsがブロック検証・README更新・マイニングノード役割を担う
- ウォレット機能:
wallet.pyでEd25519鍵ペアを生成、残高確認・送金が可能 - フォーク可能な独自チェーン: このリポジトリをフォークして自分だけのROFLライクチェーンを数分で起動できる
使い方・始め方
既存チェーンへの参加(マイニング)
まずPython環境を用意します。
git clone https://github.com/ram0verflow/ram0verflow.git
cd ram0verflow
pip install -r requirements.txt # 依存関係のインストール
ウォレットを作成します。
python3 wallet.py new
# → rofl-wallet.json が生成される(秘密鍵を含む・Gitignore済み)
マイニングを開始します。
python3 miner.py
マイニング成功後、rofl-block-v1: から始まる文字列が出力されます。GitHubの Mine a block Issueにコメントとして貼り付けると、GitHub Actionsが検証してブロックをチェーンに追加します。
独自チェーンの立ち上げ
自分のGitHubプロフィールリポジトリ(yourusername/yourusername)で独自チェーンを始めるには以下の手順です。
python3 wallet.py new
python3 make_genesis.py \
--miner yourusername \
--message "あなたのジェネシスメッセージ(最大80バイト)" \
--address rofl1...your-address...
ジェネシスブロックのメッセージは永久に変更不可なので慎重に選びましょう。
python3 verify.py # ブロックチェーンの検証
活用事例
ケース1:ブロックチェーン技術の学習
バックエンドエンジニアが 実際にコインを「マイニング」することでProof of Workの仕組みを体験学習します。部分和問題という数学的課題がPoWになっているため、「なぜASIC耐性があるか」「なぜCPUパワーよりアルゴリズムが重要か」を実感できます。ブロックチェーン入門書よりも動く実装で学ぶ方が記憶に残ります。
ケース2:GitHubプロフィールのユニークな演出
フリーランスエンジニアやGitHub芸人が 自分のプロフィールページに独自コインの台帳を表示し、自分のフォロワーにマイニングへの参加を招待します。ブロックには任意のメッセージを記録できるため、プロジェクトのマイルストーンや名言をオンチェーンに永続記録する使い方もあります。
ビットコインやEthereum・他の学習用チェーンとの違い・なぜ今このツールか
最大の差別化点はインフラ不要という設計です。従来のブロックチェーン学習ツールはノードをVPSで動かしたりDockerを立ち上げたりする手間が発生しますが、ROFLはGitHub Actions + プロフィールREADMEだけで完結します。
PoWにSHA256ではなく部分和問題を使う点もユニークです。部分和問題は「ハードウェアを強化しても比例して有利にならない」という特性があり、アルゴリズムの質が勝負を決めます。これにより「PoWはハッシュパワーゲームである」というビットコインの特性からあえて離れた設計になっています。
2026年現在、ブロックチェーンの仕組みをゼロコストで体験できるツールとして注目が集まっています。
こんな人に向いている
Pythonエンジニア・ブロックチェーン入門者
ブロックチェーンの仕組みを理論ではなく実装で理解したいPythonエンジニアに最適です。wallet.py・miner.py・verify.pyといったシンプルなスクリプト群を読むだけでも、署名・ハッシュ・合意形成の基本が把握できます。
GitHubヘビーユーザー・OSS開発者
GitHubプロフィールページを個性的にカスタマイズしたいエンジニアにもおすすめです。READMEが動的な台帳になるという体験は、GitHub Actionsの活用方法としても学習価値があります。
PoWアルゴリズム研究者・競技プログラマー
部分和問題を使ったPoWは学術的にも興味深い選択で、より効率的なソルバーを書くことがマイニング優位性につながります。競技プログラマーが自分のアルゴリズムをマイニングで試す実験場として活用できます。
使う前に知っておきたいこと
技術的制限と注意点
- ROFLコインに金銭的価値はありません: 「ROFL coins are worth nothing and always will be」と明記されています。投資目的での利用は想定外です
- GitHub Actionsのクォータ制限: ブロック検証にGitHub Actionsを使うため、月間の実行時間制限に引っかかる場合があります
- ジェネシスメッセージは永久不変: 独自チェーンを立ち上げる場合、ジェネシスブロックのメッセージは一度チェーンにコミットすると変更不可
- Python 3.x環境が必要: wallet.py / miner.py / verify.py は Python 3 環境が必要です
ライセンス
LICENSE ファイルが存在します。商用利用や改変前には必ずライセンスを確認してください。
関連ツール・おすすめサービス
CLIツールやセルフホスト環境の整備には以下もおすすめです。
- DigitalOcean — 開発者向けクラウド・App Platformでかんたんデプロイ
- さくらVPS — 国内ホスティングでのセルフホストならこちら
まとめ
ROFLはGitHubのプロフィールREADMEをブロックチェーン台帳に変えるというユニークなアイデアのPythonプロジェクトです。金銭的価値はありませんが、ブロックチェーンの仕組みをコストゼロで体験・学習できるツールとして価値があります。部分和問題ベースのPoWはアルゴリズム改善で有利になれる設計で、競技プログラマーにも面白い挑戦の場を提供しています。
この技術を学ぶ
CLIとブロックチェーン開発に興味を持った方には、UdemyのオンラインコースもPython・ブロックチェーン技術のスキルアップにおすすめです。
- 🎓 関連するCLI・Pythonコース一覧 — セール時(最大90%OFF)を狙うとお得です
関連記事
この記事が役に立ったらシェアしてください