Bytes.io — Beta release

Written by bytes_io | Published 2018/12/17
Tech Story Tags: blockchain | tourism | development | internet-of-things | iota

TLDRvia the TL;DR App

Bytes.io — Beta release

Further to the teaser we published earlier this month, here is a full debrief of our progress developing Bytes, with two small demos and some prediction of what is to come next.

Since the Alpha release, we have split our team in two. One half specialises on the building of an IOTA based IoT Internet access trading stack. This is a Linux + JavaScript stack (JS is great for IoT too). The other half of the team is working exclusively on our beautiful mobile app.

Intro: What is Bytes?

Bytes offers a platform for last mile, distributed, Internet access trading. Last mile means we are not substituting ourselves to regular ISPs, and distributed means the trade is not intermediated.

No third party is involved in processing or enforcing the transaction, not even ourselves: the transaction is processed via the blockchain and the users match based on vicinity (30 meters radius). This is completely P2P (Peer to Peer).

Having a platform for last mile, distributed, Internet access trading enables to:

  1. Do away with roaming by enabling locals to sell their excess Internet access to travellers (we will make sure this is compliant) — when was the last time you used up your 100GB monthly limit?
  2. Enable machines (or “Things” in the IoT parlance) to transact with one another. Indeed, connecting billions of machines to the Internet is nearly impossible for today’s centralised offerings. A distributed, programmable payment stack is needed.

IoT Stack

We have built a solution that enables IoT devices to sell Internet access one to another in a distributed way. We used Raspberry Pis (RPis) to simulate an IoT cluster.

Goals

The two requirements for our IoT stacks were that:

  1. The solution runs on Linux, and
  2. The solution has a pure P2P architecture.

It is developed on a Linux platform for at least two reasons.

Implementation

We used Linux’ network utilities, IOTA.js, and Electron. Electron enables to build desktop applications with JavaScript.

Using Electron means we do not need a webserver to host the dashboard, which enables us to maintain a fully distributed architecture. There is no server to cause delays, so everything gets done a bit faster.

You can see how this works in the demo video below. 2 RPis, each with its own IOTA seed, controlled via an Electron dashboard interact: one sells Internet access to the other.

Mobile Application

Here are the main improvement over our last iteration:

  1. A completely redesigned UI, leading to a seamless UX (remark how the Blockchain is abstracted away),
  2. the user is now able to top up / withdraw in cryptos (viz. mIOTA)
  3. the user is now able to set the price / minute (on community request): there are now two parameters: max buying price, min selling price. Say Alice sells Internet to Bob. The transaction will now only take place if the min selling price of Alice is no more than the max buying price of Bob.

As well as some graceful error handling (in particular for those nasty thread & network related bugs).

Click here if you prefer long, slow and detailed videos.

Conclusion

There was a huge jump between the alpha version and this iteration… the pace at which we develop is about to accelerate even more!

Our main goal is going to be the adoption of the mobile app by users. In parallel, we will look for partnership linked to use cases for our IoT stack…. Last: We are hiring!


Published by HackerNoon on 2018/12/17