Работа с zDEX от PIVX
https://t.me/PIVX_RUSДецентрализованная биржа от проекта PIVX.
Скачать биржу (пока альфа-версия на декабрь 2018):
Информация на английском:
https://zdex.exchange/tutorials
Сайт PIVX:
***
1. Требования zDEX к монетам
На данный момент только монеты, основанные на коде Биткойна допускаются к торговле на zDex. Также необходима поддержка следующих функций:
-Check Lock Time Verify
-RPC chain interaction
zDex создаёт RPC вызовы для связи и поддержания актуального состояния всех блокчейнов, включенных в торговлю. Для добавления монеты на zDex, она должна поддерживать определённый набор RPC-команд. Нижепредставленные RPC-команды поддерживаются во многих Core кошельках, но этот список не является дословным. Единственное, что необходимо это факт выполнения функций каждой из команд посредством RPC.
Команда Описание
importaddress импортирует адрес как адрес только с правом просмотра (нужен только в случае, если блокчейн не поддерживает полную индексацию адреса).
getblockchaininfo получает информацию о состоянии блокчейна. Используется, чтобы удостовериться, что все zDex ноды находятся в одной цепи.
getblockhash получает хэш блока заданной высоты
getnetworkinfo получает различную сетевую информацию. Используется для получения данных о комиссиях на данный момент.
gettransaction получает информацию о транзакции внутри кошелька
listtransactions даёт возможность получить список транзакций для определённого адреса.
listunspent Получает список всех UTXO для определённого адреса.
sendrawtransaction транслирует транзакцию в сеть.
validateaddress Даёт ответ, принадлежит ли запрашиваемый адрес вам или нет(zDex нода).
----------------------------------------------------------------------------------------------
У нас будет упорядоченный, стабильный набор комиссий, где все проекты будут равны.
Любой токен, который будет добавляться должен быть также представлен на Bittrex (поскольку они не допускают к торговле ценные бумаги и серьёзно проверяют монеты перед добавлением). Также они не берут комиссии за листинг, поэтому причин для отказа в листинге нет.
Для проектов, которые предпочли не проводить PR своего токена, стоимость добавления нового токена будет 50000 USD, оплата в BTC (не включая требования Electrum).
Если проект делает выбор в пользу проведения PR и включает набор проверок, то комиссия составит 10000 USD в ВТС для покрытия затрат на проверки и тестирование.
Если предложенный PR не соответствует требованиям из шаблона или отсутствуют тесты, то 50% оплаты будет возвращена проекту и проект сможет переподать PR, когда он будет удовлетворять требованиям.
Перед тем как любой из токенов будет допущен, будь то через разработчиков zDEX или через самостоятельную подачу PR, каждому токену нужно будет предоставить 25000 USD в эквиваленте цены токена для создания ликвидности, прежде чем из PR будет принят.
Проектам будет необходимо предоставить как их собственные серверы Electrum, так и клиенты Electrum.
За разработчиками остаётся последнее слово и они могут отказать, если кодовая база окажется чрезвычайно сложна для добавления и затраты на добавление превысят комиссию в 50000 USD. В этом случае, возможны заключение иных договорённостей, например, добавление кодовой базы по более высокой цене.
------------------------------------------------------------------------------------------
Для каждого токена, который будет активирован или хочет остаться активным на бирже zDEX необходима поддержка как минимум 30 zDEX нод.
-------------------------------------------------------------------------------------------
Торговая комиссия составляют 0.25% (0.0025) и она делится между покупающей и продающей стороной.
-------------------------------------------------------------------------------------------
Вы можете присоединить вашу мастерноду PIVX к приложению zDEX и стать zDEX нодой.
zDEX ноды это то, на чём работает торговый движок биржи и за свою работу они получают небольшую часть с каждой комиссии за сделку.
-------------------------------------------------------------------------------------------
Кворум для каждой транзакции будет 15 zDEX нод. Каждый кворум может состоять из многих пересекающихся транзакций, ровно как и zDEX ноды могут принадлежать более чем одному кворуму в каждый момент времени, таким образом, масштабируемость растёт с увеличением числа задействованных нод. Распределение комиссий основано на 15 zDEX нодах на транзакцию.
2. Процесс торговли
Средства на счёте
=== Каждый счёт (аккаунт) на платформе zDEX имеет набор монет, которые пополнили баланс счета. Поскольку zDEX является децентрализованной биржей, то есть биржей без центра, имеющего контроль за всеми средствами, то монеты, которыми пополнялся счёт, остаются на криптовалютном адресе, принадлежащем этому счёту.
Ордеры
=== Когда пользователь выставляет ордер, то он во многом работает точно также как и на централизованной бирже. Ордер добавляется в книгу ордеров, имея определённый размер и цену. Ордер отстаётся в книге ордеров до тех пор, пока не будет закрыт противоположным ордером (купля/продажа)
Торговля
=== Когда два ордера пересекаются, то создаётся сделка. Ордер может быть как полностью исполненным, так и частично. Если ордер исполнен частично, то он остаётся в книге ордеров до тех пор, пока не заполнится или не истечёт по времени.
Когда совершается сделка, то для блокчейна zDEX необходимо время в две минуты для того, чтобы сделка стала зафиксированной.
Формирование транзакции
Когда сделка готова к исполнению, то сначала она идёт через процесс “форматирования транзакции”, цель которого- деление средств на счету пользователя способом, позволяющим высвободить средства, которые не необходимы для завершения сделки и которые можно использовать для других сделок и торговых операций на платформе zDEX. Форматирующая транзакция отсылает транзакцию из адреса счёта прямо на счёт пользователя (транзакция самому себе). Один выход транзакции это цена сделки, а второй это оставшаяся “сдача”.
Блокирование сделки
Когда форматирующая транзакция наберёт необходимое число подтверждений во внешнем блокчейне, связанным с этой криптовалютой, то выход (монеты), который равен стоимости сделки, становится “заблокированным”. Этот выход специальным образом отводится для использования в заключительной торговой транзакции. Как только оба счёта, между которыми производится торговля, становятся заблокированными, то происходит финальная торговая транзакция.
Финальная торговая транзакция
Каждый счёт имеет свои заблокированные монеты, использующиеся в качестве ввода для транзакции. Монеты отправляются напрямую на адреса вывода средств каждого из счетов. Монеты не отправляются на адрес пополнения счёта и сторонам сделки не даётся информация о монетах и балансах. Небольшая часть финальной транзакции отправляется на каждую из zDEX нод, бывших в роли гарантов счёта (аккаунта) и обрабатывающих данные. Так же небольшая часть финальной транзакции отправляется разработчикам zDEX.
3. Руководство по торговле
Установка zdex-qt
Скачайте и установите приложение zdex-qt
Синхронизация блокчейна
Не нужно беспокоиться о добавлении пиров вручную- этот процесс автоматизирован и начнётся самостоятельно как только приложение zdex-qt будет запущено впервые. Тем не менее, если вы хотите присоединиться к определённому пиру, то нажмите на “Tools” и пройдите в “Debug Console”, далее в поле для текста консоли отладки введите команду addnode.
Примечание: для проверки статуса синхронизации пройдите в “Network Lab” в zDEX и внизу страницы вы увидите раздел, который называется “Blockchain Info”. В нём вы можете посмотреть состояние вашей синхронизации, а также высоту текущего блока.
Создание нового счёта
Для создания нового счёта, проследуйте в раздел, обозначенный “My Accounts and Orders” и нажмите “Create New Account”. Выскочит меню. В выпадающем меню “Base Coin” выберите монету, которую хотели бы торговать, далее в выпадающем меню “Trade Coin” выберите монету, к которой вы хотели бы торговать. Заполните текстовое поле “Destination Address”, введя в него адрес кошелька, на который вы хотели бы послать монеты. В конце нажмите “Create account”.
Примечание: счета закрываются через 24 часа. Все ордеры на покупку и продажу должны быть сделаны в течение 24 часов, после которых средствами со счёта необходимо будет вернуть на кошелёк или перевести на новый счёт zDEX.
Депонирование монет на счёт
Как только счёт будет создан, необходимо завести на него монеты. Для этого, монеты необходимо отправить с кошелька на ваш zDEX счёт. Нажмите правой кнопкой мыши на счёт, который хотите пополнить, потом нажмите “Copy address for funding”. Таким образом вы запишете адрес вашего счёта в буфер обмена, далее вам нужно будет отправить на него средства. Депонирование может занять некоторое время, оно зависит от блокчейна zDEX и блокчейна отсылаемой монеты.
Создание заявки на торговую операцию
Для проведения торговой операции необходимо создать ордер. Это делается из вкладки “Overview”. В правом верхнем углу вкладки “Overview” находится выпадающее меню “Currency”. Там вам следует выбрать валюту, которой вы хотели бы торговать. В нижней части вкладки есть раздел “Create Order”. В нём вам необходимо указать, какой счёт вы будете использовать при торговле. Далее, укажите количество и цену (в деноминациях монеты, которую торгуете), по которой бы хотели провести торговую операцию. Нажмите “Create Order”. Это добавит ваш ордер в список ордеров и он заполнится, когда появится соответствующий условиям противоположный ордер.
Проверка состояния ордера
Для проверки состояния ордера, вам необходимо зайти в “My Orders и статус ордера, по которому идёт запрос будет показывать, заполнен ли он полностью, частично или не заполнен.
Состояния ордеров:
Filled- ордер заполнен и становится таким как только общее на количество, указанное в ордере был произведён обмен.
Partially filled- означает, что только часть суммы, указанной в вашем ордере была обменена. Такое случается в случае, если цена, указанная в ордере совпала с противоположным ордером, а количество- нет.
Unfilled -незаполненный ордер, указанные в нём параметры не выполнены
Отмена ордера
Для отмены ордера, нажмите на тот ордер, который вы хотите отменить,а потом нажмите “Cancel Order”. В окне, которое будет вам показано вам необходимо подтвердить, что вы хотите отменить ордер. Нажмите “Yes”.
Возврат средств на счёт после истечения ордера
После истечения времени существования счёта, вы можете вернуть монеты в кошелёк. Это делается в “My Accounts and Orders”. Под “My Accounts” найдите истекший счёт, нажмите на него правой кнопкой мыши, а потом нажмите “Refund account”. zDEX предложит вам указать адрес кошелька, на который вы хотели бы вернуть монеты. Нажмите “OK” и подтвердите возврат. Средства будут отправлены немедленно, но, в зависимости от монеты, кошельку понадобится некоторое время, чтобы получить их.
Установка zDEX ноды (TestNet)
Начните этот процесс установкой приложения zDEX, если это ещё не было выполнено. Как только установка завершится, то склонируйте или установите приложение PIVX. Закончите установку и настройку PIVX, далее настройте мастерноду PIVX. После этого настройте другие валюты, то есть те, которые вы хотите, чтобы поддерживала ваша zDEX нода. Сконфигурируйте zDEX ноду на вашем устройстве, далее дайте команду на запуск ноды.
Порядок установки
- Завершите настройку zDEX
- Установите PIVX
- Установите мастерноду PIVX
- Установите кошельки для валют
- Сконфигурируйте zDEX ноду
- Запустите zDEX ноду
Установка PIVX
Клонирование PIVX:
https://github.com/PIVX-Project/PIVX
Скачивание PIVX:
Настройка мастерноды:
https://pivx.org/knowledge-base/masternode-setup-guide/
Конфигурирование для использования с zDEX:
Обратитесь к разделу “Настройка кошелька, отличающегося от Electrum”, находящемуся ниже.
Настройка кошелька Electrum
Примечание: кошельки Electrum, установленные в директории, отличающиеся от указанных в данном руководстве не будут совместимы с вашей zDEX нодой. Кошельки Electrum, которые вы можете установить отсюда уже настроены для использования с zDEX.
Установка зависимостей:
sudo apt-get install python3-setuptools python3-pyqt5 python3-pip python3-dev cython3 libusb-1.0-0-dev libudev-dev
pip3 install wheel
Клонирование и установка Electrum (кошелёк BTC):
git clone https://github.com/presstab/electrum
cd electrum
pip3 install .[full]
Установка кошельков Electrum для других криптовалют (на данный момент поддерживаются LTC и BCH):
Поддерживаемые кошельки Electrum для других криптовалют располагаются в том же репозитории, в ветках, соответствующих названиям криптовалют. Например, если вы хотите установить Litecoin Electrum wallet, то необходимо выполнить два шага, указанных выше в "Клонирование и установка Electrum (кошелёк BTC)" (если это ещё не было сделано), далее проследуйте в репозиторий Electrum, отметьте ветку и установите.
git checkout origin/litecoin или git checkout origin/bitcoincash
Далее:
pip3 install .[full]
Первый запуск Electrum (кошелёк BTC):
electrum --testnet daemon start
electrum --testnet setconfig rpcuser [insert your BTC rpc user here]
electrum --testnet setconfig rpcpassword [insert your BTC rpc password here]
electrum --testnet setconfig rpcport 18332
killall electrum
electrum --testnet daemon start
Примечание: rpc user и password остаются на ваш выбор, но они должны соответствовать тому, что вы ввели в конфигурационный файл zDEX для соответствующей криптовалюты.
Запуск Electrum для LiteCoin:
Процедура во многом схожа с вышеуказанной, но в Electrum необходимо добавить аббревиатуру валюты, которую вы используете. Порт должен быть изменён в соответствии с криптовалютой (обратитесь к таблице “Порты криптовалют”, находящейся ниже). Например, первый запуск кошелька Litecoin Electrum должен выглядеть так:
electrum-ltc --testnet daemon start
electrum-ltc --testnet setconfig rpcuser [insert your LTC rpc user here]
electrum-ltc --testnet setconfig rpcpassword [insert your LTC rpc password here]
electrum-ltc --testnet setconfig rpcport 19332
killall electrum-ltc
electrum-ltc --testnet daemon start
Запуск Electrum для Bitcoin Cash:
Процедура, во многом, схожа с вышеуказанной, но Electrum назван electron-cash. Порт должен быть изменён на тот, который соответствует криптовалюте (обратитесь к таблице “Порты криптовалют”, находящейся ниже). Для примера, первый запуск Electron-Cash будет выглядеть так:
electron-cash --testnet daemon start
electron-cash --testnet setconfig rpcuser [insert your BCH rpc user here]
electron-cash --testnet setconfig rpcpassword [insert your BCH rpc password here]
electron-cash --testnet setconfig rpcport 18333
killall electron-cash
electron-cash --testnet daemon start
Установка кошелька, отличающегося от Electrum
Установите и запустите кошелёк, если вы не сделали этого прежде. Найдите путь к конфигурационному файлу криптовалюты. Обычно он расположен в скрытой папке с названием криптовалюты, находящейся в вашей домашней папке. Конфигурационный файл, скорее всего, будет назван в соответствии с криптовалютой и будет иметь расширение .conf. Например, для конфигурирования zPIV (PIVX) вам нужно пройти в папу .pivx и отредактировать pivx.conf.
cd ~/.pivx
nano pivx.conf (используйте предпочитаемый вами текстовой редактор на месте nano)
В конфигурационном файле вам необходимо установить rpcuser, rpcpassword и rpcallowip. Rpc user и пароль остаются на ваше усмотрение, но они должны совпадать с тем, что вы введёте в конфигурацию zDEX для соответствующей криптовалюты. В rpcallowip вам необходимо ввести IP адрес вашей zDEX ноды (127.0.0.1, если запущена на том же компьютере).
rpcuser=[вставьте своего rpc user]
rpcpassword=[вставьте свой rpc пароль]
rpcallowip=[вставьте IP вашей zDEX ноды (127.0.0.1, если запущена на том же компьютере)]
Сохраните и закройте конфигурационный файл. Если ваш кошелёк был запущен в тот момент, когда вы редактировали конфигурационный файл, то для вступления изменений в силу, вам нужно его перезапустить.
Порты криптовалют
Валюта
Порт
BTC Testnet
18332
LTC Testnet
19332
DASH Testnet
19998
ZCASH Testnet
18232
PART Testnet
51935
zPIV Testnet
51475
BCH Testnet
18333
Конфигурирование вашей zDEX ноды
Найдите путь к конфигурационному файлу zDEX. Он расположен в скрытой папке .zdex/testnet4, находящейся, скорее всего, в вашей домашней папке. Файл называется zdex.conf.
cd ~/.zdex/testnet4
nano zdex.conf (используйте предпочитаемый вами текстовой редактор на месте nano.)
При конфигурировании, вам нужно настроить каждую криптовалюту, которую поддерживает zDEX нода, применяя:
coin=[криптовалюта]. Вы разрешите функционал zDEX ноды, установив zdexnode=1. Также вы должны установить zdexelectrum=1 для того, чтобы ваша zDEX нода могла майнить zDEX блоки. Для каждой поддерживаемой криптовалюты, вы должны установить rpcuser и rpcpassword (rpcuser-[валюта]=[ваш пользователь] and rpcpassword-[валюта]=[ваш пароль] и они должны совпадать с rpcuser и rpcpassword которые вы установили в кошельке соответствующей криптовалюты. Конфигурация zDEX ноды, поддерживающей Bitcoin ,будет выглядеть так:
Для каждой монеты, которую вы будете поддерживать в качестве zDEX ноды, добавьте следующие строки:
(Пример для Bitcoin)
coin=BTC
rpcuser-BTC=[вставьте BTC rpc user]
rpcpassword-BTC=[вставьте BTC rpc password]
(Пример для Litecoin)
coin=LTC
rpcuser-LTC=[вставьте LTC rpc user]
rpcpassword-LTC=[вставьте LTC rpc password]
(необходимые для заполнения поля zDEX ноды)
zdexmining=1 (может быть установлен на 0, если вы не хотите помогать работе блокчейна zDEX)
zdexnode=1
mnprivkey=[вставьте приватный ключ вашей мастерноды PIVX]
listen=1
Если вы хотите запустить RPC соединения для вашей zDEX ноды на другом устройстве, то можете указать IP адрес для использования RPC соединения.
Например:
rpchost-BTC=[IP адрес]
Закончите настройку сохранив и закрыв конфигурационный файл. Перезапустите zDEX, если она была в работе
Запрос на добавление в качестве zDEX ноды
Последним шагом для становления в качестве zDEX ноды будет отправка запроса в существующую сеть zDEX нод. Сеть проверит соединения с PIVX и удостоверится, что публичные ключи соответствуют активной PIVX мастерноде.
Отправьте запрос:
./src/zdex-cli -testnet sendnoderequest
Для подтверждения и продвижения запроса на официальную zDEX ноду понадобится несколько раундов сети zDEX нод.
Запуск вашей zDEX ноды
Сначала удостоверьтесь, что ваша PIVX мастернода работает (обратитесь к
"Установка мастерноды" и "Установка PIVX" выше) и что вы запустили все остальные настроенные криптовалюты. Запустите zDEX, если вы ещё этого не сделали. Введите команду "startzdexnode"
./src/zdex-cli -testnet startnode
Если будет найдена ошибка, то появится оповещение.
***
Донат переводчику:
PIVX
DQBz5i56wiT1MCUgmrbjzG6tebS6K2Quvs
BTC
1JZ3dVXc5RzepHdZRUUwaSamadgnHmQRHn
ETH
0x3fd14c00ebeb4e78e3e55a9b55b8eb3446dd3173
***
Переведено пользователем:
https://bitcointalk.org/index.php?topic=1826707.msg48726545#msg48726545
Телеграм-чат Пивикс на русском: