# 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) |