Blaize
log
Contact us
  • Home
  • Services
    • Back
    • Blockchain ecosystems
    • Decentralized application
    • Smart contracts
    • Developer tools
    • Enterprise solutions
    • Blockchain integration
    • Security services
  • Solutions
    • Back
    • For startups
    • For enterprises
  • Team
  • Cases
  • Blog
  • Careers
  • fb
  • LinkedIn
  • Twitter
info@blaize.tech +38 095 53 72 031

Kyiv, Ukraine

26 Metalistiv St

Dnipro, Ukraine 20

Sichovykh Striltsiv St

How to develop Python and JAVA SDKs For Celo Blockchain [Celo use case]

23.09.2020

Share:

Share on FacebookShare on TwitterShare on TelegramShare on WhatsApp

Celo framework is a mobile-first blockchain platform. Celo blockchain is hosted by the Celo Foundation which main aim is to make blockchain-based payments worldwide accessible and ease usage of cryptocurrencies. Blaize team was honored to be a part of a Celo Foundation grant program and develop Python and Java SDKs for the framework.

Blaize is grateful for Celo Foundation’s trust in the process of developing Python and Java SDK for Celo blockchain. Hope our commitment will lead to further cooperation.

what is an SDK?

SDK stays for Software Development Kit and is aimed to be a set of dev tools that are necessary to build software. A standard SDK usually contains all tools that are needed during development processes like editors, compilers, drivers, documentation, debuggers, libraries, and code samples. One SDK is designed adapting to one specific programming language, so if you write on Python you need a Python SDK toolkit, and JavaScript SDK to write on Javascript.

Why Do we need an SDK?

Basically, our 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 developers community and contribute to its wider application. 

Celo project overview

Primarily we have divided the project into two main tasks. The first one is Java SDK development, and the second one is Python SDK development. Each part corresponds to the separate milestone, named accordingly.

Each milestone consists of two steps. The first is to develop the whole functional part, while the following is to write unit tests along with documentation preparation and finalization. We worked in a team of 4 developers concentrating on back-end blockchain development in particular. 

Want to get a deeper understanding of the code? See the whole project documentation in Blaize Github!

Project architechture

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.

How to develop Python SDK for Celo Project
Python and Java SDKs architecture

At the moment, wrappers for all main contracts of the Celo Protocol have been finished and successfully held 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.

Need skilled developers to build a solid SDK? You can find them in Blaize!

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 was chosen as 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. 

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 our utils in the Python SDK.

Conclusion

Celo Foundation is doing an enormous job regarding blockchain and cryptocurrency worldwide adoption. The whole Blaize team is extremely glad to be a part of such a huge and impactful initiative!

As you can see, building a well-documented and convenient SDK does not always be an easy task. In terms of SDK development for a blockchain-based environment understanding the technology specifications is a crucial thing. Build a strong SDK toolkit with Blaize!

Post author

Taisiia Khlivna

Market Research
Specialist & Technical Writer

Post info

Case study
Developer tools
devtoolssdktech

Related posts

AnalysisCase study
Ethereum dApp Development Guide with examples
Sergey Onyshchenko
Overview
AMM Types & Differentiations
Sergey Onyshchenko
Analysis
How AMM Works: Technology Basics
Aleksei Korobeinikov
Blaize

Address

Kyiv, Ukraine26 Metalistiv St

Dnipro, Ukraine20 Sichovykh Striltsiv St

Contact

Tel.: +34 624 45 15 40 E-mail: info@blaize.tech

Follow

  • Facebook
  • Twitter
  • LinkedIn
  • twitter
  • facebook
  • linkedin

Subscribe news

    top blockchain developers
    GoodFirms Badge

    Copyright © Blaize - blockchain development company 2018-2022

    B2B inbound marketing with