Uma carteira web para a rede MultiversX (antiga Elrond) com sistema de e-mail descentralizado integrado via smart contract.
O deploy foi concluído com sucesso! A aplicação está disponível nos seguintes ambientes:
- Preview: https://wallet-email-box-dojo-iml3u25zw-jistrianes-projects.vercel.app
- Produção: https://wallet-email-box-dojo-khmhh6npl-jistrianes-projects.vercel.app
- ✅ Build automático com Node.js 18.x
- ✅ Variáveis de ambiente da testnet MultiversX
- ✅ Headers de segurança
- ✅ Otimização de cache para assets
- ✅ Configurações de rotas
- ✅ SSL/HTTPS
- ✅ Conectado à testnet da MultiversX
- ✅ Deploy automático configurado
- ✅ HTTPS habilitado
- ✅ Cache otimizado
- ✅ Headers de segurança configurados
Acesse o painel de controle da Vercel para monitorar:
- 📊 Logs de build
- 📈 Analytics
- ⚙️ Configurações do projeto
- 🔐 Variáveis de ambiente
- 🌐 Domínios personalizados
Nota: Para futuros deploys, não é necessário fazer nada manualmente. A Vercel detecta automaticamente pushes na branch principal e realiza o deploy.
- Conectar e desconectar carteira MultiversX via extensão oficial
- Criação de nova carteira (seed phrase)
- Importação de carteira existente por seed phrase
- Exibição do endereço da carteira conectada
- Verificação de saldo em EGLD
- Envio de transações para outros endereços
- Assinatura de mensagens
- Interface responsiva e intuitiva
- Envio de e-mails entre endereços MultiversX
- Armazenamento de e-mails na blockchain (contrato inteligente)
- Caixa de entrada e enviados
- Marcação de e-mails como lidos
- Exclusão de e-mails
- Sistema de proteção contra spam (adicionar/remover endereços da lista de spam)
- Verificação de integridade dos e-mails (hash)
- Limite de e-mails por usuário para evitar spam
- Suporte a e-mails criptografados (campo "encrypted")
- Interface moderna para gerenciamento de e-mails
- Desenvolvido em Solidity (deploy na Sepolia)
- Funções principais:
send_email(to, subject, content)
: Envia e-mailget_inbox(account)
: Retorna caixa de entradaget_sent(account)
: Retorna enviadosmark_as_read(index)
: Marca e-mail como lidodelete_email(index)
: Remove e-mailadd_to_spam(spammer)
: Adiciona endereço à lista de spamremove_from_spam(address)
: Remove endereço da lista de spamget_spam_list(account)
: Retorna lista de spamverify_email_integrity(account, index)
: Verifica integridade do e-mail
- React + TypeScript
- Vite
- Chakra UI
- Tailwind CSS
- ethers.js
- MultiversX SDK
- Solidity (contrato inteligente)
- Vercel (deploy)
- Clone o repositório:
git clone https://github.com/seu-usuario/multiversx-wallet.git
cd multiversx-wallet
- Instale as dependências:
npm install
- Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis:
VITE_NETWORK=testnet
VITE_API_URL=https://testnet-api.multiversx.com
VITE_GATEWAY_URL=https://testnet-gateway.multiversx.com
VITE_EXPLORER_URL=https://testnet-explorer.multiversx.com
VITE_WALLET_CONNECT_BRIDGE=https://bridge.walletconnect.org
VITE_WALLET_CONNECT_DEEP_LINK=https://maiar.page.link/?apn=com.elrond.maiar.wallet&isi=1519405832&ibi=com.elrond.maiar.wallet&link=https://maiar.com/
VITE_CHAIN_ID=T
- Inicie o servidor de desenvolvimento:
npm run dev
O projeto está atualmente deployado na Vercel e pode ser acessado em: https://wallet-email-box-dojo-khmhh6npl-jistrianes-projects.vercel.app
-
Fork o repositório no GitHub
-
Na Vercel:
- Conecte sua conta GitHub
- Importe o repositório
- As configurações necessárias já estão no
vercel.json
-
Configurações importantes:
- O projeto usa Node.js 18.x
- Todas as variáveis de ambiente da testnet MultiversX estão configuradas
- Headers de segurança e cache otimizado
- SSL/HTTPS habilitado automaticamente
- Rotas configuradas para SPA
Se precisar fazer um deploy manual:
# Instale a CLI da Vercel
npm i -g vercel
# Login na Vercel
vercel login
# Deploy
vercel
# Deploy para produção
vercel --prod
- Acesse o Dashboard da Vercel
- Monitore:
- Status do deploy
- Logs de build
- Analytics
- Performance
- Erros
- Variáveis de ambiente
- Instale a extensão MultiversX DeFi Wallet no navegador
- Conecte sua carteira pela interface
- Use o sistema de e-mail para enviar, receber, marcar como lido, excluir e-mails e gerenciar spam
- Consulte o saldo, envie EGLD e assine mensagens pela interface da carteira
src/
├── components/ # Componentes React
│ ├── Wallet.tsx # Interface da carteira
│ ├── EmailSystem.tsx # Sistema de e-mail
│ └── ...
├── services/ # Serviços e integrações
├── styles/ # Estilos e temas
├── theme/ # Configuração do Chakra UI
└── types/ # Tipos TypeScript
Ao acessar a aplicação, o usuário é recebido com a tela principal da MultiversX Wallet. Nela, é possível:
- Conectar Carteira: O botão "Conectar Carteira" inicia o processo de conexão com a extensão MultiversX DeFi Wallet instalada no navegador.
- Criar Nova Carteira: Caso o usuário não possua uma carteira, pode criar uma nova diretamente pela interface.
- Importar de Seed Phrase: Usuários que já possuem uma seed phrase podem importar sua carteira.
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature
) - Commit suas mudanças (
git commit -am 'Adiciona nova feature'
) - Push para a branch (
git push origin feature/nova-feature
) - Crie um Pull Request
- O projeto utiliza as melhores práticas de segurança
- Headers HTTP de segurança configurados
- HTTPS forçado
- Proteção contra XSS e outras vulnerabilidades
- Variáveis de ambiente seguras
MIT