IOTA: Cannot be used for IoT. Loss of funds may occur.

Andreas Brekken
Feb 9, 2018 · 15 min read

IOTA is a tangle coin that ICO’d on Bitcointalk in JINN, another coin. It promises to bring cryptocurrency to the Internet-of-Things. But did anyone actually try using IOTA? Andreas finds out.

Image for post
Image for post

Today I’m reviewing IOTA, a token that uses a tangle instead of a blockchain. IOTA is supposed to be used on small devices in the Internet of Things. I’ll show you how to buy, store, send, and sell.

TL;DR: IOTA cannot be used for Internet-of-Things devices. Or anything.

I last tried IOTA in November 2016. Back then I was researching IOTA for my then coworker Kevin.

Image for post
Image for post
Kevin runs a fund these days. Like everyone else.

I remember having to run pre-compiled binaries and being unable to send a transaction. Today I’m giving IOTA another chance.

IOTA was first announced in a traditional Bitcointalk announcement (ANN) thread in October 2015 with a white paper titled “The tangle”. The original coin was named DagCoin.

Instead of the global blockchain, there is a DAG (= directed acyclic graph) that we call tangle.

Graph is math speak for “circles connected with lines”. Acyclic means that there are no loops. The Bitcoin blockchain is a DAG. A transaction does not directly or indirectly refer back to itself.

As of writing this IOTA has a market cap of $6.6 billion dollars.

Image for post
Image for post

You can skip to the end of this review by searching this page for the word conclusion.

Goals for the Review

  1. Sync the IOTA blockchain (tangle)
  2. Buy IOTA and send it to my wallet
  3. Send the IOTA to a mobile wallet

The IOTA Landing Page

Image for post
Image for post
Everything I know about the Internet-of-Things (IoT) I learned from Internet of Shit on Twitter.

The IOTA landing page promises that IOTA will make every technological resource a potential service. I’m not sure what that means.

Compiling and running IOTA from source-code

Image for post
Image for post

The IOTA Github organization has a few different IOTA related projects. When I ran IOTA back in 2016 there was only a Java client. Today I see clients written in a variety of programming languages from Javascript to Rust. I’m not sure which one to use so I’ll go back to the landing page.

Image for post
Image for post

I click GUI under Get Started which takes me to the IOTA documentation.

Image for post
Image for post
Apparently the source-code will be available in 1–2 weeks. They also write that you can’t use IOTA for IoT. ¯\_(ツ)_/¯

All instructions in the README suggest I download and run a pre-compiled program. A blockchain client has to be open-source for the users to predict its behavior. I’ll try to compile the Linux GUI from source.

Advertisement: There’s a ton of shitcoin forks out there; Bitcoin Gold, Diamond, Faith, and more. Use the Automated Forked Coin Extraction Tool to safely extract your coins. Literally free money from shitcoins. Click here.

Image for post
Image for post

The download link leads to the v2.5.6 release tag of the iotaledger/wallet project. I’ll look at the README for instructions.

Image for post
Image for post

Electron is a project created by Github that lets coders create desktop apps using the same technologies they use to make websites. This means I need to run IOTA on a Linux Desktop with a graphical interface.

I haven’t ran an Ubuntu Desktop installation for a while so I’ll follow a guide I found.

Image for post
Image for post
AWS means Amazon Web Services. EC2 means Elastic Compute Cloud. They really like acronyms.

I start an Ubuntu 16.04 machine on Amazon AWS.

Image for post
Image for post

Even though IOTA is for smaller IoT devices I might need a more powerful machine to compile from source-code. I notice most of the code is Java so I’ll probably need a lot of RAM.

Image for post
Image for post

A machine with 4 CPU cores and 16 GB of RAM should be fine.

Image for post
Image for post

The machine is running. I’ll connect to it and follow the guide for installing the graphical interface.

Image for post
Image for post
Ready to rock!

With brevity in mind I have left out the steps for installing the graphical interface for Ubuntu.

Image for post
Image for post

I now have Linux with a graphical interface running. I return to the IOTA wallet install instructions.

