---
title: "Dapper Labs, criadora da CryptoKitties, depende da Alchemy para infraestrutura"
description: "Desde a migração de sua solução interna e de outros provedores para usar apenas a Alchemy, a Dapper Labs resolveu completamente todos esses problemas anteriores."
---

# Dapper Labs, criadora da CryptoKitties, depende da Alchemy para infraestrutura

<ImageBlock
  src="https://media.alchemy.com/1703096808-dapper-hero.png"
  alt="Hero do case study da Dapper Labs"
  width={1500}
  height={996}
  priority
/>

Dapper Labs é o time por trás de alguns dos aplicativos mais bem-sucedidos do espaço cripto. Seu jogo de colecionáveis de troca CryptoKitties já vendeu mais de $28M e já procriou mais de 1.6M kitties. A Dapper criou o Cheeze Wizards e o iridescence, a primeira roupa digital do mundo na blockchain. A seguir, a Dapper está lançando o NBA Top Shot e o Flow, a blockchain para mundos abertos. Hoje, a Dapper Labs conta com a Alchemy para ter a visão mais confiável e consistente da blockchain.

<StatsCardDeck
  items={[
    { title: "2 Devs", description: "Re-resourced" },
    { title: "7 Million", description: "Queries Per Day" },
    { title: "1231 ETH", description: "Transactions" },
  ]}
/>

## Com outras soluções, a Dapper enfrentou instabilidades, congestionamento e problemas de gerenciamento de nonce

Antes de fazer parceria com a Alchemy, os devs da Dapper Labs testaram outras soluções de infraestrutura, incluindo rodar seus próprios nodes. Com outros provedores externos, a Dapper enfrentou congestionamento em toda a rede. O desempenho era instável, com horas de instabilidades completas ou fora de sincronia. Os serviços de nonce eram tão ruins que a Dapper parou de buscar nonce pendente por completo, passando a armazenar o nonce internamente.

O desempenho era tão ruim que a Dapper resolveu o problema por conta própria. Depois de experimentar com nodes parity, a Dapper optou por rodar seu próprio cluster de nodes geth. A configuração inicial foi feita por dois desenvolvedores em tempo integral ao longo de duas semanas, usando clusters de nodes que iam direto para failover em vez de balanceamento de carga. Se os nodes da Dapper saíssem de sincronia, eles faziam failover para o próximo node. A Dapper também apontava para apenas um node por vez, resolvendo seus problemas de consistência. Rodar nodes internamente era um pouco melhor em estabilidade e dava à Dapper certas capacidades de assinatura. No entanto, os nodes ainda saíam de sincronia ou perdiam peers.

> "Todo problema de estado que você pode imaginar no CryptoKitties aconteceu. Se os nodes estivessem fora de sincronia, a experiência do usuário e o dApp inteiro ficavam comprometidos."
>
> — ERIC LIN, DAPPER

Os problemas eram difíceis de diagnosticar. No fim, o culpado era a estabilidade dos próprios nodes geth. A Dapper tinha uma ou duas horas de instabilidade por vez. Para resolver isso, a Dapper adicionou health checks para comparar o head da chain com o Etherscan. Mesmo assim, as conexões de peers caíam sem explicação. Em certo momento, o time usou uma combinação de soluções internas e terceirizadas. Seus próprios nodes continuaram performando melhor. Além disso, a Dapper conseguia corrigir problemas nos nodes internos mais rápido.

Os problemas de node afetaram os usuários do CryptoKitties, que ficaram frustrados com a experiência. O CryptoKitties tinha um community manager, mas nenhum membro de suporte para resolver problemas específicos de clientes. Quando os nodes quebravam, o CryptoKitties acumulava atrasos. A chain ficava adiante do banco de dados, e os nascimentos de kitties não aconteciam. As transações eram escritas na chain, mas os usuários do CryptoKitties não conseguiam vê-las. Por exemplo, um CryptoKitty parecia pertencer a duas pessoas ao mesmo tempo, ou alguém colocava um gato em leilão quando, na verdade, o gato já tinha sido vendido.

O time da Dapper teve que implementar um esquema de rotação, já que engenheiros estavam sendo acordados às 2h da manhã. Se um node saísse de sincronia, o script apontava para o próximo node. Esse script era extremamente crítico, já que os nodes costumavam falhar o tempo todo, inclusive no meio da noite. Em torno de forks e upgrades, o time do CryptoKitties só precisou fazer um upgrade e não precisou lidar com nenhum hard fork.

> "Só tínhamos uma ou duas pessoas de plantão fazendo manutenção nos nodes, então era um trabalho bastante desgastante."
>
> — ERIC LIN, DAPPER

## A Dapper não teve nenhum problema na Alchemy e conseguiu realocar recursos para outras áreas

Desde que deixou de usar sua solução interna e outros provedores para usar apenas a Alchemy, a Dapper Labs resolveu completamente todos esses problemas anteriores. Com a Alchemy, a experiência de desenvolvimento tem sido excelente. A Dapper incluiu a migração para a Alchemy no roadmap de planejamento, de tão estável que ela se mostrou.

O time da Dapper Labs conseguiu realocar quase todos os recursos para outras áreas. Os dois desenvolvedores que trabalhavam com nodes agora trabalham em P&D e na construção de outros jogos e experiências. O time da Alchemy faz a Dapper se sentir muito bem cuidada. Além disso, o time da Dapper tem a tranquilidade de não precisar se preocupar com mais um aspecto do desenvolvimento blockchain, especialmente a estabilidade da infraestrutura.
