Celo Project: Python SDK Overview

Blaize Team
Blaize_tech
Published in
3 min readSep 28, 2020

Basically, Blaize main task is to build Python and Java SDKs for Celo framework in order to broaden the ability to programming while not using only Javascript, as it is now. This may help to extend the Celo dev community and contribute to its wider application.

How many milestones do the project have? And how do we divide them?

Firstly, we have divided the project into two main tasks: one is Java SDK development, and the second one is Python SDK development. Each consists of two milestones: first is developing the whole functional part and then writing unit tests and documentation preparation & finalization. We work in a team of 4 developers concentrating on back-end blockchain development in particular.

Accomplishments for now

We have clothed the first milestone and have the fully functional SDK for Python ready now. Broadly speaking, we have built the main object which the SDK users will utilize. This base kit allows to set the parameters of the wallet such as cost and amount of gas per transaction, create new keys or use existing ones, and create contract objects. At the moment, wrappers for all main contracts of the Celo Protocol have been finished and are ready for the test phase. Wrappers represent a separate class where all the main requests for the contract are already registered. Therefore, the user does not need to re-write requests, he will simply use our class (wrapper), which will greatly speed up and simplify the whole work.

Celo Phyton SDK architecture

Challenges we faced

There are some unique exceptions in Celo blockchain framework which are not presented on any other platform. It creates some difficulties while configuring it with other applications. The Eth Account library is the most suitable for transaction formation. Yet, due to the uniqueness of the transaction body in Celo blockchain, we had to customize this library so that we could construct our own transaction and sign it.

Looking for expert blockchain developers to build an SDK for your project? Blaize team is here to help!

Another difficulty was to write utils of various kinds. Utils are methods that hash data or help to convert one data type to another and therefore represent one of the main functionality of the whole kit. That is why we needed to spend a great amount of time to study the existing SDK precisely and only then implement utils in the Python SDK.

Next step

We plan to set up the test environment which includes ganache node running along with Celo contract deployment as our next step. After that, we can start writing and performing unit tests itself. Thereafter, eliminate eventual bugs and write the project documentation. We are so excited about this coming up soon!

Article source: Blaize blog https://blaize.tech/article-type/celo-project-python-sdk-overview/

--

--

Blaize Team
Blaize_tech

We are a development & service company with an emphasis on blockchain technology