anychain
rustuma blockchain de prova de conceito usada como veículo para estudar estado distribuído, persistência e integridade.
o problema
este não é um projeto sobre cripto. blockchain aqui é um pretexto conveniente: é uma das poucas estruturas em que estado distribuído, imutabilidade, verificação de integridade e consenso aparecem todos ao mesmo tempo, em escala pequena o suficiente para caber em um fim de semana de estudo.
o que interessa é o que está por baixo: como você garante que uma cadeia não foi adulterada, como persiste estado que só cresce, e onde exatamente ficam as fronteiras entre núcleo, transporte e interface.
arquitetura
um monorepo com três crates sobre um núcleo compartilhado: anychain-core (Block, Blockchain, Transaction), anychain-cli (binário de linha de comando) e anychain-api (servidor rest em axum).
a separação é o ponto arquitetural do projeto: duas interfaces completamente diferentes (uma cli local e uma api http remota) sobre exatamente a mesma biblioteca de domínio, sem que o núcleo saiba que qualquer uma delas existe.
proof-of-work sha-256 com dificuldade configurável, persistência em sled, validação de integridade da cadeia, erros estruturados com thiserror e anyhow.
como no agni, existe uma implementação kotlin de referência preservada no histórico, na tag kotlin-reference.