I can’t get the clipboard on my laptop to transfer to the Ubuntu Desktop for pasting commands. I’ll continue using SSH until I need the graphical interface.

First, I need to install Node.js.

Next I need Electron and Bower. Bower is a package manager.

The -g passed to NPM means install globally as opposed to in the correct directory.
Even bower doesn’t recommend bower.
Image for post
Image for post

I’ve never installed Electron Builder before and will need to read its instructions.

Image for post
Image for post

electron-builder's readme recommends using yarn instead of npm to install. yarn is an alternative to npm created by Facebook.

At least I can install yarn with npm. Inception!

And then electron-builder.

I don’t understand why the instructions say to install Docker. I’ll wait a bit with that. Docker lets you run programs in isolation so that any change they make to your machine is gone when you stop the program.

I download the IOTA wallet source-code and switch to the v2.5.6 version of the code.

The instructions tell me to install something called IRI.

Image for post
Image for post

I look for what IRI is.

Image for post
Image for post

IRI is an acronym for IOTA Reference Implementation. It’s written in Java and was first put on Github in October 2016:

Image for post
Image for post

There have been over 1,300 commits (code changes) to IRI since then. The recent activity is quite modest.

Image for post
Image for post

The majority of the work is by a user named paulhandy with the project activity peaking in April 2017. I’m trying to find if there has been an ICO.

Image for post
Image for post

According to their Bitcointalk posts the IOTA team is a Norwegian company and raised funds with something called JINN. I’ve never heard of JINN.

Image for post
Image for post

I need to install Java 8 and Maven to compile IRI.

I haven’t installed Maven for Linux before and will need to find some instructions. Maven is a program that builds other programs.

I’ve now installed Maven and can compile IRI.

I now have the iri.jar file that’s required by the IOTA wallet and can get back to the wallet.

And install the wallet dependencies:

I’ll switch back to the graphical interface to start the wallet.

Image for post
Image for post

And then I’ll start the wallet from the terminal.

Image for post
Image for post

OBJECTIVE PASSED!

Compile and run IOTA from source-code on a server

I’ll of course run a full node.

Image for post
Image for post

I tried clicking Start, but get the error message that I need neighbors first.

Image for post
Image for post

I’ll need some peers to connect to. These are called neighbors. The documentation says to find neighbors on their Slack chat.

Image for post
Image for post

For this purpose I assigned a static IP address to my server, opened port 14265 from the Internet, and pointed iota.shitcoin.com to that IP address.

Advertisement: Looking to trade futures such as BTC, BCH, ETH, XRP? BitMEX has the lowest fees and you don’t even need to give your name! Register in 30 seconds using my referral link.

Now I’ll go on their Slack and ask people in channel #nodesharing to be my mutual peers at udp://iota.shitcoin.com:14265.

Image for post
Image for post
1,555 users in the channel! I hope some of them are online.
Image for post
Image for post
Image for post
Image for post
Now I just need some peers…

I’m already bored of waiting. Judging by the amount of activity in the channel this will take a long while. I’ll just message random people showing as online.

Image for post
Image for post
I hope he grants me my wish of finding my first peer.
Image for post
Image for post
I don’t think the genie is running a full node.
Image for post
Image for post
Nor does Alain.

I noticed a mistake in my firewall rules. I’ll open the correct UDP port.

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

I input my first neighbor and pressed Start.

Image for post
Image for post

At least I’m making new friends.

Image for post
Image for post
Image for post
Image for post

It seems I’ve messed up the ports. 14265 is the port used to control the node, not the peer-to-peer networking.

Image for post
Image for post
Image for post
Image for post

I look at the console to see if I’m connected to any peers.

Image for post
Image for post

It looks like something is happening!

Image for post
Image for post

It’s time to setup a wallet. The login box contains the wallet seed. I click the help icon.

Image for post
Image for post

The seed requirements are oddly specific. Only upper case characters and the number 9. I make up a random one.

Image for post
Image for post

And press Login.

Image for post
Image for post

