0

Nó Bitcoin completo em um Raspberry Pi 3 com ou sem um PiDrive

Durante muito tempo, o Raspberry Pi pareceu tentador para as pessoas que queriam executar um nó completo na rede Bitcoin devido ao seu pequeno tamanho, uso de baixa potência e preço barato. Com as suas especificações de desempenho relativamente baixas, as primeiras gerações do Pi não foram, no entanto, bastante prontas para a tarefa. Algumas pessoas conseguiram compilar e executar o Bitcoin Core (este mesmo blog, por exemplo), mas apenas mal, e outros não conseguiram fazê-lo funcionar.
Isso mudou para melhor com as novas gerações do Pi. O Raspberry Pi 2 e especialmente o Raspberry Pi 3 possuem mais RAM e processadores multi-core. Embora ainda estivéssemos longe de computadores de mesa modernos, é claro, você está muito melhor com as especificações atuais do que antes. Dito isto, sincronizar o bloco pode ainda ser bastante doloroso em um Pi 3.
Com a cadeia de blocos cada vez maior, você basicamente tem duas opções. Uma opção é ter espaço de armazenamento suficiente para conter toda a cadeia de blocos (e depois alguns), seja por meio de um cartão Micro SD muito grande, um Western Digital PiDrive, como explicado aqui, ou uma grande pen drive USB. A outra opção é a poda do bloco, que ficou disponível recentemente no software Bitcoin Core. A poda é basicamente armazenando apenas a parte mais recente da cadeia de blocos e cortando tudo o resto..
Além disso, para o Ubuntu, os binários pré-compilados do Bitcoin Core e suas dependências foram disponibilizados para o Raspberry Pi, o que tornou o processo muito mais fácil, já que você não precisa mais se compilar se você não deseja passar pelo problema .
Este guia mostrará como configurar um sistema completo de nodos cheios sem cabeça com um Pi 3, como um nó podado, ou usando um Western Digital PiDrive (ou outro disco rígido USB) para armazenar a cadeia de blocos. Um Raspberry Pi 3 com um PiDrive conectado consumirá cerca de 3-4 watts de potência. Um nódulo podado apenas no Pi 3 está acima de 2 watts. Compare isso com o 100-200 watts que é consumido por um computador desktop típico que executa o software Bitcoin com a tela desligada.
Será um pouco técnico, mas meu objetivo era torná-lo bastante abrangente e explícito, então, mesmo que você tenha pouca ou nenhuma experiência com o uso de sistemas Linux / Unix, você deve ser capaz de acompanhar, desde que você não esteja Medo de experimentar novas coisas.

OS REQUISITOS DE HARDWARE

Raspberry Pi 3: Este guia usará o modelo B da framboesa, o modelo 3, mas o processo deve ser o mesmo no Pi 2, se você tiver o que está por aí. Se você vai comprar um novo Pi para este projeto, eu recomendo ir para o Pi 3, já que seu preço-tag é o mesmo, e as especificações são maiores.
Cartão Micro SD, min. 4-8 GB (min 16 GB sem PiDrive), classe 10 ou melhor: o Pi arranca um cartão SD. Para isso, você precisará de um que seja bastante rápido, então obtenha uma classe 10 ou melhor. 4 ou 8 GB devem ser mais do que suficientes para configurações com o PiDrive. Este está bem, mas lembre-se de que o PiDrives geralmente vem com um cartão MicroSD de 4 GB incluído, então você pode não ter que comprar um separadamente.
Se você está planejando um nó podado sem um disco rígido, escolha um cartão SD bastante maior, dependendo de quanto da cadeia de bloqueios você deseja podar (também leve em consideração o espaço ocupado pelo sistema mais um arquivo de troca). 16 GB provavelmente é o mínimo sem um PiDrive. Aviso: Não compre cartões SD baratos da Ebay e de outros lugares da China, pois estes são geralmente cartões pequenos, tecnicamente disfarçados de cartões maiores.
Leitor de cartão SD: você precisará de um leitor de cartão SD e um adaptador de cartão MicroSD ou de alguma outra forma para conectar seu cartão Micro SD em seu computador comum durante a instalação do sistema operacional Pi.
WD PiDrive (opcional, se você estiver executando um nó podado): uma vez que os cartões SD do tamanho necessário para armazenar toda a cadeia de blocos são bastante caros ainda, estaremos usando um disco rígido para armazenar os arquivos de blocos de espaço com fome. O PiDrive da Western Digital é muito adequado para o propósito; Ele vem em tamanhos de 250 GB, 314 GB e até 1 TB.
No espírito de Pi, eu usei a versão de 314 GB (π ≈ 3.14, obtê-lo?), Uma capacidade de armazenamento que no momento da escrita pode segurar a cadeia de bloqueios três vezes, então há muito espaço para o crescimento rápido da cadeia de blocos . Ao mesmo tempo, ele vem com uma tomada USB que se encaixa diretamente em um dos slots USB do Pi, em vez de um conector SATA como de costume, e uma boa vantagem que permite que você instale o Pi eo PiDrive da mesma fonte de alimentação .
Alternativamente, você pode usar um disco rígido USB externo de qualquer marca e modelo, ou um disco rígido interno com um adaptador USB alimentado. Além disso, se você deseja economizar energia, um SSD ou um USB pendrive em vez de um disco rígido físico será uma boa opção. E, claro, se você planeja executar um nó podado ou obter um enorme cartão MicroSD, você não precisará de uma unidade extra.
Adaptador de energia Micro USB, min 2.5 A: À medida que os modelos Pi aumentam em especificações, os requisitos de energia também são satisfatórios. Tradicionalmente, os proprietários de Pi usaram carregadores de telefone antigos como fonte de alimentação. Enquanto você ainda pode fazer isso, você deve ser muito cauteloso para que a oferta ofereça energia suficiente para os novos modelos Pi. Um mínimo de 2,5 A é a recomendação oficial. A rota fácil (e a aposta segura) é apenas obter a fonte de alimentação Pi 3 oficial que pode alimentar o Pi 3 e o PiDrive ao mesmo tempo.
Cabo Ethernet (opcional): Mesmo que o Pi 3 tenha suporte wifi embutido, recomendo usar uma rede cablada para um nó Bitcoin. Para isso, você precisará de um cabo Ethernet do seu roteador / switch de rede para o seu Pi. O Raspberry Pi suporta apenas 10/100 Mbit / s, então qualquer categoria 5e ou melhor está bem. Se você precisa, você pode, naturalmente, usar wifi, em vez disso, mas, na minha experiência, a rede por cabo é muito mais confiável.
Caso Raspberry Pi (opcional): Para não arriscar danificar as peças eletrônicas do seu Pi, recomendo obter uma maleta para isso. Isso pode ser qualquer coisa de um dos muitos casos diferentes que estão disponíveis, ou você pode fazer um caso você mesmo que se encaixa no Pi e no seu PiDrive.
Dissipador de calor e / ou ventilador para o Pi (opcional): um dissipador de calor de alumínio inativo, um ventilador de refrigeração (vem com alguns casos) ou talvez ambos. A Fundação Raspberry Pi diz que o resfriamento não é necessário em um Pi, e o Pi melhora o desempenho quando fica muito quente para evitar danos. No entanto, especialmente quando se sincroniza com a cadeia de blocos, a CPU do Pi é bastante quente em um grau que não consigo segurar meu dedo por mais de alguns segundos.
Além disso, vejo o símbolo "termômetro" na tela (o que significa que o desempenho está sendo acelerado) com bastante freqüência. Depois de adicionar um dissipador de calor e um ventilador, não notei que o desempenho foi reduzido. Deve notar-se que, após a sincronização, a carga na CPU diminui drasticamente, e você provavelmente não terá problemas para funcionar sem resfriar o dia-a-dia.
Uma tela HDMI de reposição, teclado USB e mouse: estes só serão usados ​​durante a configuração, então não vá comprando estes.
Vários desses itens de hardware estão disponíveis na loja online Pi Supply. Eu não sou afiliado a eles de forma alguma, exceto eu sou um cliente feliz lá; Eles enviam para todo o mundo, eles têm ótimo serviço ao cliente, e eles levam Bitcoin.

