Как основатели Fintech Business могут разрабатывать приложения для криптотрейдинга
1 ноября 2022 г.В то время как во всех других отраслях наблюдалось серьезное замедление роста, сектор финансовых технологий пережил бум во время пандемии, получив огромные инвестиции и все более широкое распространение своих услуг. Однако не все финтех-бизнесы выживают — хотя в мире уже насчитывается 473 финтех-единорога, по данным ABN Amro Ventures, многие многообещающие стартапы обречены на провал. Как сделать криптоприложение, которое будет иметь преимущество перед конкурентами и отвечать потребностям клиентов? Многим основателям бизнеса может быть сложно создать универсальный пошаговый план и начать собственное путешествие по развитию криптовалюты.
Имея большой опыт создания финтех-решений, MobiDev легко объединяет все ценные идеи по этой теме. Мы подготовили исчерпывающее руководство по разработке приложения для торговли криптовалютой, которое поможет энтузиастам финансовых технологий избежать распространенных ошибок и создать успешный криптопродукт.
Разработка крипто-приложений: выбор типа платформы
Прежде чем погрузиться в удивительный мир криптотрейдинга и ответить на вопрос о том, как создать платформу для криптотрейдинга, давайте проверим статистику крипторынка.
Существуют различные типы приложений и платформ для торговли криптовалютой, отвечающие требованиям клиентов.
ВИДЫ ПРИЛОЖЕНИЙ ДЛЯ ТОРГОВЛИ КРИПТО
К основным типам приложений для торговли криптовалютой относятся следующие:
- Криптовалютные приложения, предлагающие клиентам возможность покупать, продавать или обменивать криптовалюту в несколько кликов. Тарифы фиксированы и не могут быть изменены или выбраны клиентами. Примером такого криптоприложения является Coinbase.
- Криптовалютные приложения и платформы, ориентированные на торговлю криптовалютой как таковую, в смысле получения финансовой прибыли от колебаний цен криптовалюты по отношению к доллару (в парах криптовалюта/доллар) или по отношению к другой криптовалюте, или через крипто-к-крипто. пары. Такой криптотрейдинг доступен, например, на Binance.
- Платформы, предлагающие смешанные активы (акции и криптовалюты) и позволяющие создавать новые торговые пары, например eToro.
- Инвестиционные приложения и платформы, ориентированные на инвестиционные цели, обычно подразумевают получение большей прибыли в течение длительного периода за счет покупки и владения активами.
Поскольку рынок криптографических приложений и платформ продолжает развиваться, а требования клиентов продолжают расти, большинство криптографических программ сочетает в себе различные типы, чтобы удовлетворить клиентов.
ВИДЫ КРИПТООБМЕНОВ
В принципе криптовалютные биржи делятся на централизованные биржи (CEX) и децентрализованные биржи (DEX).
Централизованные биржи криптовалют работают аналогично фондовым биржам. Покупатели и продавцы объединяются, а платформа играет роль посредника. Другими словами, «централизованный» означает, что кто-то имеет право управлять сетью транзакций.
Децентрализованные биржи криптовалют стремятся следовать фундаментальному принципу индустрии криптовалют. DEX не полагается на посредника для работы и управления транзакциями. Он работает как торговая площадка, где покупатели и продавцы собираются вместе и торгуют криптовалютой напрямую друг с другом.
Прежде чем принять решение о создании платформы для торговли криптовалютой, проведем краткое сравнение следующих типов.
| Критерии | Централизованный обмен | Децентрализованный обмен | |----|----|----| | Ликвидность | Высокий | Низкий | | Сборы | Средний | Низкий | | Держатель для монет | Обмен | Пользователь | | Наличие фиатных валют | Да | Нет | | Примеры | Бинанс, Кракен, Битфинекс | IDEX, Tokenlon, PancakeSwap |
Основными преимуществами централизованных платформ являются наличие фиатных валют и отсутствие проблем с ликвидностью. Это наиболее распространенный и популярный тип криптоплатформы, поэтому мы сосредоточимся на разработке приложений для криптотрейдинга в целом и подробно рассмотрим создание биржи CEX.
Основные функции приложения для торговли криптовалютой
Разработка приложения для крипто-трейдинга — сложная вещь, однако с самого начала вам нужно начать думать о том, как улучшить опыт крипто-трейдинга ваших будущих клиентов. Когда вы решите создать платформу для торговли криптовалютой, определите, как именно она будет привлекать клиентов. Хотя всегда полезно добавить какие-либо полезные функции, некоторые ключевые функции просто необходимы, когда мы говорим о разработке платформы для торговли криптовалютой.
АВТОРИЗАЦИЯ И ПРОВЕРКА ПОЛЬЗОВАТЕЛЯ
Все начинается с авторизации и проверки пользователей. Основными факторами, определяющими качество этой функции, являются простота, надежность и безопасность.
Можно построить многофакторную аутентификацию с нуля или использовать сторонние сервисы, чтобы обеспечить высокие стандарты безопасности для клиента. Оба варианта имеют свои преимущества и недостатки. Создание модуля аутентификации для криптографического приложения с нуля позволяет использовать уникальные схемы аутентификации, контролировать все функции и постепенно развертывать функции аутентификации. Выбор стороннего сервиса может быть намного проще, так как эти решения уже имеют множество функций, протестированы и надежны. Однако такой подход является дорогостоящим — такие услуги обычно оплачиваются на основе количества пользователей, а это означает, что стоимость значительно возрастет, когда у продукта появится больше активных пользователей.
Принятие стороннего решения кажется хорошим вариантом для первых этапов разработки криптовалютного приложения. Когда количество пользователей не очень велико, этот подход может быть доступным, в то же время вы с самого начала получаете лучший в своем классе сервис аутентификации. Одним из примеров сторонних решений является Auth0. Этот сервис предлагает полный набор функций, включая двухфакторную аутентификацию, аутентификацию без пароля, аутентификацию в социальных сетях и расширенный контроль сеансов, в то время как каждый из этих компонентов сам по себе обычно занимает не менее пары недель для разработки, тестирования и развертывания в рабочей среде. .
Когда дело доходит до проверки, вам необходимо обеспечить надежность вашего криптовалютного решения с помощью хорошо продуманной процедуры KYC (Know Your Customer). Хотя это может противоречить первоначальному принципу анонимности в криптовалютных транзакциях, большинство криптоприложений используют KYC, чтобы гарантировать надежность и привлечь больше клиентов. Документы, отправленные новыми пользователями, можно проверить вручную или использовать сторонние сервисы (например, Sumsub, Trulioo или Veriff для KYC). Однако доступен и более продвинутый вариант, например создание модуля верификации с нуля с процедурой идентификации по базам данных (PEP, санкционные списки и т. д.).
Для стартапов на ранней стадии без валидированной бизнес-идеи и небольшой команды лучше максимально автоматизировать рутинные процессы, поэтому использование сторонних сервисов для проверки и скрининга ID может быть наиболее подходящим вариантом. Создание системы KYC с нуля целесообразно только в том случае, если вы выберете ручную проверку, то есть вам нужно нанять кого-то, кто проверит документы и фотографии и сравнит их с информацией в базах данных.
Создание модуля автоматической проверки требует разработки сложных систем AI/ML, реализации поддержки международных форматов удостоверений личности и т. д., что не является бюджетным и быстрым вариантом для стартапа. Интеграция стороннего решения может занять всего одну-две недели, а цена может быть доступной, особенно для стартапа с небольшой клиентской базой. С другой стороны, создание пользовательских модулей должно быть включено в дорожную карту в качестве опции. Все это говорит о том, что любую функцию ИИ следует планировать на ранних этапах с точки зрения сбора соответствующих данных.
ПОИСК
Торговый движок отвечает за основные функции любого приложения для торговли криптовалютой. Основными факторами, определяющими качество этой функции, являются надежность и скорость. Вкратце, эта функция включает в себя:
* Ведение книги ордеров (список ордеров, который торговая площадка использует для учета интереса покупателей и продавцов) * Соответствующие транзакции * Осуществление обмена по остаткам на счетах * Доступ к истории заказов
С точки зрения разработки механизм сопоставления является одним из самых сложных компонентов, связанных с созданием торговой платформы для криптовалюты, и обычно это место, где хранится большинство секретов «ноу-хау». Только один пример — хороший торговый движок должен в среднем выполнять более 100 000 ордеров в секунду.
В зависимости от ваших целей создание собственного механизма сопоставления может быть необходимо (или нет). Если вы считаете торговый движок своей основной функцией системы и хотите выделиться среди конкурентов, обеспечивая самые быстрые транзакции, написание механизма сопоставления с нуля для вас. В то же время, если для вас это не самая критическая функция и скорость исполнения ордеров может быть скомпрометирована, можно использовать некоторые готовые решения, такие как OpenDAX.
OpenDAX — это гибридное программное обеспечение с открытым исходным кодом, состоящее из общедоступных и частных библиотек, предназначенное для создания полнофункциональной службы обмена. Это один из самых сложных продуктов, который можно приобрести как многофункциональное решение, предлагающее различные подключаемые компоненты, базовую и сверхвысокую производительность, а также различные варианты ценообразования, соответствующие желаемому уровню производительности.
Сложность торгового движка зависит от поддерживаемых типов ордеров. Обычно существует как минимум два типа ордеров:
* Рыночный ордер (купить СЕЙЧАС по минимально возможной цене/продать по максимально возможной цене на данный момент, соответствующий ближайшему соответствующему ордеру в книге ордеров) * Лимитный ордер (покупка/продажа X суммы валюты, когда цена пересекает некоторое пороговое значение Y, поэтому исполнение откладывается во времени до тех пор, пока не будут выполнены требования)
Существуют и другие типы ордеров, например, стоп-лимитные ордера, которые позволяют пользователям покупать/продавать как можно больше, когда цена пересекает X, но останавливаться, когда цена идет выше/ниже Y. Чем более продвинутые типы ордеров, которые планируется реализована, тем сложнее будет торговая система.
КРИПТО КОШЕЛЕК
Еще одна важная функция вашей криптобиржи — крипто-кошелек. Вы можете создать и настроить эту функцию, чтобы предложить клиентам наилучший пользовательский интерфейс, включая удобные платежные шлюзы и функциональность с несколькими криптовалютами, сохраняя при этом высокие стандарты безопасности.
Процесс вывода средств является рискованным, так как на самом деле это способ получить средства с вашей платформы, и необходимо выполнить множество мер предосторожности и проверок, чтобы предотвратить кражи. Один из способов сделать это — реализовать ручное одобрение снятия средств (по крайней мере, чтобы помешать хакерам быстро получить значительные суммы денег). Обычно применяется подход диверсификации рисков — небольшая сумма криптовалюты может быть выведена автоматически и быстро, но большие суммы — требуют некоторых автоматических проверок репутации (история успеха/рейтинг /KYC/KYT и другие).
Крипто-кошелек — это на самом деле крипто-адрес, который назначается пользователю, на который вносятся депозиты. Кроме того, в то время как пользователи взаимодействуют с назначенными адресами «для каждого пользователя», вся платформа обмена регулярно проводит сверку с «кошельком одной большой платформы», поскольку ей необходимо работать со всем количеством криптовалюты, депонированной на платформе. Эти «большие банки криптовалюты» представляют собой самую большую угрозу безопасности.
В связи с этим криптокошельки являются прибыльной целью для хакеров: например, в 2020 году, по данным Atlasvpn, преступники предприняли 27 успешных атак, направленных на криптокошельки, что принесло 3,03 миллиарда долларов или около 112,12 миллиона долларов за взлом. Поэтому здесь придумывают разные «поэтапные» схемы хранения средств. Разумно не хранить все свои средства в одном кошельке, а вместо этого использовать как минимум 3 типа хранения:
* Горячий кошелек — закрытый ключ, хранящийся на сервере, который потенциально уязвим, но кошелек не предназначен для хранения большого количества средств. Все операции полностью автоматизированы и находятся на пороге достижения (низкий/высокий), поэтому необходимо согласовать с «теплыми» кошельками. * Теплый кошелек — закрытый ключ, хранящийся на другом сервере/системе, защищенный отдельно (с промежутком от системы горячего кошелька) и используемый для хранения большего количества криптовалюты. Он не используется для прямого взаимодействия с конечными пользователями, а только для пополнения / сверки криптовалюты с горячего кошелька (собрать превышенные средства или добавить больше средств, если горячий кошелек почти пуст) * Холодный кошелек — приватный ключ хранится не на сервере, а на специальном компьютере, не подключенном к интернету. Большая часть криптовалюты на платформе хранится в этом кошельке. Он используется только вручную авторизованными лицами на компьютерах, «закрытых/не подключенных к Интернету».
Для своего криптографического приложения вы можете создать собственный кошелек с нуля или интегрировать сторонние кошельки.
Как правило, горячие и теплые кошельки создаются финтех-стартапами самостоятельно — весь процесс занимает от нескольких недель до пары месяцев. Тем не менее, индивидуальное решение обеспечивает полную гибкость и контроль. С инженерной точки зрения для этого требуются только общие знания по разработке приложений для криптовалюты (однако многое зависит от количества криптовалют, которые вы хотите поддерживать с самого начала).
У сторонних кошельков есть свои преимущества и недостатки. С одной стороны, такие решения можно очень быстро интегрировать в ваше приложение для торговли криптовалютой. Они предлагают высокий уровень стабильности и надежности на ранних стадиях (по сравнению с собственными решениями). С другой стороны, они требуют высоких комиссий (что может поставить под вопрос прибыльность стартапа) и не могут предложить предсказуемую скорость обработки. В конце концов, полагаться на стороннее решение в вашем основном бизнес-процессе может быть не лучшим вариантом для вас.
Когда дело доходит до холодных кошельков, сотрудничество со сторонним поставщиком может быть более полезным, поскольку создание действительно надежного и проверяемого холодного хранилища — сложная задача для стартапа на ранней стадии. В идеале для этого требуется участие нескольких человек (чтобы избежать возможности кражи всех средств одним из заинтересованных лиц), «воздушная изоляция» инфраструктуры, надежного оборудования и действительно безопасного физического хранилища для хранения этого оборудования. Примерами таких продуктов являются решения от Fireblocks, Knox и BitGo. Все эти сервисы чем-то похожи, но предоставляют наборы функций, более подходящие для конкретного случая. Таким образом, выбор стороннего поставщика холодных кошельков всегда требует тщательного выбора.
ИНТЕГРАЦИЯ РЫНКА И ПОСТАВЩИКОВ ЛИКВИДНОСТИ
Успех вашей криптоплатформы во многом зависит от ликвидности: как скоро может произойти обмен. Клиенты всегда выберут биржу с хорошей ликвидностью, которая может предложить высокую скорость транзакций.
Вы можете выбрать один из нескольких вариантов:
* Использование собственных торговых ботов-маркетмейкеров (когда биржа использует собственную крипту и ботов для выставления биржевых ордеров, буквально «имитирующих», что есть какие-то «активные сделки»; эти боты бездействуют, когда достаточно реальных ордеров пользователя) * Подключение к другим крупным биржам, получение их книг заказов в режиме реального времени и имитация аналогичной книги заказов на вашей бирже (и добавление небольшой «комиссии» к ценам, чтобы сделать ее выгодной для вас); при каждой сделке на вашей бирже вам необходимо «выкупить» ту же сделку на внешней бирже
Поскольку у вас вряд ли будет достаточно объема торгов, чтобы обеспечить мгновенную продажу/обмен криптовалюты, второй вариант, который может быть разумным шагом, — это подключение к внешнему пулу ликвидности для удовлетворения потребностей клиентов. Существуют существующие криптовалютные биржи, такие как Kraken, Binance и Gemini, которые предоставляют доступ к своим рынкам. Например, мы решили создать интеграцию с Kraken, играющим роль поставщика ликвидности для одного из наших проектов, из-за строгих требований к бюджету и срокам.
Использование сторонних поставщиков ликвидности позволяет основателям финтех-бизнеса быстро запускать продукт и получать торговые пары с самого начала жизни продукта. Новые клиенты получат привлекательный рыночный и торговый опыт с первой секунды. Однако в этом случае ваша платформа не принесет большой прибыли, и вы будете предлагать цены немного выше (или, по крайней мере, не ниже), чем у ваших конкурентов. В качестве альтернативы вы можете выбрать разработку и использование вышеупомянутых маркетмейкерских ботов, но это сложный процесс. Для их правильного создания и оформления требуется как определенный опыт разработки, так и бизнес-знания.
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС
Людям нравятся простые в использовании приложения, которые облегчают их жизнь. Убедитесь, что ваше приложение для торговли криптовалютой имеет простой и привлекательный интерфейс, который помогает справиться с самыми сложными аспектами торговли криптовалютой. Основными факторами, определяющими качество этой функции, являются простота, удобство, скорость и вовлеченность. Что это означает на практике?
Ваше приложение для торговли криптовалютой должно иметь:
* Интерфейс, который помогает эффективно выполнять транзакции, сводя к минимуму время торговли * Панель инструментов с быстрым доступом к наиболее важным функциям * Бесшовные депозиты и снятие средств * Варианты технической поддержки в случае возникновения проблем
Одной из важнейших частей адекватного интерфейса является визуализация. Ваши клиенты, вероятно, захотят иметь данные и удобные графики, показывающие колебания цен, различные индикаторы технического анализа и подробную статистику по выбранным рынкам или активам.
Полезные функции криптобиржи
В большинстве случаев базовых функций недостаточно для создания идеального взаимодействия с пользователем. Вот список функций, которые могут выделить ваше приложение для криптотрейдинга среди конкурентов или, по крайней мере, сравняться с ними. Вы можете подумать о разработке таких функций, как:
- Профиль пользователя, чтобы дать пользователям возможность более эффективно управлять данными о своих заказах.
- Отслеживание портфеля, чтобы показать эффективность портфеля и выделить наиболее успешные криптоактивы.
- Образовательный контент, помогающий пользователям заполнить пробелы в знаниях о криптовалютах.
- Рефералы и бонусы для повышения лояльности клиентов и привлечения новых пользователей.
- Push-уведомления для оповещения пользователей об изменениях цен, обновлениях приложений и других важных событиях.
Расширенные возможности приложения для торговли криптовалютой
При создании своего криптовалютного приложения подумайте о некоторых важных функциях, которые превратят простое торговое приложение в масштабируемое торговое решение:
- Повторяющиеся покупки: автоматизированные стратегии делают процесс покупки более удобным и быстрым.
- Торговля NFT и включение совершенно новых токенов, чтобы предложить покупателям больше разнообразия и привлечь клиентов разных типов.
- Аналитика данных — чтобы клиенты могли видеть состояние крипторынка и делать лучший выбор.
- Чат-боты с искусственным интеллектом помогают клиентам покупать и продавать криптовалюты в нужное время, а также предоставляют ответы на часто задаваемые вопросы и рекомендации.
- Функция «Следуйте за экспертом»: эксперты могут делиться/мы можем анализировать, как они торгуют, а пользователи могут следить за их действиями.
Например, на eToro есть функция, называемая системой CopyTrader™. Он находит сходство в торговых привычках успешных трейдеров, анализируя их поведение на платформе, и позволяет другим пользователям автоматически копировать их решения в режиме реального времени.
Соответствие нормативным требованиям для приложений Crypto Exchange
Несмотря на то, что у криптографии все еще может быть имидж Дикого Запада, соблюдение нормативных требований имеет решающее значение для этой отрасли. При разработке вашего будущего криптовалютного приложения и в зависимости от юрисдикции, в которой вы собираетесь работать, помните о нескольких нормативных принципах и процессах.
| Имя | Определение | Требования к соблюдению | |----|----|----| | GDPR | Это положение законодательства ЕС в отношении защиты данных и конфиденциальности в Европейском Союзе и Европейской экономической зоне, которое вам необходимо соблюдать, если вы планируете иметь клиентов в Европе. | Храните данные пользователей из ЕС на серверах в ЕС. Добавьте функциональность, позволяющую пользователю лучше контролировать свои собственные данные. Предложите возможность удаления учетной записи | | ЗСК (знай своего клиента) | Это необходимая процедура для идентификации контрагентов по операциям с криптовалютой. Он охватывает процедуры отбора (не каждый может стать клиентом) и идентификации (персональные данные, биометрические данные). | Внедрите собственную систему KYC, которая позволит пользователям загружать удостоверения личности и внедрить процесс проверки вручную. Или используйте/создавайте системы AI/ML, которые автоматически проверяют фотографии/удостоверения личности | | ПОД (борьба с отмыванием денег) | Это серия процедур, направленных на выявление схем отмывания денег на основе анализа агрегированных данных. KYC подпадает под меры AML. | Иметь эффективное применение лимитов на переводы валюты (например, не более 10000 долларов США в день на снятие средств) Иметь возможность блокировать определенных пользователей, если им предъявлено обвинение по закону Иметь возможность ограничивать/блокировать граждан определенных стран или клиентов определенных банков для отправить или получить деньги | | KYT (Знай свою сделку) | В нем описаны меры и процедуры по обнаружению и выявлению подозрительных мошеннических транзакций и их блокировке. | Имейте методы для отслеживания происхождения транзакции (когда мы получаем депозит) и назначения ДО снятия средств. |
Внедрение процедур KYT в ваше приложение может быть одной из самых сложных частей разработки криптовалютного приложения. Для фиатных валют это означает возможность заблокировать определенных людей, банки или страны от участия в транзакциях. Для криптовалют это означает возможность проверить, является ли тот или иной криптокошелек «чистым» (не помечен как потенциально связанный с «теневым рынком», преступниками и т. д.) или нет.
Отследить это самостоятельно может быть довольно сложно, поскольку для этого требуется создать или иметь огромную базу данных, просматриваемую вручную, собирать все «плохие кошельки» и отслеживать все транзакции, связанные с ними. В этом случае могут помочь сторонние поставщики, такие как Chainalysis KYT. Он предлагает непрерывный мониторинг транзакций для всех активов криптовалюты, чтобы сократить ручные рабочие процессы и обнаружить подозрительную активность.
Поскольку регулирующие органы во всем мире путешествуют по криптомиру, очевидно, что их главная цель — создать точную и надежную систему регулирования для этой молодой отрасли. Правила могут различаться в разных странах, но большинство регулирующих органов подчеркивают важность таких компонентов, как процедуры KYC/AML/KYT, совершенствование протоколов безопасности, а также защита инвесторов.
Как создать платформу для торговли криптовалютой: процесс разработки
Разработка криптоторговой платформы аналогична разработке любых других приложений, только с упором на технологию блокчейн и дополнительную безопасность. Необходимы все общие этапы разработки:
* оформление и планирование * проектирование и прототипирование * написание кода и тестирование * публичный релиз * поддержание и улучшение
Какое бы приложение для криптотрейдинга вы ни планировали создать, разработка клиентской части будет практически одинаковой. Основная цель — разработать удобный и простой в навигации пользовательский интерфейс с помощью опытных дизайнеров UX/UI и разработчиков интерфейсов.
Разработка серверной части приложения — более сложная задача, которую можно решить с помощью разных подходов и инструментов. Серверная часть приложения должна обеспечивать быструю и эффективную обработку заказов и безопасность данных. Кроме того, он должен быть масштабируемым, чтобы поддерживать растущие нагрузки по мере роста популярности вашего продукта.
Проектирование архитектуры основано на бизнес-требованиях, поскольку каждый проект уникален и единого универсального решения не существует. В MobiDev мы предлагаем подход к разработке, техническую дорожную карту и подход к архитектуре только после уточнения бизнес-целей и основных требований к продуктам для торговли криптовалютами.
<цитата>Для некоторых продуктов мы используем базу данных в оперативной памяти для создания заказов и их быстрой обработки. В отличие от баз данных, которые хранят данные на дисках или SSD, in-memory база данных хранит и обрабатывает данные исключительно в основной памяти компьютера, обеспечивая минимальное время отклика. Это позволяет делать ставки в режиме реального времени, когда приложение может обрабатывать запросы ставок от всех покупателей, выбирать выигрышную ставку на основе нескольких критериев и обрабатывать ее.
Руководитель группы JavaScript
Благодаря этой технологии к базе данных могут обращаться разные серверы в разных регионах или использовать разное количество пользователей, что делает решение эффективным и масштабируемым. Вы можете найти иллюстрацию такой архитектуры ниже.
Но это только один пример. Расследуя в каждом конкретном случае на этапе обнаружения, следует учитывать несколько факторов:
* местоположение бизнеса (помогает понять нормативные требования) * тип бизнеса и нагрузка на систему (позволяет выбрать тип масштабирования) * протоколы безопасности и другие.
Этот анализ позволяет выбрать решение, которое удовлетворит требования клиента и позволит ему иметь именно те функции, которые помогут продукту работать бесперебойно и эффективно.
n Отзыв:Максим Белай, руководитель группы аналитиков, аналитик рынка финансовых технологий
Автор Дмитрий Кисиль, инженер по искусственному интеллекту в MobiDev.
Полная версия статьи изначально была опубликована здесь и основана на исследованиях технологии MobiDev. п
Оригинал