По сути, основная задача 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/