MetaMask Snaps é o roteiro para tornar a MetaMask a carteira mais extensível do mundo. Como desenvolvedor, você pode trazer seus recursos e APIs para a MetaMask de formas totalmente novas. Os desenvolvedores Web3 são o núcleo desse crescimento, e esta série tem como objetivo destacar os MetaMask Snaps inovadores que estão sendo criados hoje.
Snapshot Snap Com Minci
Conversamos com Minci, desenvolvedor independente de Web3 que criou o Snapshot Snap no ETHWarsaw Hackathon — uma aplicação de prova de conceito para configurar notificações personalizadas para atividades on-chain.
Snapshot: Vídeo de Demonstração
Repositório do Snap: https://github.com/iamminci/snapshot
Por que você o criou?
Acho a ideia de notificações de carteira para eventos on-chain fascinante. Vemos isso em todo lugar na web2 com PayPal e Venmo, mas o fato de que a indexação torna esse recurso tão desafiador para a web3 é um problema técnico interessante para se pensar. Queria tentar criar uma aplicação de prova de conceito que permitisse a qualquer usuário configurar suas próprias notificações personalizadas para atividades on-chain. Usei a implementação de notificações do MetaMask Snaps para desenvolver meu protótipo.
Você pode nos guiar pela implementação técnica?
A implementação técnica envolveu primeiro a configuração de um snap de notificação, acionando uma instalação por meio de uma aplicação do lado do cliente. Em seguida, o usuário configura o snap para monitorar os eventos on-chain de sua preferência. A visão aqui era que o usuário pudesse adicionar à whitelist qualquer endereço de contrato e seus eventos associados, de modo que eles acionassem não apenas uma notificação, mas também ações on-chain automatizadas, como enviar uma transação ou executar uma negociação em uma DEX com base no gatilho. O envio automatizado foi possível derivando a chave privada do usuário a partir de um BIP44 Address Key Deriver (um agradecimento especial ao Olaf pelo workshop usando essa biblioteca), de modo que a ação ocorreria sem uma confirmação explícita do usuário. Minha prova de conceito foi limitada a um exemplo de lance no Opensea e foi concretizada usando a API do Opensea na testnet Rinkeby.
Quais seriam os próximos passos se você fosse implementar isso?
O vídeo de demonstração foi baseado em uma prova de conceito que funcionava apenas para alguns casos de uso pré-configurados (dar lances no Opensea, automatizar um envio de ether). Os próximos passos para concretizar essa visão seriam configurar algum tipo de armazenamento para poder atualizar dinamicamente os eventos que o snap monitora sem precisar reinstalar o snap de notificação. Também seria útil exibir um painel para os usuários monitorarem seus snaps existentes e visualizarem os eventos acionados em uma única tela. Além disso, oferecer uma gama muito mais personalizada de ações de gatilho automatizadas, além de simples envios, habilitando um conjunto de chamadas de contrato mais complexas, como configurar ordens limitadas ou fazer arbitragem.
Quando você foi apresentado ao MetaMask Snaps pela primeira vez e como foi sua experiência?
Fui apresentado ao MetaMask Snaps pela primeira vez quando visitei um estande da MetaMask na conferência Permissionless em Miami. A ideia de que isso poderia se tornar um ecossistema de plugins para a MetaMask me deixou muito animado.
O que diferencia o MetaMask Snaps de outras carteiras?
Nenhuma outra carteira tem plugins personalizáveis voltados para desenvolvedores. Acredito que isso é exclusivo da MetaMask em todo o ecossistema.
Conte-nos como é desenvolver com o MetaMask Snaps para você e sua equipe.
Sinceramente, desenvolver com o MetaMask Snaps não foi moleza. Acho que a falta de documentação adequada foi o maior obstáculo. Felizmente, havia exemplos interessantes suficientes para conseguir derivar minha própria inovação a partir desses blocos de construção, então eu recomendaria fortemente que qualquer desenvolvedor interessado em criar com snaps mergulhe diretamente no repositório de exemplos.
O que o MetaMask Snaps significa para você?
O MetaMask Snaps é o futuro óbvio da web3.
Que oportunidades você enxerga com o MetaMask Snaps e as possibilidades que ele desbloqueia para o espaço Web3?
O MetaMask Snaps poderia desbloquear um mundo ilimitado de possibilidades na web3. Assim como o Chrome se tornou o navegador preferido com o ecossistema de extensões, e o VSCode de forma semelhante com seu próprio marketplace de extensões. Consigo imaginar perfeitamente o MetaMask Snaps levando a MetaMask ao próximo nível, permitindo que desenvolvedores adotem as ferramentas e inovem amplamente para personalizar a carteira ao seu gosto (e, consequentemente, atrair usuários que achem essas ferramentas úteis). Uma tokenomics interessante poderia ser construída em torno dos desenvolvedores que oferecem os MetaMask Snaps mais atraentes.
Algum conselho que gostaria de compartilhar com desenvolvedores interessados em experimentar o MetaMask Snaps?
Eu incentivaria qualquer pessoa interessada no MetaMask Snaps a mergulhar diretamente no repositório de exemplos, fazer um fork e explorar!
Desenvolvendo com MetaMask Snaps
Para começar com o MetaMask Snaps:
Confira a documentação para desenvolvedores
Instale o MetaMask Flask
Confira um guia do MetaMask Snaps
Mantenha contato conosco no Twitter, nas discussões do GitHub e no Discord
Fique de olho em nossa equipe no próximo hackathon perto de você! Bom buidling ⚒️
Aviso legal: Os MetaMask Snaps são geralmente desenvolvidos por terceiros que não a Consensys Software. O uso de MetaMask Snaps desenvolvidos por terceiros é feito a seu próprio critério e risco, com o entendimento de que você será o único responsável por qualquer perda ou dano resultante de tais atividades. A Consensys não oferece nenhuma garantia expressa ou implícita, seja verbal ou escrita, em relação a MetaMask Snaps desenvolvidos por terceiros, e se isenta de toda responsabilidade por MetaMask Snaps desenvolvidos por terceiros. O uso de software relacionado a blockchain envolve riscos, e você os assume integralmente ao usar o MetaMask Snaps.