aviso: o site está em processo de internacionalização. você ainda pode encontrar erros de digitação ou trechos não traduzidos.

‹ todo o trabalho

anychain

rust

uma 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.

ver o código no github ›