# OXA статус 02.10 / 17.30(msk) Общий алгоритм добавления функционала: 1. Бек - интеграция 2. Терминал - интеграция 3. Тестирование ## 02.10 на текущий момент все, заняты интеграцией с BTC: последняя версяю протокола включена в монорепу основного проекта, это должно ускорить внедрение примеров в продуктовый код на беке. Блюпринт протокола btc - это 8 функций(они не учитывают сетевой стек, те в производстве их раз в 5 больше). 5 - подготовка "чистой" транзакции, открытие канала, установка начального состояния, смена состояния, добровольное закрытие состояния. Еще 3 - это закрытие состояния при нештатных ситуациях. Вторая часть не готова, к ней вернусь, как заработает основной флоу. на беке идут работы по интеграции блюпринта, пока похвастатся нечем - был перерыв на сон, только начали входить в ритм. по консольному терминалу - текущее состояние не изменилось, собственно сейчас к ниму только вернусь. пока бек раскачивается я закончю эфирный цикл. по эстимейту - **оптимистичный** прогноз на сегодня(до 22.00): Транзакции L1->L2 и L2->L1 либо L1->L2, L2->L3, если возникнут проблемы с комуникацией с блокбуком при L2->L1. **Пессимистичный** прогноз: L1->L2. Для оптимального результата сегодня, если на вашей стороне не критично время кола, предлагаю перенести его максимально близко к **2am**. > PS. Пока сложно точно утверждать, но на текущий момент выглядит так что бизнес-функционал, связанный с торголей не потребует модификаций, те описанные в этом отчете задачи - это все задачи для получения полного цикла работы биржи. > PPS. Я могу попробовать подключить разработчика, который пилит вэб терминал к разработке утилиты тестирования - она может сильно ускорить работу по интеграции, но притормозит работу по веб-терминалу - как поступить?? ## 01.10 1. Мы используем trezor blockbook как универсальное API к нодам блокчейна. Для тестирования, в целях экономии времени(тестирование каналов подразумевает многократные и частые трансляции транзакций в блокчейн) мы развернули свой тестнет на базе стоковой ноды bitcoind, с уменьшенным до 5 секунд временем закрытия блоков, запущенной в режиме `-regtest` . Этот режим я использовал для работ над каналами для BTC/QTUM. Тк обычно нет портебности в таких сетях - блокбук в целях оптимизации применял для регтеста режим работы не подразумевающий такой сетап - в конечном итоге мы столкнулись с отстованием в получении данных на 5-10 минут. 2. Были проблемы в интеграции, частично связанные с проблемой в п.п. 1, частично с моделью данных - короче говоря банк l2 расчитывал на оповещение опубликованных транзакций от bb, но не всегда этого добивался. 3. Для экономии ресурсов на клиенте(и уменьшении проблем с интеграцией), l2 предпологает подготовку тела транзакции во всех режимах, даже когда обычно это делает клиент. Разделение текущей реализации каналов, на базе ln - оч трудоемкая задача для бека, в связи с чем мы пару недеь назад ввели абстракцию третьего слоя, чтоб все-таки выполнить задачу в обозримый срок, паралельно с решением инфраструктурных проблем с блокбуком, я занялся оптимимизацией прототипа каналов, для упрощения понимания и тестирования - это версия для объяснения разработчикам как же работают каналы в битке, на ней реализуется уже продуктовая версия каналов. Она еще не законченна - открытие и внутриканальная жищнь - ок, закрытие каналов в различных режимах еще не готовы. https://gist.github.com/devmanio/57b0bd795b2980e51fa7bbbbba855124 > Цифры в скобках - порядок добавления ## Бек | Торговая пара | Зачисление/Снятие с L2 | Зачисление/Снятие с L3 | Постановка Ордера в ордербук | Список активных ордеров/Снятие ордера | | -------- | -------- | -------- | -------- | -------- | | ETH-ERC | Интегрирован | Интегрирован | Интегрирован | - (4) | | BTC-ETH | Интегрирован | В процессе интеграции | Должен заработать без изменений | - (5) | | BTC-ERC | - (2) | - (3) | Должен заработать без изменений | - (6) | ## Консольный терминал | Торговая пара | Зачисление/Снятие с L2 | Зачисление/Снятие с L3 | Постановка Ордера в ордербук | Список активных ордеров/Снятие ордера | | -------- | -------- | -------- | -------- | -------- | | ETH-ERC | Интегрирован | В процессе интеграции | (1) | - (6) | | BTC-ETH | - (2) | - (3) | Должен заработать без изменений | - (7) | | BTC-ERC | - (4) | - (5) | Должен заработать без изменений | - (8) |