My First Lightning Wallet é uma aplicação Flask que permite criar e gerenciar carteiras Lightning Network, realizar pagamentos, receber fundos e muito mais. Este projeto foi desenvolvido para facilitar a adoção do Bitcoin Lightning Network.
- Registro e login de usuários com autenticação 2FA.
- Criação e gerenciamento de carteiras Lightning Network.
- Pagamento e recebimento de invoices Lightning.
- Sistema de Satsback para recompensas em transações.
- Suporte a temas claro e escuro.
- Interface multilíngue (Português e Inglês).
.
├── app.py # Arquivo principal da aplicação Flask
├── auth.py # Gerenciamento de autenticação e registro
├── config_example.py # Exemplo de configuração
├── database.py # Configuração e manipulação do banco de dados
├── limiter.py # Configuração de limites de requisição
├── lnbits.py # Integração com a API do LNbits
├── requirements.txt # Dependências do projeto
├── static/ # Arquivos estáticos (CSS, JS, imagens)
├── templates/ # Templates HTML
└── logs/ # Logs da aplicação
Antes de começar, certifique-se de ter os seguintes itens instalados:
- Python 3.8 ou superior
- Virtualenv (opcional, mas recomendado)
- SQLite (para o banco de dados)
- Um servidor LNbits configurado (ou acesso a um servidor existente)
- Habilitar a extensão PAYLINKS no seu LNBITS
Siga os passos abaixo para configurar e executar o projeto:
git clone https://github.com/jvxis/1st-lnwallet.git
cd 1st-lnwalletRecomendamos o uso de um ambiente virtual para isolar as dependências do projeto.
python3 -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activateInstale as bibliotecas necessárias listadas no arquivo requirements.txt.
pip3 install -r requirements.txtRenomeie o arquivo config_example.py para config.py e preencha os valores necessários:
mv config_example.py config.pyEdite o arquivo config.py e substitua os valores de exemplo pelos valores reais:
SECRET_KEY: Uma chave secreta para a aplicação Flask.LN_BITS_API_URL: URL da API do LNbits.LN_BITS_BASE_URL: URL base do LNbits.LN_ADDRESS_DOMAIN: Domínio usado para endereços Lightning.LN_BITS_API_KEY: Chave de API do LNbits.RECAPTCHA_SITE_KEYeRECAPTCHA_SECRET_KEY: Chaves do Google reCAPTCHA.SATSBACK_WALLET_ADMIN_KEY: Chave de administrador para o sistema de Satsback.
Inicie o servidor Flask:
python3 app.pyO servidor estará disponível em http://127.0.0.1:37421 por padrão
Abra o navegador e acesse http://127.0.0.1:37421 para usar a aplicação, isso para a mesma máquina. Caso o navegador esteja em máquina diferente da aplicação, usar o IP da máquina que está a aplicação.
Se você deseja fazer uma implementação para produção siga os passos abaixo:
📝 Passo 1 - Altere o host na última linha do script app.py para 127.0.0.1, isso irá permitir somente acesso local.
Altere:
app.run(debug=Config.DEBUG, port=Config.PORT, host='0.0.0.0')Para:
app.run(debug=Config.DEBUG, port=Config.PORT, host='127.0.0.1')export FLASK_ENV=production🔒 Passo 5 - No caso de usar o Nginx, utilize o CERTBOT para criar um certificado e acesso ao site via HTTPS.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.
Melhorias Sugeridas:
- Pagamento via Lightning Address ⚡
- Chave Backup ao cadastrar o 2FA 🔑 e permitir a alteração
Este projeto está licenciado sob a MIT License.
