Projeto

Para desenvolvedores

O código do FAIRDRUM é aberto sob a licença MIT: o contrato, o site, os scripts de lançamento e os testes ficam em um único repositório (o link aparecerá aqui depois da publicação). Aqui, em resumo, como tudo funciona e como rodar a sua própria cópia.

Estrutura

PastaO que há dentro
programs/fairdrum/Contrato em Rust e Anchor 1.2.2. Os números do jogo estão em consts.rs, os cálculos em engine.rs e math.rs, na forma de funções comuns, por isso os testes rodam sem rede.
app/Site: Vite e TypeScript, páginas em app/src/pages/, cliente do contrato e integração com a Switchboard em app/src/chain/. As tabelas de números do site são geradas a partir de consts.rs, por isso não divergem do contrato.
scripts/Lançamento: emissão do token, inicialização, verificação das configurações gravadas, teste na devnet, pagamentos de serviço e um “keeper” opcional.
docs/ARCHITECTURE.md (como tudo funciona), LAUNCH.md (lançamento passo a passo), AUDIT.md (autoverificação de segurança e questões em aberto).
e2e/Verificações do site em um navegador de verdade, com uma carteira e uma rede simuladas.

O projeto não tem servidor nem banco de dados: o site é feito de arquivos comuns e lê os dados diretamente do contrato.

Rodar na sua máquina

São necessários Node.js 20.19 ou mais recente e Rust para os testes do contrato.

npm install
npm run dev                         # site em localhost, sem contrato, em modo demo
npm test                            # testes do cliente
cargo test -p fairdrum --release    # testes do contrato
npm run build                       # site na pasta dist/
npm run build:single                # versão offline: arquivos html separados, abertos com um clique duplo

Lançamento passo a passo na devnet e na rede principal, com comandos e análise de erros frequentes: docs/LAUNCH.md no repositório.

Configurações sem recompilar

O arquivo config.json fica ao lado das páginas e é lido a cada carregamento, por isso o endereço do contrato, o nó da rede e os links mudam sem uma nova compilação. Um programId vazio ativa o modo demo.

{
  "programId": "endereço do programa depois do lançamento",
  "cluster": "mainnet-beta",
  "rpc": "https://...",
  "swapUrl": "link para a troca de FAIRDRUM, quando existir",
  "links": { "github": "...", "telegram": "...", "x": "...", "audit": "..." }
}

O endereço do site, as descrições das páginas e as verificações para webmasters são definidos em app/seo.json e app/pages.json; npm run gen:html gera de novo, a partir deles, as páginas, o mapa do site e o robots.txt.

Verificação do código

Testes

A lógica do contrato é verificada sem rede, inclusive com uma “tempestade” de dezenas de milhares de operações aleatórias: depois de cada uma, os tokens no cofre precisam ser exatamente iguais às obrigações. O teste foi validado por “mutação”: se no cálculo for deslocada ao menos uma unidade mínima, ele falha.

O que não foi verificado

A compilação para a Solana, o funcionamento real com a Switchboard e a auditoria independente: status do projeto. A verificação interna não substitui a auditoria, e em docs/AUDIT.md estão listados os pontos que continuam em aberto.

Conferência com a rede

Depois do lançamento, confira o código publicado com o programa na rede seguindo a instrução “Verificar a honestidade”. Os endereços do programa e do token estão na página “Links oficiais”.

Se o site fairdrum.to estiver indisponível

Os seus tokens não vão a lugar nenhum.

O saldo do jogo fica no contrato, não no site. O site é uma interface prática, e o saque pode ser feito de qualquer cópia dele.

  1. Confira se o endereço foi digitado corretamente e abra o site a partir de um favorito. Se só ele estiver fora do ar, espere: às vezes há uma falha temporária da hospedagem.
  2. Abra uma cópia do site: o repositório é aberto e o site é feito de arquivos comuns. Baixe a versão offline ou compile a sua (npm run build), coloque ao lado um config.json com o endereço real do programa (dá para conferi-lo na página “Links oficiais” e no explorador) e abra por qualquer servidor web simples, por exemplo npx vite preview.
  3. Conecte a mesma carteira. O saldo, o rank e a sequência serão lidos do contrato, e o saque funciona do mesmo jeito que no site principal.
  4. Não digite a frase secreta em nenhum “espelho”. O site nunca a pede: qualquer cópia que a peça é falsa.

Verifique uma cópia do site vinda de uma fonte alheia: compare o código com o repositório do projeto. Sem isso, você não sabe o que exatamente vai assinar. É mais seguro compilar você mesmo.

Licença

MIT: o código pode ser lido, copiado, alterado e executado, inclusive para fins comerciais, mantendo o texto da licença. A licença diz respeito ao código, e não ao nome e ao endereço fairdrum.to: um fork com regras diferentes não deve se passar por este projeto.