Atomic Swap - Bitcoin (BTC) vs Monero (XMR): mudanças entre as edições

De Área31 Hackerspace
Sem resumo de edição
Sem resumo de edição
Linha 42: Linha 42:


==Monero-wallet-cli==
==Monero-wallet-cli==
Compile o '''monero-wallet-cli''' no Linux:
===Compile o '''monero-wallet-cli''' no Linux===


{{console|body=
{{console|body=
Linha 50: Linha 50:
$ ##i##make -j13
$ ##i##make -j13
}}
}}
{{tip|Também é possível executar o monerod em background, utilizando o parâmetro '''--detach'''}}
===Inicie o primeiro node===
O nó 01 ouvirá as conexões na porta 28080 e se conectará aos outros dois nós, ou seja, aqueles nas portas 38080 e 48080. Ele armazenará seu blockchain em ~/testnet/node_01. Vamos definir a mineração fixa com dificuldade em 100. Você pode alterá-la para o valor que quiser. Dessa forma, podemos manter os blocos de mineração mais rápido.
{{console|body=
$ ##i##DNS_PUBLIC=tcp://8.8.8.8 /opt/monero/build/Linux/master/release/bin/monerod --testnet  --no-igd --hide-my-port --data-dir ~/testnet/node_01 --p2p-bind-ip 127.0.0.1 --log-level 0 --add-exclusive-node 127.0.0.1:38080 --add-exclusive-node 127.0.0.1:48080  --fixed-difficulty 100
}}
===Inicie o segundo node===
O nó 02 ouvirá conexões na porta 38080 e se conectará aos outros dois nós, ou seja, aqueles nas portas 28080 e 48080. Ele armazenará seu blockchain em ~/testnet/node_02. Definimos com a mesma dificuldade do primeiro nó.
{{console|body=
$ ##i##DNS_PUBLIC=tcp://8.8.8.8 /opt/monero/build/Linux/master/release/bin/monerod --testnet --p2p-bind-port 38080 --rpc-bind-port 38081 --zmq-rpc-bind-port 38082 --no-igd --hide-my-port  --log-level 0 --data-dir ~/testnet/node_02 --p2p-bind-ip 127.0.0.1 --add-exclusive-node 127.0.0.1:28080 --add-exclusive-node 127.0.0.1:48080 --fixed-difficulty 100
}}




Inicie o monerod e aguarde o fim do sync (horas ou dias dependendo do hardware):
===Inicie o terceiro node===
{{tip|Também é possível executar o monerod em background, utilizando o parâmetro '''--detach'''}}
O nó ouvirá as conexões na porta 48080 e se conectará aos outros dois nós, ou seja, aqueles nas portas 28080 e 38080. Ele armazenará seu blockchain em ~/testnet/node_03. Definimos com a mesma dificuldade do primeiro e segundo nó.


{{console|body=
{{console|body=
$ ##i##DNS_PUBLIC=tcp://8.8.8.8 /opt/monero/build/Linux/master/release/bin/monerod --stagenet
$ ##i##DNS_PUBLIC=tcp://8.8.8.8 /opt/monero/build/Linux/master/release/bin/monerod --testnet --p2p-bind-port 48080 --rpc-bind-port 48081 --zmq-rpc-bind-port 48082 --no-igd --hide-my-port  --log-level 0 --data-dir ~/testnet/node_03 --p2p-bind-ip 127.0.0.1 --add-exclusive-node 127.0.0.1:28080 --add-exclusive-node 127.0.0.1:38080 --fixed-difficulty 100
}}
}}


[[Image:Monerodstagenet.png|1000px]]
[[Image:Monerodstagenet.png|1000px]]





Edição das 05h29min de 29 de abril de 2021

Status: Em construção
Progress: 10%
Last Update: Raphael Bastos 21:40, 26 Abril 2021 (BRST)


Responsável:
* Raphael Bastos


História

A Atomic Swap foi introduzida pela primeira vez por Tier Nolan nos fóruns BitcoinTalk em 2013[1]. Nolan delineou os princípios básicos para trocas de criptomoedas de cadeia cruzada usando transações simples de criptomoedas em diferentes tipos de blockchains .

Em setembro de 2017, as trocas atômicas chamaram a atenção da comunidade hacker quando o fundador do Litecoin, Charlie Lee anunciou a execução bem-sucedida de uma troca atômica entre litecoin e bitcoin no Twitter .

Em 2018 Lucas Soriano e sua equipe criou uma nova prova de conceito envolvendo Atomic Swap, provando que as trocas atômicas entre Grin[2] e Bitcoin eram possíveis. Em 2020 sua equipe nos abrilhantou com o novo conceito de Atomic Swap entre Monero[3] e Bitcoin. O objetivo do grupo é de conectar todas as blockchains existentes, e o foco do momento é o Monero pelo óbvio, a única criptomoeda com confiança dos seus usuários e completo anonimato dos valores transacionados.

