The Kin Developer Platform

Chase Barker
Kin Blog
Published in
5 min readMay 21, 2019

Welcome to the Kin Developer Platform. A suite of SDKs and modules created for developers to allow for easy integration into the Kin Ecosystem. Our platform takes away the barrier to entry for leveraging blockchain technology and allows developers to focus on building unique and engaging experiences in their apps. We take care of the rest!

The future of the Kin Developer Platform is modularization (Plug and Play). We’ve slimmed down ours SDKs to their core functionality and everything else will be a la carte. Developers won’t be forced to implement things that they don’t plan to use in their apps and can now pick and choose the things that they want to use and easily add them into their application.

The first versions of our SDKs were all encompassing and lacked flexibility. But this was a perfect first iteration because it really allowed developers the ability to quickly and easily have out-of-the-box functionality. After much feedback from our developer community, we decided to change our approach and make things a lot more flexible.

With the new SDKs everything is still quite simple, but developers now have much more power. They can control their experiences and no longer need to rely on Kin provided services. We’ve also created more robust, easy-to-read documentation thanks to feedback from our developer community.

Along with these SDKs we are working on building out new modules that can easily plug into them and be used by the entire ecosystem if they so choose. Let’s take a look at what our platform looks like today and what we can look forward to in the future.

iOS & Android SDKs

Our iOS & Android SDKs have been simplified for ease of use. They are written in their native languages of Swift and Java and give developers full control of their integration. These SDKs provide the ability to talk directly to the blockchain without the need for previous blockchain experience. The features provided by these SDKs are as follows:

  • Creating and retrieving accounts natively on a device
  • Building and sending transactions (whitelisted and non-whitelisted)
  • Retrieving account balances
  • Retrieving account statuses
  • Creating balance listener
  • Creating payment listener
  • Creating account creation listener

All of the above functionality should allow a developers to easily create experiences using Kin. From here, additional modules and features can easily be integrated into your applications.

Unity SDK

Our Unity SDK is a wrapper for our native iOS and Android SDKs. It is a bridge between the two and allows unity developers to develop their apps in their native C# language. The Unity SDK provides all of the same functionality as iOS and Android and can be used in the exact same way to create exciting experiences with a new blockchain based in-app currency.

Python SDK

The Python SDK is a server side SDK. It is to be used along side either iOS, Android or Unity as a backend. In order to have a fully functioning app live in production, developers will be required to have this [or another server side SDK] running. The server side SDKs serve a very important purpose. When creating an account with the iOS, Android or Unity SKDs you are only creating the account on the client device. From here you will need to send the account to your server side implementation to have it created on the blockchain. Additionally, for approved Kin app [that have an appId], you will need to have all your transactions whitelisted on the server. Whitelisting your transactions removes the requirement to pay fees on your transactions. All non-whitelisted transactions are subject to a fee. One other very important feature of this server side SDK is channels. Channels allow you to process multiple transactions at once so your app can easily scale. We recommend that you never call these functions directly from your client. They need to put behind a layer of security.

Python Bootstrap Service

Our Python Bootstrap is a simplified service using the Python SDK. It’s a dockerized bootstrap that can easily be deployed on any supported server quickly and easily. It includes and API for creating accounts, whitelisting transactions, paying earns to users and setting up channels. One important note is that anyone planning to use this service needs to be aware that they are responsible for their own security. When dealing with digital currencies we must take precautions from malicious actors who may attempt to steal and defraud you.

NodeJs SDK

The NodeJs SDK is an alternative to our Python server side SDK. We want our developers to have as many language options as possible when developing with Kin. We understand that not everyone is an experienced Python developer and NodeJs is one of the most popular server side languages and has a large open source community full of knowledge an information. This was one of our greatest considerations when choosing a second server side SDK language.

Backup/Restore Module

Our backup/restore functionality has now become a module for both Android and iOS. It will no longer be imbedded in the marketplace. It can be implemented however you like. This module allows you the ability to import and export an account, which includes the private key on the device. With this your users can easily save (export) their account information and retrieve (import) it later. This functionality serves many purposes including the case where a phone is lost or stolen.

Master Wallet Connectivity [Design Stages]

The master wallet connectivity feature will provide users the ability to connect all of their Kin apps to a single master wallet. If will allow them to quickly and easily send Kin between all apps in the Ecosystem. This is an extremely important piece of functionality that will take much consideration and care before a design decision is made.

Send Kin UI Module [Future]

The visuals of an app are very important and we want to provide some modules that developers can use to take away some of the work. With apps like Mad Lipz I’m sure you’ve noticed their slick and intuitive tipping feature. Turning this into a customizable module to match your app could really slim down development time.

As the ecosystem grows we can expect our open source developer community to begin building out their own modules and solutions to be shared with one another. There should be no central point of development within a decentralized ecosystem and we want to encourage everyone to build tools that can be shared by anyone!

--

--

Chase Barker
Kin Blog

Director of Developer Advocacy @ Kin Ecosystem | Follow me on Twitter @TheRealChaseeb