Важно!
"Хотя это программное обеспечение хорошо сработало для меня и хорошо подходит для основной сети, оно,
конечно, не является надежным и все еще находится в активной разработке.
Свопы всегда должны заканчиваться либо полным свопом, либо получением средств обеими сторонами,
но имейте в виду, что могут существовать ошибки, и вы очень рано переходите к атомарным свопам в целом.
Я не несу ответственности за любые потерянные средства или проблемы,
которые могут возникнуть у вас с обработкой Bitcoin / Monero, участвующих в свопах,
но постараюсь помочь как можно больше, если вы столкнетесь с проблемами."
"Цена собирается автоматически из Kraken и регулярно обновляется,
с дополнительным спредом поверх рыночной цены, установленной селлером.
Адрес изменения Биткойна, который вы предоставляете, должен быть неиспользуемым адресом по соображениям конфиденциальности.
Адрес смены bitcoin будет использоваться в случае свопа для возврата средств на ваш собственный кошелек.
В идеале адрес получения Monero должен быть дополнительным адресом для однорангового узла подкачки (или для обмена).
Требуется 2 подтверждения на стороне Биткойна и 10 на стороне Monero,
поэтому будьте терпеливы во время процесса обмена и позвольте инструменту обмена сделать свое дело.
Если вам нужно остановить его во время свопа, вы можете использовать функцию./swap resume,
но идеально оставить инструмент открытым до тех пор, пока своп не будет завершен
. Дополнительные сведения о протоколе и шагах см. в разделе
.
"
Все действия выполнялись в Whonix, так-как хост не поддерживает libc6 выше 2.27 (нужен мин. 2.28), в Whonix 2.31
Лайт режим.
Заходите на
Выберите своп-провайдера
Выбираете сумму в битках (там есть мин. и макс.)
Автоматом высвечивается сумма в монеро
Введите соответствующие адреса Monero и Bitcoin, которыми вы управляете.(оба Ваши)
адрес Моенро, тот на который придут .
Адрес битка , с которого Вы будете отправлять.
Ставите галочку "Я Согласен" Вы же правда читает всё, с чем соглашаетесь?!
Жмёте "Далее"
Следуете инструкциям (открыть терминал и скопипастить то, что будет в консоли браузера)
Запустить команду. (энтер)
Далее появится загрузка бинарника (да, там бинарник)~35 Mb
После загрузка Монеро РПЦ (не Церковь!)~80Mb
"Downloading monero-wallet-rpc (79.95 MiB) from
"
Если выбранный провайдер в сети (или Ваше соединение TOR нормальное) то высветиться
QR-код и :
"Connected to Alice at /ip4/51.15.44.142/tcp/9939/p2p/12D3KooWAPci3x4GuWDi9P86efnR1q9a7phKnPwnwQcRNMW2HDUy
(или то, которого провайдера Вы выбрали)
Received quote price=0.00467912 BTC minimum_amount=, то с Вас BTC maximum_amount=0.15000000 BTC
Waiting for Bitcoin deposit deposit_address=bc1qblablabla max_giveable=0.00000000 BTC minimum_amount=0.00005000 BTC maximum_amount=0.15000000 BTC
Received Bitcoin new_balance=(Сумма_Которую_Вы_ввели) BTC max_giveable=(Сумма_Которую_Вы_ввели_Минус_Комиссия) BTC "
Тут необходимо Внимание, так-как Комиссия за своп включает в себя как комсиию сети битка, так и комиссию селлера,
то-есть, Вам необходимо ввести комиссию сети+(на момент испытания~276sat).
По факту- это двойная комиссия.
Если Вы введёте просто в кошельке минимум 0.00005000, то транзакция не пройдёт, так-как сумма будет менее >0.00005000, то-есть 0.00004725
Далее просто ждёте
"Starting new swap swap_id=blablabla
Published Bitcoin transaction txid=0blablablabla..............bla kind=lock
Waiting for Alice to lock Monero"
Снова Ждёте, долго:
"Требуется 2 подтверждения от сети Биткоина и 10 подтверждений от сети Монеро"
И будут они идти по очереди, то-есть первым битки (2 блока) и только после этого блоки Монерки.
Successfully transferred XMR to wallet monero_receive_address=blablabbla......bla
Минусы такого свопа:
Дорого, от 2 до 5% забирает селлер.
Комиссия может не совпадать с существующей на данный момент, на гите уже поднимали эту тему.
Долго! (Всё относительно)
Ну и Третье лицо в роли сайта , можно долго утверждать, что TLS, они не ведут логи и проч.
Но, во первых это клирнет, во вторых - Все ведут логи. По крайней мере от этого необходимо отталкиваться.
Менее "Удобный вариант" (хотя по сути то-же самое)
cd ~/Downloads
tar xvf swap_0.10.0_Linux_x86_64.tar
./swap --version
точка для теста:
./swap list-sellers --rendezvous-point /dnsaddr/rendezvous.coblox.tech/p2p/12D3KooWQUt9DkNZxEn2R5ymJzWj15MpG6mTW84kyd8vDaRZi46o
!Она не прошла, да и вообще поиск селлеров не принёс результатов!
Зато поискав в сети... можно найти этих самых селлеров:
"/ip4/51.15.44.142/tcp/9939/p2p/12D3KooWAPci3x4GuWDi9P86efnR1q9a7phKnPwnwQcRNMW2HDUy
Received quote price=0.00474370 BTC minimum_amount=0.00005000 BTC maximum_amount=0.15000000 BTC
Waiting for Bitcoin deposit deposit_address=bc1qblablabla1 max_giveable=0.00000000 BTC minimum_amount=0.00005000 BTC maximum_amount=0.15000000 BTC
/ip4/167.172.228.130/tcp/9939/p2p/12D3KooWDvxte2yJQMSkxqiLEsn4N39isMKf95Vt5dBJYtpWqJZm
Received quote price=0.00469742 BTC minimum_amount=0.00010000 BTC maximum_amount=0.07000000 BTC
Waiting for Bitcoin deposit deposit_address=bc1q0blablabla2 max_giveable=0.00000000 BTC minimum_amount=0.00010000 BTC maximum_amount=0.07000000 BTC
/ip4/80.78.22.113/tcp/9939/p2p/12D3KooWNmdXGztkd21JcHvCUWRi5Mb4C8bTrqhMBGbjs6Wbchrk
Error: request timed out
/onion3/xmrswapnme3snsgr2oydj2fmgao2l7acpyzncwnacmi5i5vbgnqby4id:9941/p2p/12D3KooWMFPndCd4w3EkKQrFiecB72zbCPWbHWiN7K2U7QAxMit8
Error: request timed out
/ip4/62.210.108.45/tcp/9939/p2p/12D3KooWGRN7KdYQz33jDnWed36vWFpreLzEBSdeBYBdB8PTnDG4
Received quote price=0.00494340 BTC minimum_amount=0.00010000 BTC maximum_amount=0.00200000 BTC
Waiting for Bitcoin deposit deposit_address=bc1qblablabla3 max_giveable=0.00000000 BTC minimum_amount=0.00010000 BTC maximum_amount=0.00200000 BTC
"
Из той-же дирректории, где бинарник:
"./swap buy-xmr --receive-address Ваш_адрес_Монеро --change-address Ваш_адрес_Биткоина --seller /ip4/51.15.44.142/tcp/9939/p2p/12D3KooWAPci3x4GuWDi9P86efnR1q9a7phKnPwnwQcRNMW2HDUy"
Подучаем:
"Connected to Alice at /ip4/51.15.44.142/tcp/9939/p2p/12D3KooWAPci3x4GuWDi9P86efnR1q9a7phKnPwnwQcRNMW2HDUy
Received quote price=0.00474370 BTC minimum_amount=0.00005000 BTC maximum_amount=0.15000000 BTC
█████████████████████████████████████
████ █ █ █ ▀ █▀▀ ▀▀▀▀▀█ █ █ ████
████ █ █ █ ▀ ▄▄▀██▀▄▄█▄▄▄▄▄ ▄ ████
████ █▄▄▄█ █▄ █▀▄▄▀▄▀▄ ▄▄▄▄ █ █████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Waiting for Bitcoin deposit deposit_address=bc1qblablabla max_giveable=0.00000000 BTC minimum_amount=0.00005000 BTC maximum_amount=0.15000000 BTC
(Адрес тот, на который необходимо отправить битки)QR-код в примере обрезан!)
Вводим сумму в Своём кошельке Биткоин (не забываем о доп. комисии~276sat(может быть выше зависит от загруженности мемпула))
Отправляем транзакцию
Ждём
.......
Starting new swap swap_id=blablabla
"Waiting for Alice to lock Monero"
Если Вы решили поэксперементировать и у Вас не хватило комсы, то отправляете на ТОТ_ЖЕ адрес суммы чуть выше , обе транзакции придут
RBF тут не поможет (это не для этого предназначено)
Если Вдруг, у Вас возникли проблемы:
"
1.Возобновить обмен
"./swap resume --swap-id <SWAP ID>"
2.Если возобновить не удается, дождитесь 72 подтверждений транзакции депозита в биткойнах.
3.Отмените своп после 72 подтверждений транзакции депозита в биткойнах.
"./swap cancel --swap-id <SWAP ID>"
4.Возврат свопа сразу после публикации транзакции отмены и до 72 подтверждений транзакции отмены биткойнов.
"./swap refund --swap-id <SWAP ID>"
Если описанные выше шаги не привели к надлежащей отмене и возврату транзакции,
и вы уверены, что выждали требуемый период, отправьте сообщение
о проблеме в Github(
) или обратитесь за помощью в Matrix ( #comit-monero:matrix.org) как можно скорее .
"
Важно!
"ПРИМЕЧАНИЕ: Если после отмены пройдет 72 подтверждения,
селлер может наказать своп за ненадлежащее выполнение,
что позволит им принять биткойн в качестве наказания за то,
что вы не ответили должным образом.
Обязательно выполните шаг возврата в течение 72 блоков подтверждения после инициирования отмены."
================
Кто такое селлер в свопе?
Вам необходимо понимать, что нужны монеты монеро.
Защищённый сервер.
monero-wallet-rpc
Защищённая нода Биткоина. (можно использовать ноду третьего лица, но это уязвимость)
Комиссии варируются от 2% до 5% , не считая комиссия сетей. В действительности у обменников дешевле выходит
на данный момент на бесте 0.005BTC=1.083XMR
На свопе 0.005BTC=1.072XMR , правда обновляется очень быстро, чего нельзя сказать о бесте
Кракен не совсем "нормальная" по цене биржа, но от этого не уйти (если пользоваться только как клиент)
Дополнительный сайт по свопу
какие потом придут битки "грязные" или "читые" это уже на удачу (смотря какой обменник, проблема в том, что официальные обменники могут не работать с монеро),
в прочем как и везде.
Но придётся доверять хозяину монеро. что он не сольёт эту транзакцию. (он то знает адрес битка, от которого пришёл биток)
Второй
попросту довериться сервису по "очистке" или "Вы нам одни битки, мы Вам другие", то-есть та-же самая обрезка. (по простоте это видимо первый!)
Третий.
Тут придётся брать сервак, или если у Вас стальне яйца и титановый анус, делать у себя на компе.
Селлер.
Важно!
При работе в ТОР-е селлером(если Вы используете настроки свопа через ТОР), может возникнуть казус, и Вы потеряете свои средства.
По всей видимости это переключение нод. По этой причине зачастую на
тор-селлер не работает!
Из нескольких попыток работы селлером через Тор ни одна не увенчалась успехом.
Обратный своп, XMR>BTC зависит от разработчиков Монеро, обещали прошедшей весной сделать обновление, воз и ныне там.
Сервер ubuntu lts, установка torsocks, все действия через тор.
Перевод (машинный) на данный момент сайт не работает. Картинок нет!
blog.sethforprivacy.com
Введение
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ. Если вы прочитали это руководство и не имеет четкого представления о том, как работает установка и как работает инструмент ASB, сначала протестируйте программное обеспечение в тестовой сети, а не в основной сети. Это руководство предназначено для тех, кто серьезно относится к работе с ASB, понимает последствия и может работать сам с передовым программным обеспечением.
Это было давно, но это, наконец, здесь. Сегодня вы можете получить биткойны <> Monero напрямую через Tor, без хранителя или доверенной стороны, без информации KYC (знай своего клиента), ничего. В этом исследовании вы узнаете, как действовать в качестве поставщика (также известного как продавец или «система автоматической платы» [ASB]).
Это будущее межсетевых свопов, и оно возможно уже сегодня.
Атомарные свопы обнаруживают множество вариантов использования кроссчейна, но главное то, что они не требуют доверия, не достигают цензуры и полностью анонимны/псевдонимны.
Для получения более поздней информации об атомарных свопах безопасности по ссылкам ниже:
⌗
Это руководство будет попыткой упростить и обобщить то, что я предположил при выборе ASB для собственного тестирования, а также выбрал более простой формат и предложения для назначения и работы. Эта начальная сборка немного более продвинутая, но я работаю над настройкой Docker Compose, которая должна быть намного проще для начала работы и обновления.
Официальное руководство можно найти здесь, и его достаточно для начала, если вы предпочитаете обращаться к документам:
Чтобы лучше понять, что делает этот asb инструмент, почему вам необходимо использовать его для продажи XMR и как он взаимодействует с планшетом swap, прочитайте часть официального сообщения ниже:
Если вы хотите углубиться в то, как работает протокол, и в особенности каждого шага в процессе обмена (который я рекомендую), вы можете сделать это в следующем сообщении в блоге:
Понимание этапов процесса обмена
Я не буду переписывать это в своем руководстве, так как оно хорошо изложено в блоге сети COMIT. Я настоятельно рекомендую ознакомиться с процессом подкачки и прочитать как можно больше документа, который вы можете понять выше, но наиболее актуальный раздел находится здесь:
Сохранение конфиденциальности/анонимности
Важно, чтобы вы понимали, что запуск этого инструмента позволит пользователям на стороне CLI связать идентификаторы транзакций с IP-адресом, если только вы не используете Tor для всех сетей. Вот несколько быстрых рекомендаций по защите вашей конфиденциальности и/или анонимности при работе с инструментом:
Никогда не запускайте этот инструмент из дома, если вы не используете только Tor и не раскрываете какие-либо адреса чистой сети.
Если вы работаете дома, никогда не открывайте компьютер, на котором работает это программное обеспечение, в Интернете через SSH, если это вообще возможно.
Если у вас нет особой причины или вы не хотите, чтобы те, у кого нет доступа к Tor или кто не понимает Tor, могли обмениваться с вами, используйте только asbинструмент, лежащий в основе Tor .
Если вам нужно поделиться журналами по какой-либо причине, обязательно отредактируйте:
Поменять идентификаторы
Идентификаторы транзакций
IP-адреса
Запустите свой собственный узел Monero
Если возможно, запустите свой собственный биткойн-узел и сервер ElectrumX.
Используйте инструмент конфиденциальности биткойнов, такой как Samourai Wallet , чтобы защитить свою конфиденциальность и защитить вас от испорченного биткойна после получения средств от свопов.
Чтобы узнать больше о конфиденциальности биткойнов, ознакомьтесь с сообщениями BitcoinQnA по этой теме здесь:
Чтобы узнать, как использовать кошелек Samourai, см. его руководство здесь:
Предварительные условия
В этом руководстве предполагается, что следующие вещи уже установлены:
У вас уже есть компьютер/сервер для размещения этого инструмента (предпочтительно VPS или выделенный сервер, размещенный для вас)
Вы можете получить доступ к командной строке на хосте, который хотите использовать для инструмента.
Если вы хотите использовать DNS, у вас уже есть доменное имя и вы умеете настраивать DNS.
Вы либо используете свой собственный узел Monero, либо у вас есть удобный узел, которому вы доверяете.
Любой желающий может использовать мой публичный узел Monero
У вас уже есть некоторое количество Monero, которое вы готовы продать через ASB.
Вам удобно отправлять и получать Monero
Вам удобно обращаться с потенциально испорченными биткойнами с помощью такого инструмента, как Samourai Wallet .
Получение инструментов
В этом руководстве также предполагается, что вы используете Linux, но команды должны быть одинаковыми для macOS и примерно такими же для Windows. Первый шаг к началу работы — получение всех необходимых инструментов.
Автоматизированный своп-брокер (ASB)
Создайте папку для хранения всех наших соответствующих файлов.
mkdir ~/asb
cd ~/asb
Загрузите последнюю версию asbинструмента, т . е. asb_0.10.0_Linux_x86_64.tar через браузер .
Кроме того, вы можете загрузить инструмент через интерфейс командной строки.
wget
Извлеките asb двоичный файл
Откройте терминал
Выполните следующие команды:
tar xvf asb_0.10.0_Linux_x86_64.tar
rm asb_0.10.0_Linux_x86_64.tar
sudo chmod +x asb
sudo cp asb /usr/local/bin/
Убедитесь, что двоичный файл работает правильно
asb --version
Monero-кошелек-
Загрузите последнюю версию бинарных файлов Monero, т.е.monero-linux-x64-v0.17.2.3.tar.bz2
Кроме того, вы можете загрузить инструмент через интерфейс командной строки.
cd ~/asb
wget
Извлеките monero-wallet-rpcдвоичный файл
Откройте терминал
Выполните следующие команды:
tar xvf monero-linux-x64-v0.17.2.3.tar.bz2
sudo chmod +x monero-x86_64-linux-gnu-v0.17.2.3/monero-wallet-rpc
sudo cp monero-x86_64-linux-gnu-v0.17.2.3/monero-wallet-rpc /usr/local/bin
rm monero-linux-x64-v0.17.2.3.tar.bz2
rm -rf monero-x86_64-linux-gnu-v0.17.2.3
Убедитесь, что двоичный файл работает правильно
monero-wallet-rpc --version
Демон Tor
Если вы используете Debian, просто выполните следующую команду, чтобы установить и запустить Tor
sudo apt-get install tor
sudo systemctl enable tor
sudo systemctl start tor
Если вы используете Ubuntu, используйте репозиторий, предоставленный Tor, следуя их официальной документации.
После того, как вы настроили репозиторий Tor, выполните следующие команды, чтобы установить и запустить Tor.
sudo apt install tor deb.torproject.org-keyring
sudo systemctl enable tor
sudo systemctl start tor
Если вы используете CentOS/RHEL, используйте предоставленный Tor репозиторий, следуя их официальной документации.
После того, как вы настроили репозиторий Tor, выполните следующие команды, чтобы установить и запустить Tor.
sudo yum install tor
sudo systemctl enable tor
sudo systemctl start tor
Первичное закаливание с помощью UFW
Мы хотим убедиться, что система защищена простым способом, убедившись, что брандмауэр заблокирован, чтобы разрешить доступ только к портам, необходимым для SSH и asb, используя UFW.
На сайте Landchad.net можно найти отличное введение в работу с UFW .
Выполните следующие команды, чтобы добавить некоторые основные правила UFW и включить брандмауэр:
# Deny all non-explicitly allowed ports
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Allow SSH access
sudo ufw allow ssh
# Allow the default ASB ports (remove the following two lines if running exclusively over Tor, as they are not needed)
sudo ufw allow 9939/tcp
sudo ufw allow 9940/tcp
# Enable UFW
sudo ufw enable
Настройка инструментов
Настройка пользователя asb и каталогов
Ниже мы настроим уникального пользователя для этих двух инструментов и каталогов, которые нам понадобятся.
# Create a system user and group to run asb and monero-wallet-rpc as
sudo addgroup --system asb
sudo adduser --system asb --home /var/lib/asb
# Create necessary directories for the asb tools
sudo mkdir /var/run/asb
sudo mkdir /var/log/asb
sudo mkdir /etc/asb
# Set permissions for new directories
sudo chown asb:asb /var/run/asb
sudo chown asb:asb /var/log/asb
sudo chown -R asb:asb /etc/asb
Конфигурация monero-wallet-rpc systemd
monero-wallet-rpc это то, что asb инструмент будет использовать для подключения к блокчейну Monero, управления средствами Monero и подписания/отправки транзакций по мере необходимости для каждого свопа.
Самый простой способ запустить это автоматически с правильными параметрами — просто скопировать содержимое сценария systemd ниже и сохранить его с /etc/systemd/system/monero-wallet-rpc.service с помощью vim или nano:
sudo nano /etc/systemd/system/monero-wallet-rpc.service
Чтобы выйти из оболочки nano и сохранить файл, нажмите ctrl+x.
ПРИМЕЧАНИЕ. Если вы не используете узел Monero на другом хосте, обязательно замените 127.0.0.1:18089аргумент daemon-host на соответствующий URL-адрес демона Monero, т node.sethforprivacy.com:18089. е. .
конф Скрипт monero-wallet-rpc systemd
[Unit]
Description=Monero Wallet RPC (Mainnet)
After=network.target
[Service]
# Process management
####################
Type=forking
PIDFile=/var/run/asb/monero-wallet-rpc.pid
ExecStart=/usr/local/bin/monero-wallet-rpc --pidfile /var/run/asb/monero-wallet-rpc.pid --daemon-host 127.0.0.1:18089 --rpc-bind-port 18083 --disable-rpc-login --wallet-dir /etc/asb --detach --log-file /var/log/asb/monero-wallet-rpc.log
Restart=on-failure
RestartSec=30
# Directory creation and permissions
####################################
# Run as asb:asb
User=asb
Group=asb
# /run/asb
RuntimeDirectory=asb
RuntimeDirectoryMode=0710
# /var/lib/asb
StateDirectory=asb
StateDirectoryMode=0710
# /var/log/asb
LogsDirectory=asb
LogsDirectoryMode=0710
# /etc/asb
ConfigurationDirectory=asb
ConfigurationDirectoryMode=0710
# Hardening measures
####################
# Provide a private /tmp and /var/tmp.
PrivateTmp=true
# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full
# Deny access to /home, /root and /run/user
ProtectHome=true
# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
Автоматизированный своп-брокер (ASB) systemd config
Самый простой способ запустить это автоматически с правильными параметрами — просто скопировать содержимое сценария systemd ниже и сохранить его с /etc/systemd/system/asb.service с помощью vim или nano:
sudo nano /etc/systemd/system/asb.service
Чтобы выйти из оболочки nano и сохранить файл, нажмите ctrl+x.
конф asb системный скрипт
[Unit]
Description=Automated swap broker (ASB)
After=network.target monero-wallet-rpc.service
[Service]
# Process management
####################
Type=simple
ExecStart=/usr/local/bin/asb --config /etc/asb/config.toml start
StandardOutput=append:/var/log/asb/asb.log
# Directory creation and permissions
####################################
# Run as asb:asb
User=asb
Group=asb
# /var/log/asb
LogsDirectory=asb
LogsDirectoryMode=0710
# /etc/asb
ConfigurationDirectory=asb
ConfigurationDirectoryMode=0710
# Hardening measures
####################
# Provide a private /tmp and /var/tmp.
PrivateTmp=true
# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full
# Deny access to /home, /root and /run/user
ProtectHome=true
# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
Файл конфигурации ASB
Этот файл конфигурации определяет, как работает asbинструмент, поэтому не забудьте изменить параметры по своему усмотрению.
Вот основные параметры, которые вы должны изменить:
external_addressesдолжны отражать доступные внешние адреса
Если вы делаете ASB только для Tor, вам нужно будет запустить ASB один раз, скопировать /onion3/перечисленные там адреса и добавить их, например:
external_addresses = ["/onion3/b4wfknratwn6rcpvpczs5pgtyyafedpcfjqnupr32qdfu63x6odql4id:9939", "/onion3/b4wfknratwn6rcpvpczs5pgtyyafedpcfjqnupr32qdfu63x6odql4id:9940"]
При использовании адресов IPv4 без DNS используйте запись, например:
external_addresses = ["/ip4/5.9.120.18/tcp/9939", "/ip4/5.9.120.18/tcp/9940/ws"]
Если вы используете DNS, используйте запись, например:
external_addresses = ["/dns4/swap.sethforprivacy.com/tcp/9939", "/dns4/swap.sethforprivacy.com/tcp/9940/ws"]
Если вам удобно работать с расширенными конфигурациями DNS, изучите /dnsaddr формат, используя приведенную ниже документацию.
Вот некоторые ключевые параметры, которые вы должны изменить:
min_buy_btc должен отражать минимальный размер в BTC, который вы хотели бы, чтобы участники свопа могли предложить
max_buy_btc должен отражать максимальный размер в BTC, который вы хотели бы, чтобы участники свопа могли предложить
ask_spread должен быть установлен на ваш предпочтительный спред (процент сверх рыночной цены, который вы будете взимать)
0.05равен 5%, 0.10равен 10% и т.д.
electrum_rpc_url если вы запускаете свой собственный сервер Electrum или доверяете ему больше, чем серверу по умолчанию
Создайте конфигурацию для процесса asb
sudo nano /etc/asb/config.toml
Чтобы выйти из оболочки nano и сохранить файл, нажмите ctrl+x.
конф конфигурационный файл asb
[data]
dir = "/etc/asb"
[network]
listen = ["/ip4/0.0.0.0/tcp/9939", "/ip4/0.0.0.0/tcp/9940/ws"]
rendezvous_point = "/dnsaddr/swap.sethforprivacy.com/p2p/12D3KooWCULyZKuV9YEkb6BX8FuwajdvktSzmMg4U5ZX2uYZjHeu"
# Example external_addresses:
external_addresses = ["/onion3/example.onion/tcp/9939", "/onion3/example.onion/tcp/9940/ws"]
[bitcoin]
electrum_rpc_url = "ssl://electrum.blockstream.info:50002"
target_block = 3
network = "Mainnet"
[monero]
wallet_rpc_url = "
"
network = "Mainnet"
[tor]
control_port = 9051
socks5_port = 9050
[maker]
min_buy_btc = 0.0005
max_buy_btc = 0.001
ask_spread = 0.05
price_ticker_ws_url = "wss://ws.kraken.com/"
Другие рекомендуемые узлы рандеву, которые можно использовать вместо моего в приведенной выше конфигурации:
/dns4/rendezvous.xmr.radio/tcp/8888/p2p/12D3KooWN3n2MioS515ek6LoUBNwFKxtG2ribRpFkVwJufSr7ro7
Перезагрузите systemd, чтобы включить новые сценарии systemd:
sudo systemctl daemon-reload
Конфигурация Tor
Для того, чтобы asbинструмент смог правильно настроить скрытые сервисы под себя, вам нужно будет добавить 3 строчки в конфигурационный файл Tor по адресу /etc/tor/torrc, добавить в debian-torгруппу только что созданного пользователя и перезапустить tor.
Отредактируйте файл конфигурации Tor при /etc/tor/torrcиспользовании vim или nano, чтобы настроить Tor для asbустановки и настройки скрытой службы:
sudo nano /etc/tor/torrc
Чтобы выйти из оболочки nano и сохранить файл, нажмите ctrl+x.
# Allow asb tool to configure hidden services
ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1
Выполните следующие команды, чтобы добавить asbпользователя в debian-torг руппу и перезапустить tor:
sudo adduser asb debian-tor
sudo systemctl restart tor
Использование инструментов
Запускаем monero-wallet-rpc
Чтобы запустить инструменты, просто запустите соответствующие команды ниже:
monero-wallet-rpc всегда следует начинать первым:
sudo systemctl start monero-wallet-rpc
Затем начните asb:
sudo systemctl start asb
Перезапуск monero-wallet-rpc
Чтобы перезапустить инструменты, просто выполните соответствующие команды ниже:
monero-wallet-rpc всегда следует перезапускать сначала:
sudo systemctl restart monero-wallet-rpc
Затем перезапустите asb:
sudo systemctl restart asb
Пополните свой кошелек Monero
При запуске инструмент ASB предоставит вам адрес Monero, который вы будете использовать для внесения средств в кошелек Monero.
Чтобы получить адрес, выполните следующую команду:
sudo grep monero_address /var/log/asb/asb.log
Обязательно сохраните адрес, так как после внесения средств он больше не будет отображаться. Чтобы получить QR-код для адреса на вашем компьютере, вы можете запустить следующую команду (конечно, заменив адрес собственным, собранным выше):
qrencode "4A4tLy1b2PFFdHHvZubb85enYMroBZ3b3i8AV45gBATb2Kas1jNmVP3BwGq4HhSMwsfuedh2hK6MBMmG8M6KAvGGDVBqLDw" -t ascii -o -
Если qrencodeон не установлен, вы можете установить его с помощью sudo apt install qrencode или sudo dnf install qrencode
Если вам не удалось сохранить адрес перед внесением средств, вы можете получить его напрямую с monero-wallet-rpc с помощью следующей команды:
curl
-d '{"jsonrpc":"2.0","id":"0","method":"get_address","params":{"account_index":0,"address_index":[0]}}' -H 'Content-Type: application/json'
Отправьте Monero на указанный адрес, но помните, что этот кошелек будет горячим и не защищенным паролем — вы должны максимально минимизировать количество Monero в кошельке ASB.
Добавление вашего нового ASB
ПРИМЕЧАНИЕ. Вы можете добавить ATM только на основе IPv4 и DNS-адресов, поэтому, если вы делаете ASB только для тор-а, пропустите этот шаг.
Перейдите на
Нажмите на поле «Сменить провайдера»
Нажмите «Отправить провайдера обмена»
Введите свой external_address и идентификатор узла
Чтобы получить идентификатор пира, просто выполните следующую команду:
sudo grep peer_id /var/log/asb/asb.log
Нажмите «Отправить
Решение проблем при обмене
Важно следить за журналами, особенно во время первых нескольких обменов, чтобы убедиться, что ваша конфигурация готова к работе.
Чтобы просмотреть журналы, просто выполните следующую команду:
sudo tail -f /var/log/asb/asb.log
Если вы видите строки, начинающиеся с ERROR во время неудачного обмена, проверьте наличие существующих проблем, о которых сообщается на Github, выполнив поиск по следующему URL-адресу:
Если для проблемы, с которой вы столкнулись, нет открытой проблемы, обязательно откройте новую с максимально подробной информацией, в том числе:
Версия asb
Собери бегом asb --version
Все строки журнала, связанные с неудачным обменом/проблемой
Обязательно отредактируйте IP-адреса, подмените идентификаторы и т. д., как указано в начале этой статьи !
На какой ОС и версии вы asb работаете
Любые дополнительные сведения, которые вы можете предоставить по проблеме
Большинство проблем можно решить простым перезапуском asbинструмента , но перед перезапуском соберите журналы, чтобы при необходимости можно было отследить проблему позже.
Вывод биткойнов с кошелька ASB
Когда свопы завершены, asbинструмент сохраняет биткойн во внутреннем кошельке. Всякий раз, когда вы хотите вывести BTC из этого кошелька, вам нужно будет остановить asbинструмент, вывести BTC и asbснова запустить инструмент.
Для этого выполните следующие команды, заменив свой биткойн-адрес и желаемую сумму:
sudo systemctl stop asb
asb withdraw-btc --address BITCOINADDRESS --amount "0.XX BTC"
sudo systemctl start asb
Если вы хотите вывести весь баланс, просто запустите:
ПРИМЕЧАНИЕ. В настоящее время существует ошибка, препятствующая работе этой команды, поэтому сейчас просто снимите сумму с помощью приведенного выше набора команд:
.
sudo systemctl stop asb
asb withdraw-btc --address <BITCOINADDRESS>
sudo systemctl start asb
Проверка баланса Bitcoin и Monero
Самый простой способ проверить текущий баланс в обоих кошельках — остановить процесс ASB и запустить asb balance:
sudo systemctl stop asb
asb balance
sudo systemctl start asb
Если вы хотите проверить баланс Monero, не останавливая ASB, вы можете запустить:
curl
-d '{"jsonrpc":"2.0","id":"0","method":"get_balance","params":{"account_index":0,"address_indices":[0]}}' -H 'Content-Type: application/json'
Обновление инструментов
Оба необходимых инструмента необходимо постоянно обновлять, поэтому для упрощения процесса здесь приведен краткий набор команд для обновления обоих.
Просто замените URL-адрес загрузки на URL-адрес последней версии.
Monero-кошелек-
cd ~/asb
wget
tar xvf monero-linux-x64-v0.17.2.0.tar.bz2
sudo chmod +x monero-x86_64-linux-gnu-v0.17.2.0/monero-wallet-rpc
sudo mv -f monero-x86_64-linux-gnu-v0.17.2.0/monero-wallet-rpc /usr/local/bin/
rm monero-linux-x64-v0.17.2.0.tar.bz2
rm -rf monero-x86_64-linux-gnu-v0.17.2.0
асб
cd ~/asb
wget
tar xvf asb_0.8.1_Linux_x86_64.tar
rm asb_0.8.1_Linux_x86_64.tar
sudo chmod +x asb
sudo mv -f asb /usr/local/bin/
Дополнительные параметры конфигурации
Этот раздел совершенно не обязателен для заполнения при развертывании ASB, но он содержит некоторые дополнительные параметры, доступные вам как владельцу ASB.
Использование формата /dnsaddr для внешнего_адреса
Одной из замечательных функций, встроенных в libp2p, сетевую основу для атомарных свопов COMIT, является возможность использовать унифицированный адрес для описания всех возможных доступных методов для вашего ASB с помощью одного единственного адреса. Это позволяет вам иметь доступ к ASB через IP, DNS и Onionv3, предоставляя пользователям свопа единый унифицированный адрес, который позволяет их клиентам выбирать наилучший вариант для своей сетевой конфигурации и/или использования Tor.
Для получения более подробной информации о спецификации и доступной/необходимой конфигурации см. официальные документы здесь:
Чтобы настроить это, вам нужно будет добавить записи DNS TXT для вашего доменного имени, по одной для каждого адреса, который вы хотите рекламировать через /dnsaddrзапись.
Настройте желаемую доступность через listenи конфигурацию Tor
Обычно это просто параметры прослушивания по умолчанию и включение конфигурации Tor, как упоминалось ранее в этом руководстве.
Добавьте записи TXT через своего провайдера домена с записью хоста _dnsaddrи записью, как показано ниже, настроив ее на основе ваших адресов Onion и других предпочтительных доступных конечных точек:
Примечание. Этот пример предназначен для Namecheap, но все провайдеры доменов должны разрешать аналогичную настройку записи TXT.
dnsaddr=/ip4/5.9.120.18/tcp/9939/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW
dnsaddr=/ip4/5.9.120.18/tcp/9940/ws/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW
dnsaddr=/onion3/b4wfknratwn6rcpvpczs5pgtyyafedpcfjqnupr32qdfu63x6odql4id:9939/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW
dnsaddr=/onion3/b4wfknratwn6rcpvpczs5pgtyyafedpcfjqnupr32qdfu63x6odql4id:9940/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW
Каждая запись должна начинаться с постфикса, как показано выше, dnsaddr=и включать его ./p2p/peer_id
Убедитесь, что записи DNS работают правильно с помощью digи swapтестов .
dig +short txt _dnsaddr.DOMAIN.NAMEдолжен возвращать вывод, аналогичный приведенному ниже:
dig +short txt _dnsaddr.swap.sethforprivacy.com
"dnsaddr=/ip4/5.9.120.18/tcp/9939/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW"
"dnsaddr=/ip4/5.9.120.18/tcp/9940/ws/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW"
"dnsaddr=/onion3/b4wfknratwn6rcpvpczs5pgtyyafedpcfjqnupr32qdfu63x6odql4id:9939/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW"
"dnsaddr=/onion3/b4wfknratwn6rcpvpczs5pgtyyafedpcfjqnupr32qdfu63x6odql4id:9940/p2p/12D3KooWCPcfhr6e7V7NHoKWRxZ5zPRr6v5hGrVPhHdsftQk2DXW"
Протестируйте зарегистрированную точку встречи и убедитесь, что ASB отображается как онлайн:
./swap list-sellers --rendezvous-point /dnsaddr/swap.sethforprivacy.com/p2p/12D3KooWCULyZKuV9YEkb6BX8FuwajdvktSzmMg4U5ZX2uYZjHeu
Отказ от ответственности
Хотя это программное обеспечение хорошо сработало для меня и подходит для основной сети, оно, конечно, не является надежным и все еще находится в активной разработке. Свопы всегда должны заканчиваться либо полным обменом, либо обеими сторонами возвращают средства, но имейте в виду, что могут существовать ошибки, и в целом вы очень рано переходите к атомарным свопам.
Я не несу ответственности за любые потерянные средства или проблемы, которые могут возникнуть у вас при обработке биткойнов/монеро, участвующих в свопах, но постараюсь максимально помочь, если вы столкнетесь с проблемами.
Заключение
Надеюсь, это было хорошее (относительно) простое руководство, которое поможет вам начать ликвидацию Monero тем, кто хочет безнадежно обменять Биткойн на Monero с помощью атомарных свопов! Атомарные свопы — это важный инструмент для обеспечения доверия к биржам и обеспечения возможности регулирования в будущем, поэтому я очень рад, что они, наконец, возможны и работают достаточно хорошо.