The following is a guide to get you up and running a Kin blockchain node. This allows anyone interested to connect to the Kin blockchain, download all ledger information, then verify and process all data within.

Prerequisites

This guide is intended for people familiar with the concepts of Core and Horizon on the Kin blockchain. In addition, you should be familiar with using Linux and Docker.

Quickstart Docker Image

We provide a Docker image that does all the hard work for you. This image provides a default, non-validating, ephemeral configuration that should work for most cases. …


This post is the second of a two-part article discussing anti-spam in the Kin Blockchain. Here we will dive into the anti-spam design and implementation, following the research effort discussed in part 1.

Kin Anti-Spam System

The initial version of the implementation can be roughly described as follows:

  1. We prioritize transactions for digital services and their users first, and then give room for other users. By digital services we mean any online service that integrates Kin.
  2. Transactions related to digital services are free from fees.
  3. We give each digital service the flexibility and responsibility to implement anti-spam for its users how it sees fit. …


Anti-spam is an important topic in the cryptocurrency industry. Over the past decade, we have witnessed numerous spam attacks on multiple popular blockchain networks. Extensive brainstorming and research are invested worldwide on how to implement transaction and account creation rate-limiting. The results have been effective to some degree, but the battle against spam and denial of service attacks continues.

Kin is aiming to be the cryptocurrency for consumer apps. Companies in the digital world are integrating Kin into the center of their user engagement strategy, and use it to solve real customer problems.

Our goal is to onboard applications and digital services with user bases ranking in the millions or more. Soon after the Kin project was launched at the end of 2017, it became clear that if we want to achieve that goal, we have to tackle the potential issue of transaction spam. We understood that it was necessary to invest the resources to ensure our blockchain will be capable of handling the load that comes with these large user bases, while providing a sufficient anti-spam implementation. …


I gave a presentation at Blockchain Academy TLV around August 2018 about the Stellar Blockchain, and told the story of Federated Byzantine Agreement (aka FBA) and the Stellar Consensus Protocol (aka SCP). Here’s what they wrote about the presentation in their blog:

Image for post
Image for post

Last week we held our 7th Blockchain Academy event, where Ory Band, Senior Backend and Distributed Systems Engineer at Kin, shared his knowledge in a talk called The Stellar Blockchain and The Story of the Federated Consensus.

In his talk, Ory dove into detail on the Federated consensus networks, focusing on Stellar and Ripple, and discussed how they differ from other popular decentralized consensus solutions such as Proof-of-Work and Proof-of-Stake. He reviewed their pros and cons, and discussed the business requirements that drive companies to adopt these solutions over others. …


The Kin Ecosystem needed a more predictable blockchain in terms of transaction confirmation time and fees, and Stellar was our winning candidate.

Now, we’re using Kik’s nine years of experience and knowledge in network engineering and scaling to test the Stellar public blockchain network for Kin. Our aim: To see if Stellar indeed stands up to its performance claims.

TLDR

Results are good.

Now that you’ve calmed down, let’s get into the details.

Image for post
Image for post
Required warm up meme for effect.

Requirements

First, a short introduction to load testing. According to Wikipedia:

Load testing is the process of putting demand on a software system or computing device and measuring its response. Load testing is performed to determine a system’s behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation. …


Image for post
Image for post

Intro

This article is the first of a series of posts on writing automated unit tests for mobile apps over Ethereum using testrpc and Truffle.

  1. Part I: Introduction (This post)
  2. Part II: iOS
  3. Part III: Android

While working on Kin mobile SDKs we have stumbled upon a challenge regarding our CI flow: There are multiple developers working on the mobile SDKs across multiple teams — iOS, Android, and backend. In order to add new features multiple times a day without stepping on each other’s toes we require automated unit tests. This will help verify that important features such as checking balances or sending transactions don’t break on every new change added to the repositories. Our iOS and Android mobile SDKs have recently been open sourced, and these concerns are even more valid in an open source environment; when changes from contributors around the world are proposed, we need to have a fast way to ensure nothing breaks. …


Preface

In our token distribution event, which was held in September, we issued 10 trillion KIN. As stated in our whitepaper (Chapter 6), 60% of these tokens (i.e., six trillion) will be under the purview of the Kin Foundation, locked under the Kin Rewards Engine schema (whose initial version we have recently released a request for comments for), and used strategically to grow the Kin Ecosystem and fund the operations of the Foundation. The Kin Foundation’s allocation will be used for three purposes:

  1. Administration of the Kin token supply and Kin Rewards Engine
  2. Marketing and strategic partnerships
  3. Any additional operational costs

20% of the remaining reserve will be unlocked and distributed every year to the Kin Foundation in perpetuity. …


This a blog post I wrote on my company’s tech blog (Rounds). Since then our company was acquired by Kik, and the blog has been somewhat hidden away. Nevertheless I put it here for documentation sake.

Hey Rounders!

I’m Ory, a Backend developer here at Rounds. Today I’d like to present our internal data and event flows.

Image for post
Image for post

Knowing what our users are doing with our app is important — What they like, what they don’t, quality of our video calls, etc. Gathering and storing this information however, is quite a task — especially when we have more than one million events reported every minute. At Rounds, we are using two data stores for live monitoring, search, and BI. …


Use this when your Django development server just doesn’t cut, or when you’re too lazy to install an XAMPP stack.

I wrote this server when I started working with HTML5 <video> tag. I found out that Django’s dev server [doesn’t support byte-range downloads][quesiton] (for progressive downloads and such). This made the served videos totally unseekable using Javascript.

So, I wrote this server, and added a URL redirect inside my Django app to serve all video content through CherryPy (instead through Django) … and VOILA! Everything worked!

Baking instructions:

  1. Install CherryPy: pip install cherrypy or easy_install cherrypy
  2. Make sure it’s installed: python -c 'import…

Full Disclosure: Though I have not been a Mac user for several years now, and have since moved to Arch Linux (that’s right), I keep this small helpful article for the benefit of the public.

Most packages have other packages they depend upon to work properly. However, uninstalling a package doesn’t remove it’s dependent packages. This is a desirable state — As some other package can depend upon these dependent packages as well.

For example, the python package depends upon the readline package. Let’s say there’s no other installed package on the machine which depends upon readline. …

About

Ory Band

Backend and Distributed Systems Engineer. Loves Go and Linux.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store