Importar Dados Bitcoin em SQLite com Python
Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.
Importar Dados Bitcoin em SQLite com Python
Se você está organizando dados de chaves privadas e endereços Bitcoin em arquivos .txt e deseja armazená-los de forma estruturada em um banco de dados SQLite, este guia apresenta um exemplo funcional e eficiente de como fazer isso utilizando Python. O foco está em importar dados evitando duplicações, mantendo a integridade das informações.
Objetivo do Script
O script tem como principal objetivo:
- Importar dados de um arquivo 19.txt;
- Inserir os dados no banco dados.db com validação de unicidade para os campos
wifeaddress; - Evitar duplicações com o uso de restrições do SQLite;
- Exibir o número total de registros ao final do processo.
Exemplo de Estrutura do Arquivo TXT
O arquivo 19.txt deve conter os dados separados por ponto e vírgula (;) em cada linha, com quatro colunas:
1;010101...;L1aW4aubDFB7yfras2S1mME7z7YTzK...;19vkiEajfhuZ8bs8Zu2jgmC6oqZbWqhxhG
2;010101...;L2bX3cvRGT56yt...;19abcDeFgHkLmn...
Script em Python
Veja abaixo o código completo:
import sqlite3
# Caminhos dos arquivos
caminho_txt = '19.txt'
caminho_db = 'dados.db'
# Conectar/criar o banco de dados
conn = sqlite3.connect(caminho_db)
cursor = conn.cursor()
# Criar a tabela com restrições de unicidade
cursor.execute('''
CREATE TABLE IF NOT EXISTS dados (
id INTEGER PRIMARY KEY,
bin TEXT,
wif TEXT UNIQUE,
address TEXT UNIQUE
)
''')
# Inserir os dados, ignorando duplicados
with open(caminho_txt, 'r', encoding='utf-8') as arquivo:
for linha in arquivo:
partes = linha.strip().split(';')
if len(partes) == 4:
try:
cursor.execute('INSERT INTO dados (id, bin, wif, address) VALUES (?, ?, ?, ?)', partes)
except sqlite3.IntegrityError:
# Ignora linhas duplicadas com base nas restrições
pass
# Salvar as alterações no banco de dados
conn.commit()
# Contar o número de linhas inseridas na tabela
cursor.execute('SELECT COUNT(*) FROM dados')
numero_de_linhas = cursor.fetchone()[0]
# Fechar a conexão com o banco de dados
conn.close()
# Exibir a quantidade de linhas inseridas
print(f"Importação concluída! Número total de linhas na tabela: {numero_de_linhas}")
Explicações Técnicas
O uso de sqlite3.IntegrityError permite ignorar automaticamente entradas duplicadas, garantindo que os dados inseridos sejam únicos, conforme definido pelas restrições UNIQUE nos campos wif e address.
Além disso, ao utilizar cursor.execute('SELECT COUNT(*) ...'), é possível contabilizar a quantidade total de registros válidos, útil para validação de importações em lote.
Exemplo de Uso Prático
Esse tipo de script é comum em projetos que envolvem mineração de dados, armazenamento de carteiras Bitcoin ou simplesmente análise de grandes volumes de dados gerados por scripts de geração aleatória de chaves.
Fontes e Referências
Para mais detalhes sobre o SQLite, consulte o site oficial em sqlite.org.
Se você ainda não possui a biblioteca sqlite3, saiba que ela já vem integrada nas versões padrão do Python. No entanto, recomenda-se usar o site oficial do Python para obter a versão mais recente.
Considerações Finais
Atenção: Para qualquer tipo de trabalho envolvendo criptomoedas, blockchain ou geração de carteiras, é essencial agir com ética, responsabilidade e compreensão do funcionamento do ecossistema. Nunca invista dinheiro em projetos que você não entende. Faça sempre sua própria análise (autoanálise) antes de tomar qualquer decisão relacionada a finanças ou tecnologia descentralizada.

Comentários
Comente só assim vamos crescer juntos!