Announcing the Development of Qubic Lite - a Community Implementation of the Qubic Protocol

Qubic has been the most exciting topic and source of wild speculations in the IOTA community for the last two months now. Those who took their dive into the technology described by the IOTA Foundation are slowly getting a better picture of its intriguing and unique nature.

However, projects with a potential impact of this size have to be thought through in concept accurately and designed very carefully. Qubic is a huge undertaking and, as such, will require a lot of planning, experimenting, implementing and testing.

But while this takes its fair share of time, there is a tremendous need to do whatever can be done in order to prepare the community and ecosystem for this incredibly powerful tool. Out of this motivation the idea for Qubic Lite was born.


Qubic Lite

Qubic Lite (or short QLite), a work-in-progress open-source community implementation of the Qubic protocol, is intended to be a temporary solution until the official Qubic is released.

Qubic Lite

This way Qubic Lite will allow excited developers to already start creating QApps by giving them a first tool to work with. Simultaneously it takes away some of the release pressure that is put on the IOTA Foundation who requires a lot of time and resources for the mammoth tasks they are working on.

QLite should under no circumstances be seen as a competitor to the official Qubic. Being released early can only be achieved by reducing its complexity to whatever is absolutely necessary. In terms of efficiency, Qubic Core (based on ternary computing and functional programming) will be much more advanced. It has to be stressed that this is not what QLite is aiming for - instead, it tries to feed the community’s need for an early Qubic prototype.

The QubicLab

Lately, I have been working on qubiota.com (IOTA Ecosystem), a free platform and online resource for developers interested in programming Qubic applications (QApps). The central part of QubIOTA, the QubicLab,will allow both interested beginners and experienced developers to easily set-up Qubics online within minutes and monitor their life-cycles. With its integrated forum and the possibility to share qubics (inspired by scratch.mit.edu), a whole community will be built around the project, in which developers can help and learn from eachother.

early insights into QubicLab — putting intuitiveness into the focus

As the first available Qubic implementation, QLite has already been integrated into the QubicLab. A proof-of-concept qubic calculating the Fibonacci sequence by fetching the results from the last two epoches was executed successfully. Both projects couldn’t possibly complement eachother in any better way: Qubic Lite gives the QubicLab an actual protocol to build qubics on top of, while the latter provides the former with a super intuitive tool to develope and analyze those qubics.

a convenient tool to monitor all of your Qubics

Please note: Although the proof-of-concept is working, at this point nothing should be expected to be stable or even ready-to-use. I have been working on all of this for barely two weeks now and there still is a lot to do. However, I will make the QubicLab available (at least for now), so you can get yourself a better impression of how it works. Keep in mind that the functionality is still very limited and you might encounter lots of runtime errors if you don’t know exactly what you are doing (which, to be honest, you cannot really do right now 😜).

Coding QL

In order to process qubics, each ql-node runs the QLVM (Qubic Lite Virtual Machine). It interpretes and executes the code written inside the qubic. It uses an imperative programming language, called QL. The focus has been laid on making it as intuitive and convenient as possible (no type declaration, JSON variables, etc.), therefore it closely resembles javascript. In the future, all documentation will be available on qubiclite.org.

QL will make qubic coding as simple as possible

An integrated inventory of various functions (such as iota_balance() to check the balance of iotas on a certain address) will be the very foundation to build powerful applications on top of the protocol. The most important function, qubic_fetch(), which fetches data from any qubic at a certain epoch and thus allows that data to be processed within the current qubic, will enable super interesting interactions between various QApps and connect them to a huge decentralized network, an internet of quorum based computations”.


What’s next?

Although the core functionality of QLite is already implemented to a usable degree, the project requires many more features and optimizations. There are various things on the to do list and I will keep working on getting them done asap, so we can build up an ecosystem of qubic developers fairly soon. Publishing the source code will be the next thing to do, right after making sure that the code quality is sufficient.

But be aware - this is not necessarily a one-man project! Everybody who wants to help in any way (coding, documentation, anything community related, …) is invited to do so. Especially discussing the project will provide me with useful feedback to consider.

check out the qubIOTA forum

Resources to Follow the Project’s Development

https://ecosystem.iota.org/projects/qubic-lite (Qubic Lite, IOTA Ecosystem)

https://ecosystem.iota.org/projects/qubiota (Qubiota, IOTA Ecosystem)

https://github.com/qubiclite (GitHub)

http://twitter.com/qubiclite (Twitter)

Discord: @microhash#4229


To send me a 🍺 over the tangle (🍵 is fine, too):
G9ZOOVAISG99ZCIKJLRVRVYIMLCWBHVPCISBMFGTKF9BTYXPOUVQOFJLWGBELLEUJORJQTQPY9HGLMDQ9CWELOHLJC