CONFIGURAÇÃO INICIAL

Para este projeto, optei por deixar o Pi executar o Ubuntu Linux em vez do Raspbian, muito agradável, pois isso torna a instalação do Bitcoin Core um pouco mais fácil.
Instalar o Ubuntu no cartão SD não é muito difícil. É uma questão de baixar um arquivo de imagem e escrever esse arquivo de imagem no cartão MicroSD que o Pi iniciará. Baixe o arquivo de imagem LTS (suporte a longo prazo) mais recente. O link aqui é, na verdade, o Ubuntu Mate, que é o Ubuntu normal com o sistema de desktop gráfico Mate, mas como não usaremos o sistema de desktop com o nó Bitcoin sem cabeça acabado, realmente não importa qual sabor do Ubuntu é. Eu também tentei com a imagem não oficial do servidor Ubuntu sem um sistema de desktop, mas tive problemas de inicialização depois de atualizá-lo, então fui para o Ubuntu Mate.
Depois de baixar o arquivo de imagem, ele precisa ser gravado no cartão MicroSD. Como isso é feito, é diferente se você estiver no Windows, Linux, Mac, etc., mas a Fundação Raspberry Pi tem um guia muito bom para fazer isso.
Depois de escrever o arquivo de imagem no cartão MicroSD, insira-o no Pi e também conecte o PiDrive (a menos que você esteja indo para o nó podado), cabo Ethernet, teclado, mouse e tela.

ATUALIZANDO E CONFIGURANDO O SISTEMA

Conecte o cabo de alimentação e o Pi será iniciado e você receberá algumas caixas de diálogo onde você deve configurar seu fuso horário, conta de usuário e senha para o sistema e algumas outras coisas. O restante deste guia assumirá o nome do usuário pinode, mas você pode, naturalmente, usar qual o nome de usuário que deseja. Você é encorajado a usar uma senha forte, especialmente se você planeja fazer logon na Internet. Uma vez concluído, você poderá fazer o login na área de trabalho Mate.
Inicie um Terminal (tipo de janela de linha de comando, seja aberto através do menu Aplicativos, Ferramentas do Sistema, Terminal MATE) e dê o seguinte comando para permitir que o Pi seja iniciado no modo texto no futuro, uma vez que não há necessidade de um Nó Bitcoin sem cabeça para gastar RAM preciosa ao carregar uma área de trabalho gráfica completa:
Sudo systemctl set-default multi -user.target
Agora, reinicie o Raspberry Pi e verifique se você está logado na interface de linha de comando baseada em texto (toda a tela preta com texto em branco).
Os próximos seis comandos serão: 1: Diga ao sistema de onde deve buscar o software Bitcoin. 2: Atualize as informações do sistema sobre quais pacotes estão disponíveis para download e instalação. 3: Baixe e instale a versão baseada em texto do Bitcoin Core, além de outra ferramenta que será usada em seguida. 4 + 5: Remova todo o ambiente de área de trabalho gráfico para que não ocupe espaço no cartão SD.
Execute o último desses dois comandos de remoção repetidamente (talvez 4-5 vezes) até não remover mais pacotes. 6: Baixe e instale todas as atualizações disponíveis para todo o sistema. Digite-os em um comando de cada vez, pois cada comando irá fazer uma pergunta ou duas (normalmente, pressione Enter ou Y para continuar). O último comando provavelmente levará bastante tempo para terminar.
Sudo add-apt-repository ppa: bitcoin / bitcoin
Sudo apt update
Sudo apt install bitcoind deborphan
Sudo apt remove --auto-remove --purge libx11 -. *
Sudo apt remove --purge $ (deborphan) # Repita até que não seja mais removido
Melhor atualização
Depois disso, escreveremos um arquivo de texto de configuração muito curto e simples para o Bitcoin Core. Usaremos o editor baseado em texto "nano", pois é muito simples de usar. Não hesite em usar qualquer outro editor de texto se você tiver outro favorito, contanto que ele escreva arquivos txt simples. Esses dois comandos criam um diretório .bitcoin (que é onde o Bitcoin Core colocará mais tarde todos os arquivos de cadeias de blocos) em seu diretório pessoal e, em seguida, iniciará nano e abrirá um novo arquivo para edição:
Mkdir ~ / .bitcoin
Nano ~ / .bitcoin / bitcoin.conf
No nano editor, escreva as quatro seguintes linhas. Omita a última linha (poda) se você estiver conectando o PiDrive e quiser manter o bloco completo. Caso contrário, mude 1000 para no entanto muitos megabytes do bloco que deseja armazenar em todos os momentos (pelo menos 550). Tenha em mente, no entanto, que esse número controla apenas o espaço que o bloco se limita (o diretório ~ / .bitcoin / blocks).
Além desses, espere um par de gigabytes ou mais para outros dados em ~ / .bitcoin. Também continue pensando no espaço que o próprio sistema Ubuntu assume. E, finalmente, você provavelmente estará criando um swapfile que ocupará cerca de 2-3 GB. Veja quanto espaço livre você tem na partição que manterá o bloco com o comando "df -h ~. / Bitcoin" e depois subtrairá pelo menos 5-8 GB a partir disso. O seguinte deve funcionar em um cartão SD de 16 GB.
Dbcache = 800
Maxmempool = 50
Disablewallet = 1
Poda = 5000
Pressione Ctrl-X para sair do nano e depois pressione a tecla Y e Enter para salvar o arquivo.
No sabor Mate do Ubuntu Linux, 64 MB de memória compartilhada são reservados para a GPU (chip gráfico) por padrão. Podemos reduzir com segurança o mínimo de 16 MB, ganhando assim 48 MB de RAM adicional. Abra o arquivo /boot/config.txt:
Sudo nano /boot/config.txt
Em seguida, role para baixo até a parte inferior deste arquivo de texto (bastante longo) e adicione a seguinte linha:
Gpu_mem = 16
Mais uma vez, Ctrl-X e depois Y + Enter salva e sai.

LEVANDO O PIDRIVE PRONTO

