C

Celo Dart SDK

A dart implementation of the original Celo repository for core projects comprising the Celo platform

C

Celo Dart SDK

A dart implementation of the original Celo repository for core projects comprising the Celo platform

The problem Celo Dart SDK solves

It enables Flutter and Dart developers to build on top of the Celo network

Challenges I ran into

Choosing the project was a huge challenge as the SDKs were split into multiple packages rather than a small SDK.

  • The sheer volume of the codebase created some anxiety and doubtfulness.
  • Porting SDKs is a complex task, especially from Javascript because of a vast ecosystem.
  • The huge list of peer dependencies of

    web3.js

    and the lack of their implementation in Dart made it almost impossible to replicate the SDKs from the original monorepo.
  • Bare minimum knowledge underlying protocol code, blockchain, and the lack of mentor support made it really hard as I took the wrong approach and made bad mistakes without much progress over a couple of weeks.
  • The development time was also a bit less for this project.

Progress

  • After getting some support, I changed my strategies and approaches and was able to connect to the Celo node, both Alfojres test net and local ultralight node using Docker,
  • I also got around to creating accounts and funding them via the faucet using

    web3dart

    package in dart
  • I was able to query the account for total balance and check the number of transitions on the account, this was also verified using

    celocli

    .

More Challenges

  • The biggest challenge now is to implement making transactions as Celo requires additional fields for making a transaction and an entirely new Transaction object needs to be implemented for the process. This is the last goal to making the bare minimum SDK in Dart that can, connect, create accounts, query, and transact on the network.

Technologies used

Discussion