Why we are building the Ethereum Framework for Ubuntu Core

Lefteris Karapetsas
slock.it Blog
Published in
3 min readJan 8, 2016

Thanks to a very generous grant by the Ethereum Foundation, our team has started work on building an Ethereum Framework for Ubuntu Core.

We want to make it very easy for Ethereum developers to start working on embedded projects. While the IoT outlook is exciting, many vendors provide different software stacks for different devices, which complicates the developers’ lives due to porting and compatibility issues.

Ethereum IoT project example - Solether by Francesco Canessa — Photo by Andrei Baloiu

We believe that Ubuntu Core will help mitigate these issues by providing a platform empowering Ethereum developers to create applications that will run on all devices using Ubuntu Core.

Ubuntu Core, also known as Snappy Ubuntu, is a minimalistic version of Ubuntu designed to run on embedded devices. Atomic upgrades and guaranteed roll backs offer a bulletproof approach perfect for embedded devices where predictability and reliability are paramount. Additionally, applications are easily isolated from one another so there are no dependency conflicts, thus contributing to the overall security of the system.

Snappy Ubuntu is a minimal Ubuntu core which can easily be extended through the use of ‘Snappy Frameworks’, extending the base system in a clean way and providing specific services to the applications that use them. Using this model, we’re going to build the Ethereum Snappy Framework, and make it available and open source for everyone to leverage, study and contribute to.

Where Frameworks fit in the Ubuntu Core Architecture

Once the Ethereum framework is complete and has been uploaded to the Ubuntu store, a developer wanting to target embedded devices will be able to write a Dapp for Ubuntu core and point to our framework as a dependency. There will be no need to worry about having an Ethereum client running, dependencies or hardware compatibility issues. The Ethereum Framework will take care of it all.

Timeline

We have already managed to run the Ethereum Client in an Ubuntu Core sandbox and have experimented with Snappy apps on the Raspberry Pi. We hope to have a working version of the framework by late February, beginning of March.

As the framework is of course going to be open source, any input from developers planning to implement Dapps for Ubuntu core is going to be very valuable to us. We encourage you to join our slack channel to chat about what you believe should be part of its feature set, and if you want to learn how you can jump into Ubuntu Core development please refer to the Getting Started guide.

About the Author

Lefteris is the Technical Lead of slock.it

After graduating from the University of Tokyo, Lefteris has been developing backend software for various companies including Oracle and Acmepacket. He is an all-around tinkerer who loves to takes things apart and put them back together learning how they work in the process.

He has been part of Ethereum as a C++ core developer since November 2014, having worked on Solidity, the ethash algorithm, the core client and the CI system and is now leading the technical side of things towards revolutionizing the IoT world with the use of blockchains in Slock.it

Twitter: @lefterisjp
contact: lefteris@slock.it

--

--

Lefteris Karapetsas
slock.it Blog

Developer located in Berlin. University of Tokyo graduate. #emacs user. #ethereum core developer http://lefteris.refu.co