O PiDrive vem pré-formatado para funcionar em um sistema Linux em um Pi. O meu continha apenas uma grande partição "ext4" que é exatamente o que é necessário.
No entanto, você também pode querer usar outro tipo de unidade (disco rígido USB externo, um SSD, um pendrive USB, etc.), e aqueles geralmente são formatados para o Windows, ou talvez não sejam formatados. Portanto, supondo que você já tenha conectado sua unidade ao Pi, o que precisamos fazer é remover qualquer partição existente e adicionar uma grande partição "ext4" que preenche toda a unidade.
No final, claro, eu usarei o meu PiDrive, mas por causa da demonstração aqui, liguei uma unidade de uma velha máquina Windows que me foi fornecida, por meio de um adaptador SATA a USB com energia externa barato (importante para obter um dispositivo externo Um, pois o Pi não poderá fornecer energia suficiente para um disco rígido). Esta unidade contém várias partições do Windows que eu precisava remover.
Primeiro, para obter uma visão geral das unidades que estão anexadas ao Pi, execute o seguinte comando. Observe que o sistema também trata o cartão SD como uma unidade:
Sudo fdisk -l
Isso me dá o seguinte no meu sistema com o antigo drive do Windows conectado:
Ninho bitcoin em framboesa
O primeiro disco, chamado / dev / mmcblk0, é o cartão SD, então não faça nada para isso, ou você perderá o sistema Ubuntu que você configurou. No meu sistema, o próximo disco é / dev / sda, e você pode ver que tem quatro partições chamadas / dev / sda1, 2, 5 e 6 que precisam ser removidas. Talvez você queira anotar os nomes das partições existentes no seu disco rígido, se houver.
Observe que TODOS OS DADOS que já podem estar no disco rígido serão perdidos, então não use uma unidade que contenha nada que você não queira perder. Escreva o seguinte comando para inserir o utilitário fdisk, alterando / dev / sda para o nome do disco rígido se for diferente:
Sudo fdisk / dev / sda
Aqui, você receberá um prompt de comandoPara excluir as partições existentes, digite d e aperte Enter, após o qual o prompt lhe perguntará qual o número de partição a ser excluído, juntamente com uma lista dos números de partições existentes. Pressione um número correspondente e, em seguida, Enter para excluir a partição. Repita até que não haja partições.
Agora, toque n para criar uma nova partição. Em seguida, p para torná-lo uma partição primária e 1 para dar a partição número 1 (e, portanto, o nome da partição / dev / sda1, se o nome do disco for / dev / sda). Nas perguntas sobre o primeiro e o último setor, basta pressionar Enter para que a partição preencha todo o disco rígido.
Ninho bitcoin em framboesa
Por último, pressione w + Enter para salvar as alterações no disco e sair da ferramenta fdisk.
Para formatar sua nova partição, digite o seguinte comando (certificando-se de alterar o nome da partição de forma apropriada, se seu disco não fosse / dev / sda):
Sudo mkfs.ext4 / dev / sda1
Depois de um curto espaço de tempo, você está pronto para montar a partição. No mundo do Linux, as unidades não são montadas para dirigir letras como no Windows. Em vez disso, você pode montar uma unidade / partição em qualquer lugar na árvore de arquivos. Aproveitaremos esse fato ao montar a partição do disco rígido no diretório ~ / .bitcoin, que é exatamente o lugar onde o Bitcoin Core salvará suas configurações e armazenará a cadeia de blocos. Desta forma, todo o sistema é armazenado no cartão SD (incluindo o próprio Bitcoin Core), exceto pelos arquivos de dados do Bitcoin Core.
Para fazer isso, você deve primeiro mover o diretório existente para fora do caminho e criar um novo diretório vazio para o qual a partição do disco será montada:
Mv ~ / .bitcoin ~ / .bitcoin-old
Mkdir ~ / .bitcoin
Agora, para indicar ao sistema que monte a unidade para o diretório recém-criado em cada inicialização, você precisa editar um arquivo de texto curto. Novamente, o editor de texto nano será útil:
Sudo nano / etc / fstab
Na parte inferior do arquivo, escreva a seguinte linha (lembre-se de mudar "sda1" se sua partição de disco rígido tiver sido nomeada de forma diferente e também altere "pinode" em seu nome de usuário):
/ Dev / sda1 /home/pinode/.bitcoin ext4 padrões 0 0
Em seguida, pressione Ctrl-x seguido de y e Enter para salvar o arquivo e sair nano.
Teste-o digitando a reinicialização sudo para reiniciar o sistema. Quando o Pi foi reiniciado, faça o login e digite df -h para ver todas as partições montadas. Sua partição de disco rígido recém-criada deve estar na lista junto com a informação que está montada no seu diretório .bitcoin:
Ninho bitcoin em framboesa
Finalmente, certifique-se de que a conta de usuário pinode (que estará executando o Bitcoin Core) tenha acesso total ao disco rígido e, em seguida, mova o arquivo bitcoin.conf para o disco rígido:
Sudo chown pinode /home/pinode/.bitcoin
Sudo chgrp pinode /home/pinode/.bitcoin
Mv ~ / .bitcoin-old / bitcoin.conf ~ / .bitcoin /

ADICIONANDO UM SWAPFILE

Agora, por um passo opcional, mas altamente recomendado, ou seja, adicionando um arquivo de troca. O Pi 3 tem 1 GB de RAM, o que é uma melhoria para Pi's anteriores, mas ainda bastante baixo para executar o Bitcoin Core como um nó completo, especialmente durante a sincronização com a cadeia de blocos. Um swapfile (ou uma partição swap) é uma parte do disco rígido (ou neste caso, o cartão SD) que atua como uma adição à RAM.
O sistema Ubuntu Mate não usa uma partição swapfile ou swap por padrão. A razão pela qual o passo é opcional é que swapfiles (e partições de troca) podem ser bastante difíceis em um cartão SD devido às muitas operações de leitura / gravação que estão sendo executadas, e os cartões SD apenas duram uma certa quantidade de operações de leitura / gravação.
Não é como se esgotar em alguns dias ou semanas ou qualquer coisa assim; Apenas esteja preparado para usar apenas seu cartão SD para este projeto. A razão pela qual a adição de um swapfile é altamente recomendada de qualquer maneira é que as chances são que você não poderá sincronizar com o bloco sem isso, uma vez que 1 GB de RAM pode ser simplesmente pouco demais. No entanto, configuraremos o sistema para usar apenas o arquivo swap se for estritamente necessário.
Se você estiver conectando um PiDrive, é altamente recomendável colocar o swapfile lá em vez do cartão SD. Basta usar /home/pinode/.bitcoin/swapfile em vez de / swapfile no restante dos comandos nesta seção.
Para configurar um swapfile, execute os seguintes comandos. 4 GB de RAM para um nó Bitcoin devem ser mais do que finos, por isso, dada a RAM de 1 GB de Pi, você pode configurar o arquivo swap em 3 GB:
Sudo fallocate -l 3G / swapfile
Sudo chmod 600 / swapfile
Sudo mkswap / swapfile
Sudo swapon / swapfile
Sudo nano / etc / fstab
O último comando abrirá o arquivo de configurações para partições a serem montadas no arranque. Desloque-se até o final e adicione a seguinte linha, depois Ctrl-X, depois Enter para salvar e sair do editor:
/ Swapfile none swap sw 0 0
Além disso, para permitir que o sistema use apenas o swapfile se necessário, abra o seguinte arquivo em nano executando:
Sudo nano /etc/sysctl.conf
No final do arquivo, adicione a seguinte linha:
Vm.swappiness = 1

PERMITIR O ACESSO SSH DE UM OUTRO COMPUTADOR NA REDE

Queremos tornar a configuração sem cabeça. Isso significa que não há monitores, teclados, ratos, etc. conectados ao Pi quando ele está sendo executado. Então, se quisermos fazer login no Pi de qualquer maneira, nós faremos uma conexão SSH com um computador comum e teremos acesso à linha de comando do Pi dessa maneira. Para permitir isso, precisamos obter o endereço IP local do Pi. Talvez você possa vê-lo na interface do usuário do roteador - caso contrário, comece o Terminal no Pi e execute ifconfig. Com uma conexão por cabo, seu endereço IP está na seção eth0, com uma conexão wi-fi, está na seção wlan0.
Ninho bitcoin em framboesa
Também teremos certeza de que o servidor SSH no Pi está instalado e iniciado no boot:
Sudo apt install openssh-server
Sudo systemctl habilita ssh
Agora você pode desligar o Pi (se você estiver no modo de texto até agora, pode fazê-lo usando o comando "sudo halt") e você pode remover o teclado, o mouse e a tela. Os únicos cabos que você precisa agora são os cabos de energia e Ethernet e, claro, o PiDrive se você estiver usando isso. Se você quiser entrar no Pi através do SSH de outro computador na rede, você pode fazê-lo com (altere "192.168.1.199" para o endereço IP do seu Pi e "pinode" no nome de usuário que você criou no Pi):
ssh pinode@192.168.1.199
Isso está assumindo que seu outro computador também executa algum tipo de Linux / Unix (talvez incluindo o MacOS?). Se você estiver no Windows, você pode usar o cliente PuTTY SSH.

