Questions regarding Snappy framework development

lefteris lefteris at
Thu Jan 14 16:11:25 UTC 2016


I am working on creating an Ethereum Snappy framework which is going to 
be providing an interface to an always running ethereum client (daemon) 
to the apps that use it.

What this means is that I need to framework-ize a daemon which must have 
access to the outside world and keep downloading data (the blockchain) 
and storing it in the framework's writeable location. I also need to 
expose a unix socket that this daemon creates for its API internally for 
other snapps to use. Other apps talk to this Socket with JSONRPC and 
hence can query/interact with the daemon.

My questions are:

1) I know that dbus is the suggested method of communication for 
frameworks and apps. Is that the only possible way? By defining a proper 
apparmor and seccomp profile a framework could use plain sockets?

2) Are there any existing snappy frameworks that already do that? Some 
nice examples to check out?

3) If (1) and (2) are impossible or "bad", Would it be a better option 
and would it be considered as a "better Snappy citizen" to enforce dbus 
and make an extra lightweight daemon inside the framework who would be 
opening a dbus bus, listening for messages and writting them to the 
actual daemon's socket inside the framework?

4) I noticed that while running the daemon as a plain snapp the $HOME 
directory was correctly set to /apps/NAME/VERSION/, but when running it 
as a service of the framework the $HOME directory was /root. Is that 


Lefteris Karapetsas
Technical lead at

More information about the snappy-devel mailing list