Objetivos

  • Garantir que o software pode ser usado na mainnet[4] sem perda de fundos
  • Entender o melhor caso de uso para Atomic Swap entre Monero vs Bitcoin, e definir um produto que atenda ao referido caso de uso


Como funciona

swapCLI

swapCLI atua na função de Bob para trocar BTC por XMR. O comando principal é o buy-xmr que se conecta automaticamente a um serviço ASB.

ASB Service

ASB a abreviatura de Automated Swap Backend. O serviço atua como contraparte da swapCLI no papel de Alice. Ele fornece ao CLI uma cotação e a liquidez necessária para trocar BTC por XMR.[5]

Detalhes do funcionamento

Para entender melhor os diferentes componentes do ASB e swapCLI, aqui está um diagrama de componentes que mostra a configuração do ASB e da CLI usando a infraestrutura pública de Bitcoin e Monero:


Requisitos

   Atenção:

Nunca utilize o usuário ROOT para compilar e/ou executar nada deste artigo


Monero-wallet-cli

Compile o monero-wallet-cli no Linux

user $ git clone --recursive https://github.com/monero-project/monero
user $ sudo mv monero /opt
user $ cd /opt/monero ; git submodule sync && git submodule update
user $ make -j13
   Dica:

Também é possível executar o monerod em background, utilizando o parâmetro --detach



Inicie o primeiro node

O nó 01 ouvirá as conexões na porta 28080 e se conectará aos outros dois nós, ou seja, aqueles nas portas 38080 e 48080. Ele armazenará seu blockchain em ~/testnet/node_01. Vamos definir a mineração fixa com dificuldade em 100. Você pode alterá-la para o valor que quiser. Dessa forma, podemos manter os blocos de mineração mais rápido.

user $ DNS_PUBLIC=tcp://8.8.8.8 /opt/monero/build/Linux/master/release/bin/monerod --testnet  --no-igd --hide-my-port --data-dir ~/testnet/node_01 --p2p-bind-ip 127.0.0.1 --log-level 0 --add-exclusive-node 127.0.0.1:38080 --add-exclusive-node 127.0.0.1:48080  --fixed-difficulty 100


Inicie o segundo node

O nó 02 ouvirá conexões na porta 38080 e se conectará aos outros dois nós, ou seja, aqueles nas portas 28080 e 48080. Ele armazenará seu blockchain em ~/testnet/node_02. Definimos com a mesma dificuldade do primeiro nó.

user $ DNS_PUBLIC=tcp://8.8.8.8 /opt/monero/build/Linux/master/release/bin/monerod --testnet --p2p-bind-port 38080 --rpc-bind-port 38081 --zmq-rpc-bind-port 38082 --no-igd --hide-my-port  --log-level 0 --data-dir ~/testnet/node_02 --p2p-bind-ip 127.0.0.1 --add-exclusive-node 127.0.0.1:28080 --add-exclusive-node 127.0.0.1:48080 --fixed-difficulty 100


Inicie o terceiro node

O nó ouvirá as conexões na porta 48080 e se conectará aos outros dois nós, ou seja, aqueles nas portas 28080 e 38080. Ele armazenará seu blockchain em ~/testnet/node_03. Definimos com a mesma dificuldade do primeiro e segundo nó.

user $ DNS_PUBLIC=tcp://8.8.8.8 /opt/monero/build/Linux/master/release/bin/monerod --testnet --p2p-bind-port 48080 --rpc-bind-port 48081 --zmq-rpc-bind-port 48082 --no-igd --hide-my-port  --log-level 0 --data-dir ~/testnet/node_03 --p2p-bind-ip 127.0.0.1 --add-exclusive-node 127.0.0.1:28080 --add-exclusive-node 127.0.0.1:38080 --fixed-difficulty 100



Crie uma nova carteira local na stagenet, e desative a mineração:

user $ /opt/monero/build/Linux/master/release/bin/monero-wallet-cli --stagenet --generate-new-wallet ~/MyWallet

Arquivo:Monero-wallet-cli.png


Feche a carteira, e execute novamente com a senha em parametro:

user $ /opt/monero/build/Linux/master/release/bin/monero-wallet-cli --stagenet --wallet-file ~/MyWallet --password pgApFHQN5QZqk76Rpe2kKlvcohun6bX0Y2x6P5ELsV7uJ2DAxNb6wZffIIY6dD



Referências:

Cookies nos ajudam a entregar nossos serviços. Ao usar nossos serviços, você concorda com o uso de cookies.