Nautilina



Offline



Activity: 4

Merit: 0







NewbieActivity: 4Merit: 0 Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar September 07, 2013, 07:33:25 AM

Last edit: September 07, 2013, 01:55:26 PM by Nautilina #1 https://i.imgur.com/cjNiE4d.jpg



For around USD$20 I was able to pick up a brand new Kobo Mini eReader, with the intent on turning it into

a nifty Bitcoin tool. It sports an 800x600 E-Ink display, an 800MHz processor, has WiFi and USB networking,

and runs the very hacker-friendly BusyBox Linux. The storage is claimed to be 1GB by the box, but it actually

contains a 4GB MicroSD card internally.



There's a variety of interesting things that can be done with such a low power, low cost device, but for the

moment I am focused on building a tip jar that uses a deterministic wallet to display an infinite number of

fresh addresses displayed as QR codes.



https://i.imgur.com/ajK7BDz.gif



(In real life, there's a 500ms delay as the screen transitions through black under the QR code. Both frames of the animation are real photos of the QR code on the device.)



So why bother having a dynamic tip jar address rather than one printed on paper? The answer, quite simply,

is privacy. It avoids transactions on the blockchain from being associated with both you, and with other

tippers. It also hides the total number of tips received, if that is an issue for the vendor. Alternatively, it

could also display a total of all the watched deterministic addresses. The only limit is screen space.



Currently the system uses a very large set of pre-rendered Bitcoin QR codes, and simply rotates through

them as a preset interval (currently 5 minutes), and goes into hibernation in-between. I intend to replace

this with a better Python script that will render them on the fly given an Armory seed. The device only has

knowledge of the public keys, so there's absolutely no danger of tips being stolen if the device is.









I've found that it also works quite admirably when pulling data from an external data source. Displaying



https://i.imgur.com/HOgpt0k.jpg



Displaying mining data from bfgminer's API on another host:



https://i.imgur.com/HlpDwrt.jpg





The device internally is very suited to it's new task. MicroSD cards can be switched at will to provide different

software or to replace a damaged install. The entire operating system is stored on the MicroSD card, meaning

it is almost impossible to brick.





https://i.imgur.com/O7XtaMb.jpg





There's also an unpopulated serial header, but I've not needed to try that yet.



I'm not sure how well the battery will last under any of the demonstrated conditions, but I've only used 13%

or so in hours of hacking with the WiFi permanently enabled (normally it would be only on intermittently). The

chief feature of using an E-Ink display is that no power is consumed when idle, only when actively

redrawing the display.



None of my code is particularly presentable at the moment, but it's incredibly easy to hack something like this

together if you've some bash scripting experience and a few hours of spare time. There is

information on the internal daemons and behavior available too. For around USD$20 I was able to pick up a brand new Kobo Mini eReader, with the intent on turning it intoa nifty Bitcoin tool. It sports an 800x600 E-Ink display, an 800MHz processor, has WiFi and USB networking,and runs the very hacker-friendly BusyBox Linux. The storage is claimed to be 1GB by the box, but it actuallycontains a 4GB MicroSD card internally.There's a variety of interesting things that can be done with such a low power, low cost device, but for themoment I am focused on building a tip jar that uses a deterministic wallet to display an infinite number offresh addresses displayed as QR codes.So why bother having a dynamic tip jar address rather than one printed on paper? The answer, quite simply,is privacy. It avoids transactions on the blockchain from being associated with both you, and with othertippers. It also hides the total number of tips received, if that is an issue for the vendor. Alternatively, itcould also display a total of all the watched deterministic addresses. The only limit is screen space.Currently the system uses a very large set of pre-rendered Bitcoin QR codes, and simply rotates throughthem as a preset interval (currently 5 minutes), and goes into hibernation in-between. I intend to replacethis with a better Python script that will render them on the fly given an Armory seed. The device only hasknowledge of the public keys, so there's absolutely no danger of tips being stolen if the device is.I've found that it also works quite admirably when pulling data from an external data source. Displaying bitcoincharts Displaying mining data from bfgminer's API on another host:The device internally is very suited to it's new task. MicroSD cards can be switched at will to provide differentsoftware or to replace a damaged install. The entire operating system is stored on the MicroSD card, meaningit is almost impossible to brick.There's also an unpopulated serial header, but I've not needed to try that yet.I'm not sure how well the battery will last under any of the demonstrated conditions, but I've only used 13%or so in hours of hacking with the WiFi permanently enabled (normally it would be only on intermittently). Thechief feature of using an E-Ink display is that no power is consumed when idle, only when activelyredrawing the display.None of my code is particularly presentable at the moment, but it's incredibly easy to hack something like thistogether if you've some bash scripting experience and a few hours of spare time. There is wiki with someinformation on the internal daemons and behavior available too.