LETANDO BITCOIN CORE INICIAR AUTOMÁTICAMENTE EM BOTÃO

Além disso, queremos que o Bitcoin Core comece sempre que o Raspberry Pi tenha sido iniciado. E, além disso, tentaremos iniciá-lo a cada cinco minutos, caso ele parasse por algum motivo. Uma maneira fácil de fazer isso é através de "crontab", que é um mecanismo em qualquer sistema Unix / Linux que pode iniciar programas e scripts em determinados momentos e ocasiões. Pode haver outras maneiras mais corretas de fazer isso, mas o crontab parece fazer o trabalho. Para editar as configurações do crontab, execute:
Crontab -e
Se esta foi a primeira vez que você executou esse comando (provavelmente era), você receberá um menu onde você pode escolher um editor de texto para usar. Novamente, se você não tiver outras preferências, selecione "nano". Percorra todo o caminho no arquivo que nano abriu para você e adicione o seguinte como as duas últimas linhas:
@reboot bitcoind -daemon
* / 5 * * * * bitcoind -daemon

PORTA ABERTA NO SEU ROUTER

Além do seu nó fazendo conexões para outros nós, você quer que outros nós também possam se conectar ao seu nó. Isso é feito encaminhando o tráfego recebido na porta 8333 para o Raspberry Pi. Como fazer isso, varia de rede para rede, mas tipicamente envolve a inserção da interface web do seu roteador ou modem de rede e a configuração do "encaminhamento de portas".
Normalmente, isso é feito simplesmente adicionando o endereço IP local do Raspberry Pi (que você encontrou acima, por exemplo, 192.168.1.199), juntamente com a porta número 8333 para uma lista de portas encaminhadas. Consulte a documentação do fabricante do seu roteador / modem sobre como fazer isso exatamente. Alguns roteadores até fazem isso automaticamente para que você não precise fazer nada.
Você pode verificar se funciona usando o recurso "Juntar a rede" do Bitnodes. Se retornar uma linha que inclua a palavra "Satoshi", você enviou o tráfego com êxito na porta 8333 para o seu Pi. Observe que, enquanto o seu Pi ainda está sincronizando o bloqueio, pode estar atrasado tanto que Bitnodes irá denunciá-lo como inalcançável. Tente novamente após a sincronização terminar.
Ninho bitcoin em framboesa

INICIE SEU NOVO NODE COMPLETO

Agora é hora de ligar o seu nó, e deixá-lo sincronizar com a rede. Isso provavelmente levará vários dias. Você pode acompanhar o progresso iniciando sessão (remotamente ou com um teclado) e executando o comando:
Bitcoin-cli getinfo
Compare a linha "blocos" com o número de bloco mais recente no seu explorador de blocos favorito (como Blockchain.info).
Alguns relataram que seu nó pára de sincronizar em torno de 300 mil blocos. Se for esse o caso, você pode querer substituir o diretório ~ / .bitcoin com meu diretório totalmente sincronizado (no momento da escrita), ou mesmo o meu completo arquivo de imagem do cartão SD que você pode baixar abaixo.
Ninho bitcoin em framboesa

DESCARREGUE E USE MEU PRÓXIMA IMAGEM PRONTA PARA IR EM VEZ

Já fiz o trabalho, então por que você deveria? Bem, porque você pode não confiar em mim para não oferecer um nó Bitcoin malicioso que entrará em sua rede privada e roubará todos os seus dados Bitcoins e privados. E por que você deveria? Depois de tudo, você não me conhece.
De qualquer forma, para os poucos valentes, completei este guia para você, deixe o nó se sincronizar com a rede Bitcoin e disponibilize um arquivo de imagem do meu cartão SD para download.
Baixe a imagem completa do Pi 3
O arquivo de imagem é para um nó podado sem qualquer unidade externa (como o PiDrive) anexado, pronto para ser usado em um Raspberry Pi 3 com um cartão SD de pelo menos 16 GB:
Baixe minha imagem de cartão SD do nó Bitcoin podada (quase) pronta para usar
SHA256: b9ce45dd2af0c3ab8d07ec31ea058bbaf92f641c679cc2225726113fffd5fd66
MD5: d3d33be1a85df13629c5d281bfc1c5b4
Depois de transferir a imagem para o seu cartão SD, é solicitado que você faça login (o pinode do usuário e a senha pinode) e altere a senha (você será solicitado a alterá-lo ao efetuar o login pela primeira vez) e depois executar os comandos de atualização do sistema abaixo (Isso também assegurará que o Bitcoin Core seja atualizado, no caso de uma nova versão ter sido liberada desde que este guia foi escrito):
Sudo apt update
Melhor atualização
Você ainda precisará abrir uma porta no seu roteador conforme descrito acima.
Baixe apenas o bloqueio para o seu nó
Você também pode querer configurar o sistema sozinho e baixar o meu diretório (na hora da escrita) completamente sincronizado ~ / .bitcoin para economizar no tempo de sincronização (que pode ser longo). Transfira o arquivo comprimido para o seu Pi através de SCP (transferência de arquivos através de SSH), copie o diretório no seu cartão SD através do leitor de cartão SD em seu computador normal ou baixe-o diretamente do Pi:
Baixe o diretório podado ~ / .bitcoin
SHA256: dd6ffcce71590f7a72356182ff80df00c11408a54b122305969fdb2df975fe63
MD5: c36816adf5ca4fb9ea515b871e318bfa
Com o arquivo compactado em seu diretório pessoal (~) no seu Pi, remova seu diretório de bitcoin antigo (faça backup do arquivo bitcoin.conf primeiro se você fez alterações para isso além do descrito neste guia) e extraia o arquivo para o lugar certo ( Pode levar algum tempo) com:
Cd ~
Rm -rf .bitcoin
Tar -zxvf bitcoindirectoryfilename.tar.gz

OBRIGADO!

Se quisermos concluir qualquer coisa com isso, deve ser que, enquanto instala e configura um sistema Raspberry Pi 3 para atuar como um nó Bitcoin, é um procedimento bastante suave, o hardware relativamente baixo especifica torna bastante doloroso realmente sincronizar Com a cadeia de blocos. Posível sim, mas ainda doloroso. Especialmente os últimos dois blocos parecem demorar para sempre e depois alguns. Quando o nó é sincronizado, no entanto, ele parece ser executado sem problemas.
Espero que goste deste guia, tanto quanto eu gostei de escrevê-lo. Se alguma coisa não estiver clara, ou você tem alguma sugestão para compartilhar, sinta-se à vontade para fazê-lo nos comentários abaixo. Também sinta-se livre (mas não é obrigado) poderia doar uma quantidade de sua escolha,? 
Para que nós possamos continuar com o nosso trabalho,!!
DOGECHAIN: D9vDENbadQbyGVbQjjKFTpDMGb947x6rQ6

BLOCKCHAIN: 1GXYVsDfYmRDQC69WEv1HYUB9UF49Cof1s

Postar um comentário

Nó Bitcoin completo em um Raspberry Pi 3 com ou sem um PiDrive

