2020 SDK Update

Bryan Lahartinger
Kin Blog
Published in
3 min readMay 29, 2020

A big part of a developer’s job, once they have decided to integrate Kin into their software, is navigating the various answers to “what is the right path for us”? To date, there has been a myriad of different ways to connect to the Kin Blockchain that includes multiple variants of mobile SDKs for Android and iOS, backend server SDKs in some of the popular backend-preferred languages, dockerized versions of some of them, a plugin for Unity developers, and more.

A few months ago, when our team started to build a new app for the Kin Ecosystem, we found ourselves blazing a new path toward our own answer. Today, we are taking a step forward to share it with everyone else.

As an engineering team that has developed both backend and mobile solutions for large scale consumer software projects (e.g. Kik), we felt there were learnings we could bring to the Kin developer tooling that would make a material impact on the onboarding, development, and implementation of Kin experiences for all developers who make use of Kin in their products. To kick off a new beginning, our team is announcing a brand new set of mobile SDKs for Android and iOS to access the Kin blockchain.

This release includes a new SDK with both an improved API for developers as well as a drop-in replacement interface for the existing ‘self-serve’ SDK. We see this as the first step for existing developers to migrate to the new SDK with the option of zero changes to their apps or backend. Its primary motivation is to start getting existing developers used to the new SDKs while providing some breadcrumbs of new functionality.

While there is a lot more to say on development specifics, here are some highlights:

  • An observable payment history
  • Batched payment submission and transaction queuing
  • Local data cache for payment, account, and balance data
  • The option of passive (locally driven) or active (live network-driven) observable updates
  • Idiomatic, chainable, and modular functionality consumed via its public interface
  • Blockchain technology-agnostic data structures
    * No blockchain-specific knowledge required
    * Will assist with future technology updates
  • A full, optional compatibility layer with the old mobile SDK (Android or iOS).
    * Update your version, compile, and ship

While the Android version is available today, our team is busy putting together the finishing touches on the iOS equivalent, which will be released alongside an update to this post soon. With the launch of these replacement mobile SDKs, we will be marking the older self-serve mobile SDKs as deprecated. Effective today, we will only be supporting the newly launched SDKs going forward. This does not mean that they will cease to function as they have thus far, but given all the benefits that the new SDKs bring and the compatibility layer provide, we hope that the transition will be smooth and will better prepare developers for anticipated future technology updates.

Looking ahead, our engineering team will continue to release additional infrastructure quality of life improvements that build upon today’s release. Our next release includes, but is not limited to: new light server SDKs, webhooks for transaction whitelisting, a common memo format, and a standardized design library of Kin branded Android & iOS UI components.

TL;DR;

For Android developers who want to get started today, please check out our GitHub repo here and the associated documentation provided in the README. A similar iOS repo will be available and follow in a subsequent announcement.

edit: iOS is also now available!

--

--