ESTE TUTORIAL PRECISA SER REVISADO!
1.Verifique a arquitetura da sua máquina com o comando:
$ lscpu
Isso deve lhe retornar algo do tipo:
Architecture: aarch64 Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 Vendor ID: ARM Model: 3 Model name: Cortex-A72 Stepping: r0p3 CPU max MHz: 1500.0000 CPU min MHz: 600.0000 BogoMIPS: 108.00 Flags: fp asimd evtstrm crc32 cpuid
O que nos interessa aqui é a “Architecture”, no caso da minha máquina de testes (Raspberry pi 4) é a aarch64.
Após saber a arquitetura do processador, vamos ao site da linguagem go que nos oferece uma lista com várias opções de arquiteturas e encontraremos a do nosso caso.
2.Instalando o Go
Versões Go: https://go.dev/dl/
Como no meu caso é aarch64 ou, ARM64, no meu caso escolherei o arquivo go1.21.6.linux-arm64.tar.gz, mas para o seu caso pode ser diferente e você deve escolher a correta.
Sabendo o arquivo que necessita baixar, rode o seguinte comando:
$ wget https://go.dev/dl/https://go.dev/dl/<arquivo_Go_da_lista>
Substitua o arquivo na parte <arquivo_Go_da_lista> e rode o comando. Isso fará o download do arquivo compactado no diretório em que estiver no momento, sugiro que faça na home do seu User para facilitar o processo.
Agora devemos extrair:
$ sudo tar -C /usr/local -xzvf <arquivo_Go_da_lista.tar.gz>
Após a extração, fazer o export:
$ sudo export PATH=$PATH:/usr/local/go/bin
Para testar se deu certo a instalação do Go, rode:
$ go version
Isso deve lhe entregar a versão vigente.
3.Instalando o Peerswap
Rode o seguinte comando:
$ git clone https://github.com/ElementsProject/peerswap.git && \
make lnd-release
Isso instalará o peerswap. Agora devemos criar um diretório .peerswap para configurar o peerswap.conf:
$ mkdir -p ~/.peerswap
$ sudo nano ~/.peerswap/peerswap.conf
Adicione neste arquivo as seguintes informações:
lnd.tlscertpath=/home/<SEUSER>/umbrel/app-data/lightning/data/lnd/tls.cert
lnd.macaroonpath=/home/<SEUSER>/umbrel/app-data/lightning/data/lnd/data/chain/bitcoin/mainnet/admin.macaroon
elementsd.rpcuser=<user_elementscore>
elementsd.rpcpass=<password_elementscore>
elementsd.rpchost=http://127.0.0.1
elementsd.rpcport=7041
elementsd.rpcwallet=peerswap
elementsd.liquidswaps=true
Substitua o <SEUSER> pelo seu usuário que foi instalado o peerswap e substitua os campos de <user_elementscore> e <password_elementscore>, pelo usuario e senha RPC dados pelo elements core respectivamente, na interface gráfica, como na imagem a seguir:
Feito isso, saia do editor de texto salvando: ctrl+x e y.
Teste se o peerswap está rodando com:
$ ~/go/bin/pscli --version
ou
$ ~/go/bin/pscli listpeers
Isso deve lhe entregar a versao atual do peerswap ou a lista de peers seus que já possuem o peerswap ativo, caso não lhe entregar alguma das informações, o peerswap não está configurado corretamente.
A partir daqui você já pode estar utilizando o Peerswap, rode o seguinte comando para obter a lista de comandos gerais:
$ ~/go/bin/pscli
4.Configurando o Peerswap
Após instalar corretamente, vamos configurar para que você coloque seus peers em sua whitelist e habilite swap requests deles, vamos colocar também, a opção de bitcoin swaps em false para evitar swaps em btc onchain não desejados.
Rode o seguinte comando para habilitar requisições de swap:
$ ~/go/bin/pscli allowswaprequests
E então rode o listpeers para verificar os peers que também rodam o Peerswap:
$ ~/go/bin/pscli listpeers
Isso lhe retornará as informações dos peers, então adicione os que quiser a whitelist:
$ ~/go/bin/pscli addpeer --peer_pubkey <pubkey>
E então para aplicar as alterações rode:
$ ~/go/bin/pscli reloadpolicy
5.Criando um serviço
Para rodar o peerswap automaticamente após o reboot da máquina ou iniciar automaticamente após o start da máquina, é preciso criar um serviço, rode o seguinte comando para criar o serviço:
$ sudo nano /etc/systemd/system/peerswapd.service
E então dentro do editor de texto cole as seguintes informações, alterando para o seu caso de uso:
[Unit] Description=Peer Swap Daemon [Service] ExecStart=/home/<seu-user>/go/bin/peerswapd User=<seu-user> Type=simple KillMode=process TimeoutSec=180 Restart=always RestartSec=60 [Install] WantedBy=multi-user.target
Saia salvando com: ctrl+x e y e enter.
Agora devemos habilitar e ligar o serviço, rode os comandos na sequência:
$ sudo systemctl enable peerswapd.service
$ sudo systemctl daemon-reload
$ sudo systemctl start peerswapd.service
$ sudo systemctl status peerswapd.service
Este último comando retornará o status do serviço, se tudo ocorrer bem, ficará como na imagem a seguir:
Conclusão
Pronto, a partir daqui você está com o peerswap rodando, para fazer swap in você precisará de LBTC e, para isso, preparei um tutorial de como emitir LBTC com seu próprio node: clique aqui.
No próximo tutorial, ensinarei como instalar o Peerswap Web, uma aplicação com interface gráfica para facilitar o uso do Peerswap! Clique aqui para acessar o tutorial.
Contato
Twitter: EMTLL_
Telegram: EM_TLL
Amboss: EMTLL
Se gostou do tutorial e quiser contribuir com alguns satoshis, envie para o LN Address: emtll@lnmarkets.com