It seems I need to be synchronized with the network/tangle before logging into the wallet.

I ask on the chat how long it takes to sync the IOTA tangle.

Image for post
Image for post

No one has a good answer. I just have to wait. Sadly, I ran out of time and had to work on another project. I return a few months later.

Image for post
Image for post

I start the machine back up and try to log in.

Image for post
Image for post

Same problem. The project has moved from Slack to Discord. I ask on the Discord chat.

Image for post
Image for post

Apparently my solid subtangle is way down. I don’t know what that means.

Image for post
Image for post
Why Sunday? Why only once a week?

The solution seems to be to wait until Sunday. Or to download their snapshot.

Image for post
Image for post

I start to download the snapshot. It’s around 13 GB.

I start the wallet and it doesn’t sync. A developer on Discord tells me the files need inside the folder mainnetdb. I try again.

$:~/.config/IOTA Wallet/iri$ rm -rf *

I try to start the wallet again. It’s still not synced. I take the weekend off and attempt again.

Image for post
Image for post

OBJECTIVE PASSED!

Sync the IOTA blockchain (tangle)

I head over to ShapeShift to buy some IOTA.

Image for post
Image for post

ShapeShift does not appear to have support for IOTA. I head over to Binance.

Image for post
Image for post

To withdraw I’ll need my IOTA receive address.

Image for post
Image for post
I don’t know what “attach to tangle” means
Image for post
Image for post

The withdrawal is now confirmed on Binance.

Image for post
Image for post

The IOTA wallet balance shows a balance of zero after three hours. The history shows an item.

Image for post
Image for post

I click Show bundle.

Image for post
Image for post

I don’t know what those buttons do. I try to click both.

Image for post
Image for post

The balance is still zero. I try to restart the wallet.

Image for post
Image for post

Still nothing. I check an IOTA tangle explorer.

Image for post
Image for post

The transaction shows as confirmed. I ask on Discord again.

Image for post
Image for post

The network has been updated to a new version 18 hours ago. I need to fetch and recompile the new version of IRI.

I restart the IOTA wallet. The IRI console now shows the message “Skipping negative value for address” repeatedly.

Image for post
Image for post

Negative balance sounds bad. The IOTA wallet interface opens after a few seconds. I log in.

Image for post
Image for post

I assume the error I saw in the IRI console is preventing me from syncing with the IOTA network. I ask on the Discord.

Image for post
Image for post

I delete the IOTA database files as instructed.

And start the IOTA wallet. The console shows the same “negative value” error. Perhaps I need to delete more files.

I start the IOTA wallet successfully. I now need to wait to sync with the IOTA network.

Image for post
Image for post

Advertisement: There’s no shame in being a shitcoiner. But you need to trade on Binance. Why? They have coins I’ve never heard of. What the hell is MTL? POWR? QTUM? Is it a joke? I don’t know. Register on Binance using my referral link.

After a few minutes I can log in.

Image for post
Image for post

The IOTA wallet shows a zero balance and there is no transaction history.

Image for post
Image for post

I click Attach to Tangle as instructed.

Image for post
Image for post

The history displays the transaction, but as pending.

Image for post
Image for post

I click Show bundle and try to click Reattach.

Image for post
Image for post

The IOTA wallet now shows two entries!

Image for post
Image for post

I ask on Discord.

Image for post
Image for post

I’ll wait a few hours and look again.

Image for post
Image for post

A few hours later the transaction shows as confirmed.

Image for post
Image for post

OBJECTIVE PASSED!

Buy IOTA and send it to my wallet

I will now try to send IOTA to my Android phone.

Image for post
Image for post

The IOTA mobile wallet has installed on my phone.

Image for post
Image for post

I click Generate seed.

Image for post
Image for post

I press Login.

Image for post
Image for post

The loading spinner keeps spinning for minutes and nothing shows up.

OBJECTIVE FAILED!

Send the IOTA to a mobile wallet

Image for post
Image for post

Part of the test is to send the IOTA out of my IOTA wallet. I will send to Bitfinex instead.

Image for post
Image for post

