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?

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. – Citrullin Sep 23 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. – Citrullin Sep 23 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. – kfx Sep 25 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 :) – Citrullin Sep 25 at 22:13
  • Did you upload the paper to Researchgate or something similar? I would like to discuss the paper with you. – Citrullin Sep 25 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 :)

Feel free to ping me on discord (@citrullin) /e We can discuss further stuff there. I successfully created a transaction bundle on the STM32F1 on Saturday.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.