Nó Bitcoin completo em um Raspberry Pi 3 com ou sem um PiDrive

Durante muito tempo, o Raspberry Pi pareceu tentador para as pessoas que queriam executar um nó completo na rede Bitcoin devido ao seu pequeno tamanho, uso de baixa potência e preço barato. Com as suas especificações de desempenho relativamente baixas, as primeiras gerações do Pi não foram, no entanto, bastante prontas para a tarefa. Algumas pessoas conseguiram compilar e executar o Bitcoin Core (este mesmo blog, por exemplo), mas apenas mal, e outros não conseguiram fazê-lo funcionar.
Isso mudou para melhor com as novas gerações do Pi. O Raspberry Pi 2 e especialmente o Raspberry Pi 3 possuem mais RAM e processadores multi-core. Embora ainda estivéssemos longe de computadores de mesa modernos, é claro, você está muito melhor com as especificações atuais do que antes. Dito isto, sincronizar o bloco pode ainda ser bastante doloroso em um Pi 3.
Com a cadeia de blocos cada vez maior, você basicamente tem duas opções. Uma opção é ter espaço de armazenamento suficiente para conter toda a cadeia de blocos (e depois alguns), seja por meio de um cartão Micro SD muito grande, um Western Digital PiDrive, como explicado aqui, ou uma grande pen drive USB. A outra opção é a poda do bloco, que ficou disponível recentemente no software Bitcoin Core. A poda é basicamente armazenando apenas a parte mais recente da cadeia de blocos e cortando tudo o resto..
Além disso, para o Ubuntu, os binários pré-compilados do Bitcoin Core e suas dependências foram disponibilizados para o Raspberry Pi, o que tornou o processo muito mais fácil, já que você não precisa mais se compilar se você não deseja passar pelo problema .
Este guia mostrará como configurar um sistema completo de nodos cheios sem cabeça com um Pi 3, como um nó podado, ou usando um Western Digital PiDrive (ou outro disco rígido USB) para armazenar a cadeia de blocos. Um Raspberry Pi 3 com um PiDrive conectado consumirá cerca de 3-4 watts de potência. Um nódulo podado apenas no Pi 3 está acima de 2 watts. Compare isso com o 100-200 watts que é consumido por um computador desktop típico que executa o software Bitcoin com a tela desligada.
Será um pouco técnico, mas meu objetivo era torná-lo bastante abrangente e explícito, então, mesmo que você tenha pouca ou nenhuma experiência com o uso de sistemas Linux / Unix, você deve ser capaz de acompanhar, desde que você não esteja Medo de experimentar novas coisas.

OS REQUISITOS DE HARDWARE

Raspberry Pi 3: Este guia usará o modelo B da framboesa, o modelo 3, mas o processo deve ser o mesmo no Pi 2, se você tiver o que está por aí. Se você vai comprar um novo Pi para este projeto, eu recomendo ir para o Pi 3, já que seu preço-tag é o mesmo, e as especificações são maiores.
Cartão Micro SD, min. 4-8 GB (min 16 GB sem PiDrive), classe 10 ou melhor: o Pi arranca um cartão SD. Para isso, você precisará de um que seja bastante rápido, então obtenha uma classe 10 ou melhor. 4 ou 8 GB devem ser mais do que suficientes para configurações com o PiDrive. Este está bem, mas lembre-se de que o PiDrives geralmente vem com um cartão MicroSD de 4 GB incluído, então você pode não ter que comprar um separadamente.
Se você está planejando um nó podado sem um disco rígido, escolha um cartão SD bastante maior, dependendo de quanto da cadeia de bloqueios você deseja podar (também leve em consideração o espaço ocupado pelo sistema mais um arquivo de troca). 16 GB provavelmente é o mínimo sem um PiDrive. Aviso: Não compre cartões SD baratos da Ebay e de outros lugares da China, pois estes são geralmente cartões pequenos, tecnicamente disfarçados de cartões maiores.
Leitor de cartão SD: você precisará de um leitor de cartão SD e um adaptador de cartão MicroSD ou de alguma outra forma para conectar seu cartão Micro SD em seu computador comum durante a instalação do sistema operacional Pi.
WD PiDrive (opcional, se você estiver executando um nó podado): uma vez que os cartões SD do tamanho necessário para armazenar toda a cadeia de blocos são bastante caros ainda, estaremos usando um disco rígido para armazenar os arquivos de blocos de espaço com fome. O PiDrive da Western Digital é muito adequado para o propósito; Ele vem em tamanhos de 250 GB, 314 GB e até 1 TB.
No espírito de Pi, eu usei a versão de 314 GB (π ≈ 3.14, obtê-lo?), Uma capacidade de armazenamento que no momento da escrita pode segurar a cadeia de bloqueios três vezes, então há muito espaço para o crescimento rápido da cadeia de blocos . Ao mesmo tempo, ele vem com uma tomada USB que se encaixa diretamente em um dos slots USB do Pi, em vez de um conector SATA como de costume, e uma boa vantagem que permite que você instale o Pi eo PiDrive da mesma fonte de alimentação .
Alternativamente, você pode usar um disco rígido USB externo de qualquer marca e modelo, ou um disco rígido interno com um adaptador USB alimentado. Além disso, se você deseja economizar energia, um SSD ou um USB pendrive em vez de um disco rígido físico será uma boa opção. E, claro, se você planeja executar um nó podado ou obter um enorme cartão MicroSD, você não precisará de uma unidade extra.
Adaptador de energia Micro USB, min 2.5 A: À medida que os modelos Pi aumentam em especificações, os requisitos de energia também são satisfatórios. Tradicionalmente, os proprietários de Pi usaram carregadores de telefone antigos como fonte de alimentação. Enquanto você ainda pode fazer isso, você deve ser muito cauteloso para que a oferta ofereça energia suficiente para os novos modelos Pi. Um mínimo de 2,5 A é a recomendação oficial. A rota fácil (e a aposta segura) é apenas obter a fonte de alimentação Pi 3 oficial que pode alimentar o Pi 3 e o PiDrive ao mesmo tempo.
Cabo Ethernet (opcional): Mesmo que o Pi 3 tenha suporte wifi embutido, recomendo usar uma rede cablada para um nó Bitcoin. Para isso, você precisará de um cabo Ethernet do seu roteador / switch de rede para o seu Pi. O Raspberry Pi suporta apenas 10/100 Mbit / s, então qualquer categoria 5e ou melhor está bem. Se você precisa, você pode, naturalmente, usar wifi, em vez disso, mas, na minha experiência, a rede por cabo é muito mais confiável.
Caso Raspberry Pi (opcional): Para não arriscar danificar as peças eletrônicas do seu Pi, recomendo obter uma maleta para isso. Isso pode ser qualquer coisa de um dos muitos casos diferentes que estão disponíveis, ou você pode fazer um caso você mesmo que se encaixa no Pi e no seu PiDrive.
Dissipador de calor e / ou ventilador para o Pi (opcional): um dissipador de calor de alumínio inativo, um ventilador de refrigeração (vem com alguns casos) ou talvez ambos. A Fundação Raspberry Pi diz que o resfriamento não é necessário em um Pi, e o Pi melhora o desempenho quando fica muito quente para evitar danos. No entanto, especialmente quando se sincroniza com a cadeia de blocos, a CPU do Pi é bastante quente em um grau que não consigo segurar meu dedo por mais de alguns segundos.
Além disso, vejo o símbolo "termômetro" na tela (o que significa que o desempenho está sendo acelerado) com bastante freqüência. Depois de adicionar um dissipador de calor e um ventilador, não notei que o desempenho foi reduzido. Deve notar-se que, após a sincronização, a carga na CPU diminui drasticamente, e você provavelmente não terá problemas para funcionar sem resfriar o dia-a-dia.
Uma tela HDMI de reposição, teclado USB e mouse: estes só serão usados ​​durante a configuração, então não vá comprando estes.
Vários desses itens de hardware estão disponíveis na loja online Pi Supply. Eu não sou afiliado a eles de forma alguma, exceto eu sou um cliente feliz lá; Eles enviam para todo o mundo, eles têm ótimo serviço ao cliente, e eles levam Bitcoin.