There are a lot of disclaimers to deposit IOTA to Bitfinex. Some research shows that reusing an IOTA address can lead to loss of funds.

Image for post
Image for post

I accept the disclaimer.

Image for post
Image for post

I return to my IOTA wallet and click the Send tab.

Image for post
Image for post

I click Send It Now.

Image for post
Image for post

The message Transfer completed appears.

Image for post
Image for post

The IOTA wallet balance still shows as 404.0+ Mi. Perhaps it will update when the transaction is confirmed.

Image for post
Image for post

The transaction shows as pending in the history. I click Show bundle.

Image for post
Image for post

I look up the transaction hash in the IOTA tangle explorer.

Image for post
Image for post

I ask on the Discord.

Image for post
Image for post

According to someone on Discord there has been an upgrade of the IOTA wallet from v2.5.6 to v2.5.7. I find it unlikely that upgrading the IOTA will help. Every other issue has been with IRI. But I’m desperate.

The new IOTA version is downloaded. I start the wallet with npm start.

Image for post
Image for post

The transaction is still showing as pending. I try to click Rebroadcast.

Image for post
Image for post

I ask on the IOTA Discord. No one answers. I’ll try again tomorrow.

Image for post
Image for post

I ask again on the IOTA Discord.

Image for post
Image for post

It seems the IOTA node has fallen out of sync again. I’ll try to restart it.

Image for post
Image for post

The IOTA wallet shows a Connection refused error. Is the IOTA wallet unable to connect to IRI? I check the IOTA tangle explorer.

Image for post
Image for post

My transaction has been reattached successfully and is confirmed. I check Bitfinex.

Image for post
Image for post

The transaction shows as confirmed! I sell the IOTA tokens at market rate.

Image for post
Image for post

The IOTA tokens have been sold for BTC.

Image for post
Image for post
You’ll end up here if you searched the page for the “conclusion”

IOTA is the worst cryptocurrency I’ve reviewed so far. Installing the IOTA wallet was a pain. Receiving and sending IOTA tokens is technically challenging and time consuming. Address reuse can lead to loss of funds. There is no functional IOTA mobile wallet. There is no IOTA hardware wallet support.

But most importantly it is very clear that IOTA cannot be used on Internet-of-Things devices, the problem it markets itself as solving! How can a smart lightbulb or drone stay in sync with a “tangle” that requires vast amounts of CPU cores, RAM, and network bandwidth to stay in sync with?

Image for post
Image for post
You may notice the instance type was changed to m5.4xlarge, a 16 CPU core machine with 64 GB RAM. I upgraded to this machine after reading on the Discord chat that people were unable to stay in sync with less powerful hardware.

IOTA is a shitcoin. I don’t recommend buying or holding it. I’m even going to short it. However, if you choose to go against my recommendation, trade on Binance with my referral link. At least then your misery helps me.

IOTA cannot be used on Internet-of-Things devices

Good night, blockchainers.

Advertisement: There’s a ton of shitcoin forks out there; Bitcoin Gold, Diamond, Faith, and more. Use the Automated Forked Coin Extraction Tool to safely extract your coins. Literally free money from shitcoins. Click here.

About The Author

Andreas Brekken is the CTO/co-founder of Helix Capital and has been obsessed with cryptocurrency since 2011. He was the CTO/co-founder of Justcoin.com and later worked as an engineer with Kraken.com.

Follow me on Medium and Twitter for more reviews.

Are you making a blockchain product and want me to advise or review? I can be bought. Send me a paid message at https://earn.com/berken/

Shitcoin.com

There’s a lot of “blockchain” projects out there, but do…

Thanks to Editor

Andreas Brekken

Written by

Shitcoin.com

There’s a lot of “blockchain” projects out there, but do they actually work? Andreas tries to install and use them. Also home of the Shitcoin.com newsletter.

Andreas Brekken

Written by

Shitcoin.com

There’s a lot of “blockchain” projects out there, but do they actually work? Andreas tries to install and use them. Also home of the Shitcoin.com newsletter.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store