По сути, основная задача Blaize - создать Python и Java SDK для фреймворка Celo, чтобы расширить возможности программирования, не используя только Javascript, как сейчас. Это может помочь расширить сообщество разработчиков Celo и способствовать его более широкому применению.
Сколько вех у проекта? И как их разделить?
Во-первых, мы разделили проект на две основные задачи: одна - это разработка Java SDK, а вторая - разработка Python SDK. Каждый состоит из двух этапов: сначала разрабатывается вся функциональная часть, а затем пишутся модульные тесты, а также проводится подготовка и завершение документации. Мы работаем в команде из 4 разработчиков, специализирующихся, в частности, на разработке back-end блокчейнов.
Достижения на данный момент
Мы завершили первую веху, и теперь у нас есть готовый полнофункциональный SDK для Python. В общем, мы создали основной объект, который будут использовать пользователи SDK. Этот базовый комплект позволяет устанавливать параметры кошелька, такие как стоимость и количество газа за транзакцию, создавать новые ключи или использовать существующие, а также создавать объекты контрактов. На данный момент обертки для всех основных контрактов протокола Celo завершены и готовы к фазе тестирования. Обертки представляют собой отдельный класс, в котором уже прописаны все основные запросы контракта. Поэтому пользователю не нужно переписывать запросы, он просто воспользуется нашим классом (оболочкой), что значительно ускорит и упростит всю работу.
Проблемы, с которыми мы столкнулись
В структуре блокчейна Celo есть несколько уникальных исключений, которые не представлены ни на одной другой платформе. Это создает некоторые трудности при настройке с другими приложениями. Библиотека Eth Account является наиболее подходящей для формирования транзакций. Тем не менее, из-за уникальности тела транзакции в блокчейне Celo нам пришлось настроить эту библиотеку, чтобы мы могли создать свою собственную транзакцию и подписать ее.
Ищете опытных разработчиков блокчейнов для создания SDK для вашего проекта? Blaize team здесь, чтобы помочь!
Еще одна трудность заключалась в написании различных утилит. Утилиты - это методы, которые хэшируют данные или помогают преобразовать один тип данных в другой и, следовательно, представляют собой одну из основных функций всего набора. Вот почему нам потребовалось потратить много времени на точное изучение существующего SDK и только потом реализовать утилиты в Python SDK.
Следующий шаг
Мы планируем настроить тестовую среду, которая будет включать в себя узел ganache, работающий вместе с развертыванием контракта Celo, в качестве нашего следующего шага. После этого мы можем приступить к написанию и выполнению самих модульных тестов. После этого устраните возможные ошибки и напишите документацию по проекту. Мы очень рады, что это скоро произойдет!
Источник статьи: блог Блэйза https://blaize.tech/article-type/celo-project-python-sdk-overview/