Glossário / Nós e software
Regtest
Outros nomes: Modo de teste de regressão.
- O que é o Regtest?
- O Regtest é uma rede Bitcoin privada que roda na sua própria máquina, onde você mina blocos por comando em vez de esperar que outra pessoa os produza.
Nada aqui é compartilhado com ninguém. A cadeia começa em seu próprio bloco gênesis, a dificuldade de mineração fica no valor mais baixo que o software permite, e um único comando pode produzir cem blocos em menos de um segundo. É aqui que o software de carteira, os processadores de pagamento e as implementações da Lightning são testados antes que qualquer um deles toque em dinheiro.
Como funciona
Iniciar o bitcoind com a opção regtest cria uma cadeia sem pares e sem histórico.
Não há sementes DNS para essa rede nem nós padrão para discar, então, a menos que você inicie uma segunda instância e a conecte manualmente, você está sozinho na sua própria blockchain. O daemon escuta pares na porta 18444 e chamadas RPC na 18443, guarda seus dados em um diretório regtest separado e entrega endereços com o prefixo bcrt1, de modo que não há chance de confundi-los com nada valioso.
Os blocos aparecem quando você os pede. O comando generatetoaddress mina para um endereço que você indica, e o primeiro passo habitual é minerar 101 blocos em vez de 1, porque uma saída coinbase não pode ser gasta até que mais 100 blocos fiquem em cima dela. Só quando o bloco 101 existe você tem bitcoins gastáveis para construir o resto do seu teste.
Dois outros parâmetros são deliberadamente diferentes da mainnet. O Regtest começa com o mesmo subsídio de 50 BTC, mas ele cai pela metade a cada 150 blocos em vez de a cada 210.000, então uma sessão que minere alguns milhares de blocos levará a recompensa a zero e deixará você sem como custear qualquer coisa nova. E como o piso de dificuldade é tão baixo, as reorganizações podem ser organizadas livremente: invalidateblock reverte a cadeia a partir de qualquer bloco que você escolher e reconsiderblock a coloca de volta, o que é a única forma prática de observar o que uma reorganização de seis blocos faz com o saldo de uma carteira.
Onde você o vê
O Regtest é a rede na qual a própria suíte de testes do bitcoin roda.
Os testes funcionais do Bitcoin Core criam nós regtest, os conduzem por cenários e os desmontam de novo, e é assim que as mudanças no software são verificadas antes do lançamento. O Core Lightning e o LND fazem o mesmo com a lógica de canais, e o Polar dá a esse fluxo de trabalho uma interface gráfica, para que você possa criar uma pequena rede Lightning no seu notebook em poucos cliques. O BTCPay Server traz uma pilha de desenvolvimento regtest pelo mesmo motivo: ninguém deveria descobrir um bug no checkout com o pagamento de um cliente.
Se você está integrando pagamentos em bitcoin a um site, é aqui que os primeiros cem pagamentos devem ser feitos. Você controla o momento das confirmações com exatidão, pode simular uma transação travada ou um aumento de taxa sem pagar por nenhum dos dois, e pode ensaiar a reorganização que, de outro modo, seria uma surpresa uma vez por ano.
Como alguém que compra ou mantém bitcoin, você nunca se conectará ao regtest de propósito, mas conhecer o nome tem seu valor. Um endereço que começa com bcrt1 não é um endereço de bitcoin, e qualquer carteira que mostre um a você foi apontada para uma cadeia privada que não existe em lugar nenhum além da máquina à sua frente.