基于Freenet构建的完全去中心化国际象棋平台,所有棋局状态、排名和在线状态都在对等节点间复制,无需中央服务器。

Stars

6

7 天增长

暂无数据

Fork 数

3

开放 Issue

0

开源协议

MIT

最近更新

2026-07-30

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

开创了无服务器架构下的实时多人国际象棋,具备可验证的埃洛评分、工作量证明反垃圾机制以及确定性收敛保证。

适合谁使用

  • 寻求去中心化替代方案的国际象棋爱好者
  • 探索点对点和Freenet应用的开发者
  • 不信任中央服务器的注重隐私的玩家

典型使用场景

  • 在无需信任中央服务器的情况下对弈
  • 实时观看任意进行中的棋局
  • 通过分享链接搜索和回放历史棋局
  • 跨设备导出和导入账户

项目优势

  • 无中央服务器:所有数据分布在Freenet合约中,由对等节点复制
  • 通过双方共同签名的游戏证书实现可验证的埃洛评分
  • 多层反垃圾机制:工作量证明、创建者配额和全局上限
  • 通过幂等交换幺半群实现确定性收敛,解决冲突

使用前须知

  • 共谋密钥可通过共同签名虚假结果刷分
  • 昵称不唯一;身份与密钥绑定
  • 密钥即账户,无恢复机制
  • 归档容量限制:每天最多16000局(每分片1000局×16个桶)

README 快速开始

FreeChess


A decentralized chess site built on Freenet. Play, watch, search and replay games — with no server anywhere in the picture.

Every game, the lobby, the Elo ranking, player presence and the shared history live in Freenet contracts, replicated across peers. The only thing that never leaves your device is your signing key.


What it does

  • Play chess. Full rules: castling, en passant, promotion, checkmate, stalemate, threefold repetition, the fifty-move rule, and clocks with Fischer increment.
  • Watch any game live. Every game is public by default. The home page shows the current board of every game in progress, updating in real time.
  • Search. Find games by player nickname or game id.
  • Elo ranking. Ratings are verifiable, not self-declared (see below).
  • Bullet / Blitz / Rapid / Classical, classified by estimated duration.
  • Presence. See who is online, away or offline.
  • Challenge someone directly — including a spectator you noticed watching the same game as you.
  • Shareable replays. Every game gets a link; open it and scrub through the moves. Games export as PGN.
  • Portable accounts. Export your account as a single string and import it on another device.
  • Anti-spam. Creating a game costs proof-of-work, and each player has a quota of open games.

How it works

Freenet's core abstraction is a contract: a WebAssembly module that defines both a piece of public state and the rules for merging concurrent updates to it. A contract's key is BLAKE3(BLAKE3(wasm) ‖ params), so the data's identity is bound to the code that governs it — you never have to trust the peer serving it.

FreeChess uses four contracts and one delegate.

ComponentRole
game-contractOne instance per game: the signed move list, the sealed opponent seat, the result.
lobby-contractA singleton: live games (each with a signed board snapshot), the Elo ranking, and presence.
archive-contractThe shared history, sharded into buckets of 1000 games.
player-contractOne instance per player: nickname and certified game history.
chess-delegateRuns locally. Holds the private signing key — the one thing not replicated.

One subscription drives the home page

The lobby carries a signed FEN snapshot for every running game, so a clie

项目描述

Tiny chess platform in freenet.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

l0ng-ai
精选
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

开发者工具CLI 与终端
359
steelbrain
精选
steelbrain GitHub avatar

reims-vgpu

reims-vgpu is an experimental virtual GPU for macOS guests that uses QEMU to decode the guest's GPU command stream and execute it through Metal or Vulkan, leveraging the built-in AppleParavirtGPU driver without requiring custom kexts.

桌面应用
143
m-novotny
精选
m-novotny GitHub avatar

memguard-rs

A Rust library that provides secure memory handling primitives including zeroization on drop, memory locking, constant-time comparison, and compile-time guarded regions, with zero dependencies and no_std support.

嵌入式与物联网安全
131