CONFIGURAÇÃO INICIAL

Para este projeto, optei por deixar o Pi executar o Ubuntu Linux em vez do Raspbian, muito agradável, pois isso torna a instalação do Bitcoin Core um pouco mais fácil.
Instalar o Ubuntu no cartão SD não é muito difícil. É uma questão de baixar um arquivo de imagem e escrever esse arquivo de imagem no cartão MicroSD que o Pi iniciará. Baixe o arquivo de imagem LTS (suporte a longo prazo) mais recente. O link aqui é, na verdade, o Ubuntu Mate, que é o Ubuntu normal com o sistema de desktop gráfico Mate, mas como não usaremos o sistema de desktop com o nó Bitcoin sem cabeça acabado, realmente não importa qual sabor do Ubuntu é. Eu também tentei com a imagem não oficial do servidor Ubuntu sem um sistema de desktop, mas tive problemas de inicialização depois de atualizá-lo, então fui para o Ubuntu Mate.
Depois de baixar o arquivo de imagem, ele precisa ser gravado no cartão MicroSD. Como isso é feito, é diferente se você estiver no Windows, Linux, Mac, etc., mas a Fundação Raspberry Pi tem um guia muito bom para fazer isso.
Depois de escrever o arquivo de imagem no cartão MicroSD, insira-o no Pi e também conecte o PiDrive (a menos que você esteja indo para o nó podado), cabo Ethernet, teclado, mouse e tela.

ATUALIZANDO E CONFIGURANDO O SISTEMA

Conecte o cabo de alimentação e o Pi será iniciado e você receberá algumas caixas de diálogo onde você deve configurar seu fuso horário, conta de usuário e senha para o sistema e algumas outras coisas. O restante deste guia assumirá o nome do usuário pinode, mas você pode, naturalmente, usar qual o nome de usuário que deseja. Você é encorajado a usar uma senha forte, especialmente se você planeja fazer logon na Internet. Uma vez concluído, você poderá fazer o login na área de trabalho Mate.
Inicie um Terminal (tipo de janela de linha de comando, seja aberto através do menu Aplicativos, Ferramentas do Sistema, Terminal MATE) e dê o seguinte comando para permitir que o Pi seja iniciado no modo texto no futuro, uma vez que não há necessidade de um Nó Bitcoin sem cabeça para gastar RAM preciosa ao carregar uma área de trabalho gráfica completa:
Sudo systemctl set-default multi -user.target
Agora, reinicie o Raspberry Pi e verifique se você está logado na interface de linha de comando baseada em texto (toda a tela preta com texto em branco).
Os próximos seis comandos serão: 1: Diga ao sistema de onde deve buscar o software Bitcoin. 2: Atualize as informações do sistema sobre quais pacotes estão disponíveis para download e instalação. 3: Baixe e instale a versão baseada em texto do Bitcoin Core, além de outra ferramenta que será usada em seguida. 4 + 5: Remova todo o ambiente de área de trabalho gráfico para que não ocupe espaço no cartão SD.
Execute o último desses dois comandos de remoção repetidamente (talvez 4-5 vezes) até não remover mais pacotes. 6: Baixe e instale todas as atualizações disponíveis para todo o sistema. Digite-os em um comando de cada vez, pois cada comando irá fazer uma pergunta ou duas (normalmente, pressione Enter ou Y para continuar). O último comando provavelmente levará bastante tempo para terminar.
Sudo add-apt-repository ppa: bitcoin / bitcoin
Sudo apt update
Sudo apt install bitcoind deborphan
Sudo apt remove --auto-remove --purge libx11 -. *
Sudo apt remove --purge $ (deborphan) # Repita até que não seja mais removido
Melhor atualização
Depois disso, escreveremos um arquivo de texto de configuração muito curto e simples para o Bitcoin Core. Usaremos o editor baseado em texto "nano", pois é muito simples de usar. Não hesite em usar qualquer outro editor de texto se você tiver outro favorito, contanto que ele escreva arquivos txt simples. Esses dois comandos criam um diretório .bitcoin (que é onde o Bitcoin Core colocará mais tarde todos os arquivos de cadeias de blocos) em seu diretório pessoal e, em seguida, iniciará nano e abrirá um novo arquivo para edição:
Mkdir ~ / .bitcoin
Nano ~ / .bitcoin / bitcoin.conf
No nano editor, escreva as quatro seguintes linhas. Omita a última linha (poda) se você estiver conectando o PiDrive e quiser manter o bloco completo. Caso contrário, mude 1000 para no entanto muitos megabytes do bloco que deseja armazenar em todos os momentos (pelo menos 550). Tenha em mente, no entanto, que esse número controla apenas o espaço que o bloco se limita (o diretório ~ / .bitcoin / blocks).
Além desses, espere um par de gigabytes ou mais para outros dados em ~ / .bitcoin. Também continue pensando no espaço que o próprio sistema Ubuntu assume. E, finalmente, você provavelmente estará criando um swapfile que ocupará cerca de 2-3 GB. Veja quanto espaço livre você tem na partição que manterá o bloco com o comando "df -h ~. / Bitcoin" e depois subtrairá pelo menos 5-8 GB a partir disso. O seguinte deve funcionar em um cartão SD de 16 GB.
Dbcache = 800
Maxmempool = 50
Disablewallet = 1
Poda = 5000
Pressione Ctrl-X para sair do nano e depois pressione a tecla Y e Enter para salvar o arquivo.
No sabor Mate do Ubuntu Linux, 64 MB de memória compartilhada são reservados para a GPU (chip gráfico) por padrão. Podemos reduzir com segurança o mínimo de 16 MB, ganhando assim 48 MB de RAM adicional. Abra o arquivo /boot/config.txt:
Sudo nano /boot/config.txt
Em seguida, role para baixo até a parte inferior deste arquivo de texto (bastante longo) e adicione a seguinte linha:
Gpu_mem = 16
Mais uma vez, Ctrl-X e depois Y + Enter salva e sai.

LEVANDO O PIDRIVE PRONTO

