Is it possible to install the IOTA library on a micro-controller such as ESP (ESP8266)? Such that it can write in the Tangle by sending a transaction?
2 Answers
It is feasible to use the microcontroller as an IOTA wallet. For example, you can store your IOTA seed on the flash, generate addresses from it, generate sign transactions. One option to get started is to use the IOTA Ledger Blue / Nano wallet code. It is a lightweight C library that can be easily ported to different hardware targets.
It is not feasible to compute the Proof-of-Work on microcontrollers due to their limited computational speed. Furthermore, the official CCurl implementation (Proof-of-Work computation in C) uses the pthreads
library and other functionality which are not typically available on microcontrollers.
It is, in my opinion, not feasible to run IOTA in battery powered embedded devices due to the large amount of energy it takes to sign transactions, even if the Proof-of-Work is done elsewhere.
Edit: our paper "Distributed Ledger Technology and the Internet of Things: A Feasibility Study" which describes experimental results on Texas Instruments CC2650 System-on-Chip has been accepted for publication. You can access the preprint here.
-
I wouldn't say easily, but it's portable :D Somehow. Did yesterday my first transaction on a STM32F1. Took 8 seconds. So it is possible, also on the smallest devices. Just takes time to reduce the memory usage and prevent stack overflows due to not available memory. Sep 23, 2018 at 17:23
-
Everyone who want's to work on the embedded front, please send me a message on discord. I am still working on a stable API. I don't know when I will push all that stuff, so just write me. Sep 23, 2018 at 17:25
-
@Citrullin thanks, one of my co-authors (a student) was investigating your implementation. He's more active on discord, maybe you interacted there already.– kfxSep 25, 2018 at 18:40
-
Probably I am already in contact with him :) Or maybe it's another student. I am currently polishing the library ;) Interesting: I have similar results on a STM32F1. But signing + construct of the trytes. I will update some benchmarks on RIOT OS when I am finished. Will ping you then :) Sep 25, 2018 at 22:13
-
Did you upload the paper to Researchgate or something similar? I would like to discuss the paper with you. Sep 25, 2018 at 22:19
Working on it: https://github.com/embedded-iota/iota-c-light-wallet (on my own fork. Will push it to embedded iota when it works fine.) The address generation works. I work currently on the transfer, so that it is possible to use it on a MCU without MMU. I also integrated it already to RIOT OS. So feel free to check it out: https://github.com/Citrullin/RIOT/tree/iota_implementation/examples/iota-address-lora (Just generation of addresses is working) And feel free to fork and improve :)