O PiDrive vem pré-formatado para funcionar em um sistema Linux em um Pi. O meu continha apenas uma grande partição "ext4" que é exatamente o que é necessário.
No entanto, você também pode querer usar outro tipo de unidade (disco rígido USB externo, um SSD, um pendrive USB, etc.), e aqueles geralmente são formatados para o Windows, ou talvez não sejam formatados. Portanto, supondo que você já tenha conectado sua unidade ao Pi, o que precisamos fazer é remover qualquer partição existente e adicionar uma grande partição "ext4" que preenche toda a unidade.
No final, claro, eu usarei o meu PiDrive, mas por causa da demonstração aqui, liguei uma unidade de uma velha máquina Windows que me foi fornecida, por meio de um adaptador SATA a USB com energia externa barato (importante para obter um dispositivo externo Um, pois o Pi não poderá fornecer energia suficiente para um disco rígido). Esta unidade contém várias partições do Windows que eu precisava remover.
Primeiro, para obter uma visão geral das unidades que estão anexadas ao Pi, execute o seguinte comando. Observe que o sistema também trata o cartão SD como uma unidade:
Sudo fdisk -l
Isso me dá o seguinte no meu sistema com o antigo drive do Windows conectado:
Ninho bitcoin em framboesa
O primeiro disco, chamado / dev / mmcblk0, é o cartão SD, então não faça nada para isso, ou você perderá o sistema Ubuntu que você configurou. No meu sistema, o próximo disco é / dev / sda, e você pode ver que tem quatro partições chamadas / dev / sda1, 2, 5 e 6 que precisam ser removidas. Talvez você queira anotar os nomes das partições existentes no seu disco rígido, se houver.
Observe que TODOS OS DADOS que já podem estar no disco rígido serão perdidos, então não use uma unidade que contenha nada que você não queira perder. Escreva o seguinte comando para inserir o utilitário fdisk, alterando / dev / sda para o nome do disco rígido se for diferente:
Sudo fdisk / dev / sda
Aqui, você receberá um prompt de comandoPara excluir as partições existentes, digite d e aperte Enter, após o qual o prompt lhe perguntará qual o número de partição a ser excluído, juntamente com uma lista dos números de partições existentes. Pressione um número correspondente e, em seguida, Enter para excluir a partição. Repita até que não haja partições.
Agora, toque n para criar uma nova partição. Em seguida, p para torná-lo uma partição primária e 1 para dar a partição número 1 (e, portanto, o nome da partição / dev / sda1, se o nome do disco for / dev / sda). Nas perguntas sobre o primeiro e o último setor, basta pressionar Enter para que a partição preencha todo o disco rígido.
Ninho bitcoin em framboesa
Por último, pressione w + Enter para salvar as alterações no disco e sair da ferramenta fdisk.
Para formatar sua nova partição, digite o seguinte comando (certificando-se de alterar o nome da partição de forma apropriada, se seu disco não fosse / dev / sda):
Sudo mkfs.ext4 / dev / sda1
Depois de um curto espaço de tempo, você está pronto para montar a partição. No mundo do Linux, as unidades não são montadas para dirigir letras como no Windows. Em vez disso, você pode montar uma unidade / partição em qualquer lugar na árvore de arquivos. Aproveitaremos esse fato ao montar a partição do disco rígido no diretório ~ / .bitcoin, que é exatamente o lugar onde o Bitcoin Core salvará suas configurações e armazenará a cadeia de blocos. Desta forma, todo o sistema é armazenado no cartão SD (incluindo o próprio Bitcoin Core), exceto pelos arquivos de dados do Bitcoin Core.
Para fazer isso, você deve primeiro mover o diretório existente para fora do caminho e criar um novo diretório vazio para o qual a partição do disco será montada:
Mv ~ / .bitcoin ~ / .bitcoin-old
Mkdir ~ / .bitcoin
Agora, para indicar ao sistema que monte a unidade para o diretório recém-criado em cada inicialização, você precisa editar um arquivo de texto curto. Novamente, o editor de texto nano será útil:
Sudo nano / etc / fstab
Na parte inferior do arquivo, escreva a seguinte linha (lembre-se de mudar "sda1" se sua partição de disco rígido tiver sido nomeada de forma diferente e também altere "pinode" em seu nome de usuário):
/ Dev / sda1 /home/pinode/.bitcoin ext4 padrões 0 0
Em seguida, pressione Ctrl-x seguido de y e Enter para salvar o arquivo e sair nano.
Teste-o digitando a reinicialização sudo para reiniciar o sistema. Quando o Pi foi reiniciado, faça o login e digite df -h para ver todas as partições montadas. Sua partição de disco rígido recém-criada deve estar na lista junto com a informação que está montada no seu diretório .bitcoin:
Ninho bitcoin em framboesa
Finalmente, certifique-se de que a conta de usuário pinode (que estará executando o Bitcoin Core) tenha acesso total ao disco rígido e, em seguida, mova o arquivo bitcoin.conf para o disco rígido:
Sudo chown pinode /home/pinode/.bitcoin
Sudo chgrp pinode /home/pinode/.bitcoin
Mv ~ / .bitcoin-old / bitcoin.conf ~ / .bitcoin /

ADICIONANDO UM SWAPFILE

Agora, por um passo opcional, mas altamente recomendado, ou seja, adicionando um arquivo de troca. O Pi 3 tem 1 GB de RAM, o que é uma melhoria para Pi's anteriores, mas ainda bastante baixo para executar o Bitcoin Core como um nó completo, especialmente durante a sincronização com a cadeia de blocos. Um swapfile (ou uma partição swap) é uma parte do disco rígido (ou neste caso, o cartão SD) que atua como uma adição à RAM.
O sistema Ubuntu Mate não usa uma partição swapfile ou swap por padrão. A razão pela qual o passo é opcional é que swapfiles (e partições de troca) podem ser bastante difíceis em um cartão SD devido às muitas operações de leitura / gravação que estão sendo executadas, e os cartões SD apenas duram uma certa quantidade de operações de leitura / gravação.
Não é como se esgotar em alguns dias ou semanas ou qualquer coisa assim; Apenas esteja preparado para usar apenas seu cartão SD para este projeto. A razão pela qual a adição de um swapfile é altamente recomendada de qualquer maneira é que as chances são que você não poderá sincronizar com o bloco sem isso, uma vez que 1 GB de RAM pode ser simplesmente pouco demais. No entanto, configuraremos o sistema para usar apenas o arquivo swap se for estritamente necessário.
Se você estiver conectando um PiDrive, é altamente recomendável colocar o swapfile lá em vez do cartão SD. Basta usar /home/pinode/.bitcoin/swapfile em vez de / swapfile no restante dos comandos nesta seção.
Para configurar um swapfile, execute os seguintes comandos. 4 GB de RAM para um nó Bitcoin devem ser mais do que finos, por isso, dada a RAM de 1 GB de Pi, você pode configurar o arquivo swap em 3 GB:
Sudo fallocate -l 3G / swapfile
Sudo chmod 600 / swapfile
Sudo mkswap / swapfile
Sudo swapon / swapfile
Sudo nano / etc / fstab
O último comando abrirá o arquivo de configurações para partições a serem montadas no arranque. Desloque-se até o final e adicione a seguinte linha, depois Ctrl-X, depois Enter para salvar e sair do editor:
/ Swapfile none swap sw 0 0
Além disso, para permitir que o sistema use apenas o swapfile se necessário, abra o seguinte arquivo em nano executando:
Sudo nano /etc/sysctl.conf
No final do arquivo, adicione a seguinte linha:
Vm.swappiness = 1

PERMITIR O ACESSO SSH DE UM OUTRO COMPUTADOR NA REDE

Queremos tornar a configuração sem cabeça. Isso significa que não há monitores, teclados, ratos, etc. conectados ao Pi quando ele está sendo executado. Então, se quisermos fazer login no Pi de qualquer maneira, nós faremos uma conexão SSH com um computador comum e teremos acesso à linha de comando do Pi dessa maneira. Para permitir isso, precisamos obter o endereço IP local do Pi. Talvez você possa vê-lo na interface do usuário do roteador - caso contrário, comece o Terminal no Pi e execute ifconfig. Com uma conexão por cabo, seu endereço IP está na seção eth0, com uma conexão wi-fi, está na seção wlan0.
Ninho bitcoin em framboesa
Também teremos certeza de que o servidor SSH no Pi está instalado e iniciado no boot:
Sudo apt install openssh-server
Sudo systemctl habilita ssh
Agora você pode desligar o Pi (se você estiver no modo de texto até agora, pode fazê-lo usando o comando "sudo halt") e você pode remover o teclado, o mouse e a tela. Os únicos cabos que você precisa agora são os cabos de energia e Ethernet e, claro, o PiDrive se você estiver usando isso. Se você quiser entrar no Pi através do SSH de outro computador na rede, você pode fazê-lo com (altere "192.168.1.199" para o endereço IP do seu Pi e "pinode" no nome de usuário que você criou no Pi):
ssh pinode@192.168.1.199
Isso está assumindo que seu outro computador também executa algum tipo de Linux / Unix (talvez incluindo o MacOS?). Se você estiver no Windows, você pode usar o cliente PuTTY SSH.

LETANDO BITCOIN CORE INICIAR AUTOMÁTICAMENTE EM BOTÃO

Além disso, queremos que o Bitcoin Core comece sempre que o Raspberry Pi tenha sido iniciado. E, além disso, tentaremos iniciá-lo a cada cinco minutos, caso ele parasse por algum motivo. Uma maneira fácil de fazer isso é através de "crontab", que é um mecanismo em qualquer sistema Unix / Linux que pode iniciar programas e scripts em determinados momentos e ocasiões. Pode haver outras maneiras mais corretas de fazer isso, mas o crontab parece fazer o trabalho. Para editar as configurações do crontab, execute:
Crontab -e
Se esta foi a primeira vez que você executou esse comando (provavelmente era), você receberá um menu onde você pode escolher um editor de texto para usar. Novamente, se você não tiver outras preferências, selecione "nano". Percorra todo o caminho no arquivo que nano abriu para você e adicione o seguinte como as duas últimas linhas:
@reboot bitcoind -daemon
* / 5 * * * * bitcoind -daemon

PORTA ABERTA NO SEU ROUTER

Além do seu nó fazendo conexões para outros nós, você quer que outros nós também possam se conectar ao seu nó. Isso é feito encaminhando o tráfego recebido na porta 8333 para o Raspberry Pi. Como fazer isso, varia de rede para rede, mas tipicamente envolve a inserção da interface web do seu roteador ou modem de rede e a configuração do "encaminhamento de portas".
Normalmente, isso é feito simplesmente adicionando o endereço IP local do Raspberry Pi (que você encontrou acima, por exemplo, 192.168.1.199), juntamente com a porta número 8333 para uma lista de portas encaminhadas. Consulte a documentação do fabricante do seu roteador / modem sobre como fazer isso exatamente. Alguns roteadores até fazem isso automaticamente para que você não precise fazer nada.
Você pode verificar se funciona usando o recurso "Juntar a rede" do Bitnodes. Se retornar uma linha que inclua a palavra "Satoshi", você enviou o tráfego com êxito na porta 8333 para o seu Pi. Observe que, enquanto o seu Pi ainda está sincronizando o bloqueio, pode estar atrasado tanto que Bitnodes irá denunciá-lo como inalcançável. Tente novamente após a sincronização terminar.
Ninho bitcoin em framboesa

INICIE SEU NOVO NODE COMPLETO

Agora é hora de ligar o seu nó, e deixá-lo sincronizar com a rede. Isso provavelmente levará vários dias. Você pode acompanhar o progresso iniciando sessão (remotamente ou com um teclado) e executando o comando:
Bitcoin-cli getinfo
Compare a linha "blocos" com o número de bloco mais recente no seu explorador de blocos favorito (como Blockchain.info).
Alguns relataram que seu nó pára de sincronizar em torno de 300 mil blocos. Se for esse o caso, você pode querer substituir o diretório ~ / .bitcoin com meu diretório totalmente sincronizado (no momento da escrita), ou mesmo o meu completo arquivo de imagem do cartão SD que você pode baixar abaixo.
Ninho bitcoin em framboesa

DESCARREGUE E USE MEU PRÓXIMA IMAGEM PRONTA PARA IR EM VEZ

Já fiz o trabalho, então por que você deveria? Bem, porque você pode não confiar em mim para não oferecer um nó Bitcoin malicioso que entrará em sua rede privada e roubará todos os seus dados Bitcoins e privados. E por que você deveria? Depois de tudo, você não me conhece.
De qualquer forma, para os poucos valentes, completei este guia para você, deixe o nó se sincronizar com a rede Bitcoin e disponibilize um arquivo de imagem do meu cartão SD para download.
Baixe a imagem completa do Pi 3
O arquivo de imagem é para um nó podado sem qualquer unidade externa (como o PiDrive) anexado, pronto para ser usado em um Raspberry Pi 3 com um cartão SD de pelo menos 16 GB:
Baixe minha imagem de cartão SD do nó Bitcoin podada (quase) pronta para usar
SHA256: b9ce45dd2af0c3ab8d07ec31ea058bbaf92f641c679cc2225726113fffd5fd66
MD5: d3d33be1a85df13629c5d281bfc1c5b4
Depois de transferir a imagem para o seu cartão SD, é solicitado que você faça login (o pinode do usuário e a senha pinode) e altere a senha (você será solicitado a alterá-lo ao efetuar o login pela primeira vez) e depois executar os comandos de atualização do sistema abaixo (Isso também assegurará que o Bitcoin Core seja atualizado, no caso de uma nova versão ter sido liberada desde que este guia foi escrito):
Sudo apt update
Melhor atualização
Você ainda precisará abrir uma porta no seu roteador conforme descrito acima.
Baixe apenas o bloqueio para o seu nó
Você também pode querer configurar o sistema sozinho e baixar o meu diretório (na hora da escrita) completamente sincronizado ~ / .bitcoin para economizar no tempo de sincronização (que pode ser longo). Transfira o arquivo comprimido para o seu Pi através de SCP (transferência de arquivos através de SSH), copie o diretório no seu cartão SD através do leitor de cartão SD em seu computador normal ou baixe-o diretamente do Pi:
Baixe o diretório podado ~ / .bitcoin
SHA256: dd6ffcce71590f7a72356182ff80df00c11408a54b122305969fdb2df975fe63
MD5: c36816adf5ca4fb9ea515b871e318bfa
Com o arquivo compactado em seu diretório pessoal (~) no seu Pi, remova seu diretório de bitcoin antigo (faça backup do arquivo bitcoin.conf primeiro se você fez alterações para isso além do descrito neste guia) e extraia o arquivo para o lugar certo ( Pode levar algum tempo) com:
Cd ~
Rm -rf .bitcoin
Tar -zxvf bitcoindirectoryfilename.tar.gz

OBRIGADO!

Se quisermos concluir qualquer coisa com isso, deve ser que, enquanto instala e configura um sistema Raspberry Pi 3 para atuar como um nó Bitcoin, é um procedimento bastante suave, o hardware relativamente baixo especifica torna bastante doloroso realmente sincronizar Com a cadeia de blocos. Posível sim, mas ainda doloroso. Especialmente os últimos dois blocos parecem demorar para sempre e depois alguns. Quando o nó é sincronizado, no entanto, ele parece ser executado sem problemas.
Espero que goste deste guia, tanto quanto eu gostei de escrevê-lo. Se alguma coisa não estiver clara, ou você tem alguma sugestão para compartilhar, sinta-se à vontade para fazê-lo nos comentários abaixo. Também sinta-se livre (mas não é obrigado) poderia doar uma quantidade de sua escolha,? 
Para que nós possamos continuar com o nosso trabalho,!!
DOGECHAIN: D9vDENbadQbyGVbQjjKFTpDMGb947x6rQ6

BLOCKCHAIN: 1GXYVsDfYmRDQC69WEv1HYUB9UF49Cof1s

0 comentários:

Postar um comentário