IOTA, Not: Bitcoin, Ethereum, Litecoin

There are 3 types of people in the world:

  1. People who don't know about Bitcoin.

  2. People buying Bitcoin (Ethereum, LiteCoin ...) like crazy.

  3. People waiting to laugh (if) when the bubble bursts.

I read that somewhere :slight_smile:
.
.

Particle.io Community links about bitcoin as of Dec 9th, 2017:

and the best one, a Bitcoin clock (Look for the updated code):

.
.
.

I have looked into programming Ethereum but it looks kind of in beta and fairly complex and I am a bit worried about using real accounts, although this page looks like an interesting starting point

If your not sure how a cyrptocurrency can be used in an online computer program checkout https://coinsutra.com/cryptokitties-cryptocollectibles/ to see a FAQ about the viral Crypto-Kitty program clogging up the Ethereum network.

.
.
.
.

Personally I am not impressed with the fees paid when doing any of these transactions. Ertherum is not too bad but Bitcoin at the moment can cost around $4 just to do a $2 transaction.

Which brings up IOTA.

Does anyone know anything interesting about it?

IOTA FAQ

https://iota.readme.io/docs

IOTA has no transaction fees since your computer power is used to help run the network by running your transaction and checking 2 other IOTA transactions. IOTA also might scale well, as it naturally uses more computers as more users interact.

IOTA is supposed to be a cyrptocurrency more for the Internet of Things. With that in mind does anyone have any code that might work with a webserver (Node or PHP) and a Photon. I also wonder if the Bitcoin clock above could be altered to read IOTA information.

I don't have any answers and am presently working on a large Machine Learning Tutorial project so for the moment I am just wondering if anyone else is interested in IOTA or has any information about using it with the Photon

1 Like

Me and 3 of my friends just bought Bitcoin recently to join the party :fireworks:

If I would have accepted $2000 worth of Bitcoin from a buyer I refused in 2013 it would be worth 200K today :smile:

Hindsight is always 20/20 :slight_smile:

4 Likes

Nice post. I too am very interested in cryptocurrencies and Iā€™ve been hodling some for a while. Iā€™m curious to see if Particle could benefit from them.

It definitely could. Just find an api that gives the IOTA price and modify the webhook.

1 Like

I found 3 tickers that send JSON strings about IOTA. It should not be too difficult to extract useful information from these returned strings.

https://api.coinmarketcap.com/v1/ticker/

https://api.bitfinex.com/v1/pubticker/iotusd

https://api.cryptonator.com/api/ticker/iot-usd

This one works in Canadian

https://api.cryptonator.com/api/ticker/iot-cad

IOTA seems to have some problems getting the tokens off the exchanges. Not sure if this will improve.

Interesting read

Also, curious if IOTA can send a portion of a token like Bitcoin can. I donā€™t see that ability in the API. Looks like you can only transfer an integer amount

http://dev.iota.org/javascript-library/#sendtransfer

Just learnt a valuable lesson. IOTAs are sold as MIOTA meaning one million IOTA which at present costs ~ = $4.00

So an actual IOTA token is worth a very small amount and can work for micro-finance.

1 IOTA = $0.000004

1 Like

Kind of surprised this thread is not getting more interest.

@zachary @zach (sorry if I tagged the wrong Zachā€™s) is this a direction particle is interested in?

1 Like

Iā€™m personally pretty skeptical, and I know @zachary is too.

One of our principles at Particle is that we try to ā€œignore the hypeā€. Thereā€™s a lot of hype in IoT ā€“ around new products, new platforms, new protocols, and new technologies. Some of that hype is justified, but most of it is not, and it can be very distracting (for us and for customers). So when new technologies come out, we ask the question: ā€œdoes it solve a real problem that we see customers facing today?ā€

As an example, I think LPWAN (low power wide area network) technologies are very very important. Battery life and cost are a big issue for IoT, and Iā€™m very excited about new technologies that reduce cost and power consumption. Thatā€™s an example of a hyped technology that solves a real problem.

Now, coming back to IOTAā€¦ to be honest, I donā€™t understand what problem theyā€™re trying to solve. Blockchain is useful when parties that want to transact with one another donā€™t trust each other or the intermediaries that manage the network; blockchain replaces trust with math. But Iā€™m not sure where that applies to IoT. What transactions are devices trying to have with one another, and why donā€™t the owner of those devices trust either each other or some intermediary? Why canā€™t they just use US dollars?

The best use case for blockchain in IoT that Iā€™ve heard of has been microtransactions of energy in the grid. In other words, if two different electrical grids are operating in close proximity to one another, and grid A is producing energy at a lower cost than grid B (maybe grid A has a hydropower plant on it whereas grid B is burning fossil fuels), then grid B should buy energy from grid A. You could imagine edge nodes on the grid processing those transactions automatically. Iā€™m not an expert in energy trading, so Iā€™m not sure whether blockchain is useful here (I think this kind of automated energy trading already happens without blockchain), but the use case at least makes logical sense.

Outside of energy trading, Iā€™m not sure what problems IOTA solves, so Iā€™ll likely continue to be bearish on it until I see those use cases.

Also, it seems like IOTA has some problems. They had a big security flaw a few months back that came from an incorrectly written hashing algorithm (which I believe has been fixed). And recently I read this blog post that gave me the heebie jeebies:

http://codesuppository.blogspot.com/2017/12/iota-tangled-mess.html?m=1

Hope thatā€™s helpful!

7 Likes

Great article @zach and everyone should read it, completely mirrors most of the frustrations I felt in 2015 with the Spark Core :slight_smile:

1 Like

The IOTA team is now official partner with RuuviTags. They implemented MAM Masked Authenticated Messaging under Bluetooth 4.2 BLE NRF52832 which is pretty cool !

1 Like

Yes, people are going to make or lose a bunch of money investing in IOTA, (1 million IOTA ~= $5.60 USD today), I am just interested in the tech. The price is irrelevant. The tech may still be useful if someday the price drops to $0.30. I donā€™t even have any IOTA on the Tangle.

I want to know if IOTA is a viable option for sending encrypted information and payments around the internet using the Photon, Raspberry Pi, WebSockets, or in the Browser.

My other area of interest is in Machine Learning and anyone in that field will tell you that data is everything. Some Particle.io users might be interested in securing there sensor data and or payments from interested third parties and IOTA might be good way to achieve that.

1 Like

Another IOT contender in the Crypto currency market is

Walton Chain WTC which is linked with RFID Tags to monitor the continuous location of merchandise

https://www.waltonchain.org/

has anyone managed to integrate to IOTA yet? any libraries available? IOTA seem to have matured a bit, and the nice thing is you can setup your own ā€œserverā€ on a local PC or smartphone so you donā€™t need to outlay any money.
There is also a competition on Hackster so i was hoping to use a particle device but i donā€™t see much code around or a nice library for IOTA on embedded devices which is a bit strange because that is their stated objective!

@jasperza

Here is the hackster link https://www.hackster.io/contests/machine-money-with-iota looks like the contest close September 15, 2019 and up to $3000 in prizes on September 23rd.

Quick question: Has IOTA solved the weird snapshot issue, where you basically have to re-find your tokens after a Snapshot of the entire network.

As far as making an IOTA device that could be really fun. I am presently away from my devices but might look into something. As far as code this old webpage I made used to work but I have not used it in a while, and it looks like it is a few releases behind.

https://www.rocksetta.com/online-iota-wallet/default.html

Do you have any tokens? It is a bit of a pain to get them. A friend of mine and I were exchanging a few iota just to see how it worked. I did managed to exchange an image and other general data using the above web page. It is weird how anyone can makeup a seed and start sending data (which gets deleted each snapshot), you have to exchange tokens to have anything saved on the Tangle. A seed is any 81 capital letters and or the number 9. You feel like anyone could stumble on your seed but that would be very rare. If you think of IOTA as for small micro transactions it does make some sense.

Would be interesting to get it working using a photon, but I would probably have a webpage controlling both the IOTA and the Photon, as that would be fairly easy.

As far as an investment IOTA tanked from ~$4.00 per million IOTA to about $0.40 per Million IOTA. The interesting thing about IOTA is that it has been made for small devices transferring tokens for services. That alone is really interesting.

I found an arduino partial implementation https://medium.com/vessels/running-the-iota-c-libs-on-arduino-b02a9d7bd2a4 and his github is here be great if some pro like @peekay123 took an interest to see if it would work on Particle devices. Once again I think the webpage control of both IOTA and a device would have the power needed to do the 3 IOTA transactions, but it would be interesting to see if a Photon could handle a simple interaction.

The official IOTA wallets are here at https://trinity.iota.org/ They have android and IOS apps as well as desktop apps.

So the Trinity app at https://trinity.iota.org/ is quite different than the one I used 2 years ago. You now enter your made up random 81 character seed (capital letters and the number 9), then name it and enter an App password. This allows you to enter other seeds and name them and just use your master password which has to be longer than a typical computer password. You can then send tokens between your different seeds

One irritating bit is that they have disabled copy and paste of your main seed from a text file. The work around on windows is to load your seed in a txt file using Wordpad, highlight the seed, then single click and drag to the trinity app. (This does not work using notepad) Once your seed is in the Trinity app you donā€™t really need it again. (They suggest all kinds of confusing encryption, but a text file in a usb stick and a printout is probably OK for small purchases.)

If anyone wants to test sending tokens my TIPS receive addresses is

GSBVLVQKLZTMKA9MWSLWFJXKULNTXBDLDBWCYEULP9QPWAXONXSEVLCQOCCQYJ9PSFMFBXQLKOTOXYZBCHXWGDHQGZ

If you are going to work on the challenge above I might send you a few tokens to test things out. At $0.0000004 per token I should be able to send 20 or so :roll_eyes:

Remember that the default IOTA send amount is a million IOTA. I always have to change that to ā€œiā€ for IOTA not ā€œMiā€ for million IOTA.

So I put this together for showing messages and tokens that have been confirmed on the IOTA Tangle. the code is not well written but for me it works.

You do need real IOTA to be able to test the program! Remember 25,000 IOTA at the moment equals about 1 penny!

1 Like

So I made another bit of code to show how easy it is to send real IOTA (Reminder, I am not endorsing IOTA, I just love easy to code projects). The github is at https://github.com/hpssjellis/easy-nodejs-iota-send-token

Here is the main app.js. Their really are no other files except the package.son file which simply auto loads npm install @iota/core and npm install @iota/converter

/////////////////////////////////////////////////////////////////
////
//// Easy send IOTA Tokens
////
////////////////////////////////////////////////////////////////

const iotaLibrary = require('@iota/core')
const Converter   = require('@iota/converter')


            //   'ABCDEFGHIJKLMNOPQRSTUVWXYZ9ABCDEFGHIJKLMNOPQRSTUVWXYZ9ABCDEFGHIJKLMNOPQRSTUVWXYZ9'
const mySeed =   'DONOTSTOREYOURSEEDONAPUBLICGITHUBSITEASANYONECANSTEALALLYOUR9IOTATOKENSKEEPITSAFE' // Your secret 81 seed [A-Z9]



const iota = iotaLibrary.composeAPI({
    provider: 'https://nodes.iota.cafe:443'   // This is the main net not development
})

// find other nodes at https://nodes.iota.works/

// https://nodes.iota.cafe:443
// https://www.iotaqubic.us:443
// https://ultranode.iotatoken.nl:443
// https://perma.iota.partners:443

// https://iotanode.us:443  // I may have over used this!
// https://nodes.devnet.thetangle.org:443'  // DEV NET must use sendTrytes(trytes, 3, 9) these iota are not real!






async function mySendFunction(){

  const myReceivingAddress = await iota.getNewAddress(mySeed, {checksum: true, security: 2})

  // or use below any address you are given or make using the Trinity App https://trinity.iota.org/
  //const myReceivingAddress = ''   // You can generate your own receive address


  const myValueIOTA = 6    // amount of IOTA to send.

  console.log('Sending: '+myValueIOTA+' iota to '+myReceivingAddress)

  const myTransfers = [{
      value: myValueIOTA,
      address: myReceivingAddress,
      message: Converter.asciiToTrytes('Sent: '+myValueIOTA+' iota to '+myReceivingAddress)
    }]

    const myTrytes = await iota.prepareTransfers(mySeed, myTransfers)

    // with security depth 3 and minWeightMagnitude for Mainnet = 14
    const myResponse = await iota.sendTrytes(myTrytes, 3, 14)

    console.log('Completed TXs. You sent: '+myValueIOTA+' IOTA to '+myReceivingAddress)
   // response.map(tx => console.log(tx))    // very useful, shows lots of information: the hash, value, message incoded etc

}

// run the async function to be able to use 'await'
mySendFunction()

Thatā€™s it for sending IOTA! Reminder the seed is everything. You randomly make up your seed (A-Z or the number 9) but if anyone finds it, they can take all your IOTA. The IOTA is not stored in wallets, it is stored in the cloud using what they call the Tangle. The seed is the only way to interact with your tokens. Anywhere you store your seed could be a security hole. Best to print it out and use the QR code to load it when needed.

Presently 1 penny ~= 25,000 IOTA. You can not send a decimal amount of an IOTA.

2 Likes

So I entered the Hackster competition. My link is not available until Judging on September 23rd, but my video is here

and my github is here

I ran out of time to do a machine 2 machine example.

This stuff has lots of issues and programming it is really slow since you have to wait the 1 to 3 minutes for each transaction, but really fun to see a Particle Photon react to financial interactions completely controlled by a node js website. No middle man, no fees.

My Hackster is at https://www.hackster.io/jeremy-ellis/particle-photon-pay-iota-to-read-sensors-edb7b8

2 Likes

To add some update refresh the topic a little I would like to share some project which use new IOTA streams (before MAM). In upcoming days IOTA will migrate to new chrysalis network which is more than fast and awesome ! but letā€™s started.
I was able to send enviromental data from photon with MQTT to IOTA streams chanel, with IoT2Tangle MQTT rust gateway.
The MQTT gateway can be downloaded from here:

And also thereā€™s a guide how to install mosquitto broker on local machine (is also good idea to install mosquitto client for testing purpose)
The bigest issue wich I faced was mosquitto configuration on my ubuntu 18.04 as broker starts just after fresh instalation but works just localy, on the machine where is installed. I couldnā€™t connect my Photon as mosquito bind to 127.0.0.1 and to expose the machine/broker I have to edit mosquitto conf to achive this:

  1. sudo nano /etc/mosquitto/conf.d/default.conf
    (the config is empty as mosquitto use a default conf)
  2. add a listener ip_address_of_the_machine eg:
    listener 1883 192.168.1.1
  3. sudo systemctl restart mosquitto
  4. check if conf reloaded corectly.
    netstat -tln | grep 1883

example code can be found here:
https://go.particle.io/shared_apps/607d0a6d346dc30016697d85
and here is I2Texplorer, where we can see attached messages:
https://explorer.iot2tangle.io/

Please note that I didnā€™t add real sensor values in the code as this is just an idea and someone can use completly different configuration/sensors than Iā€™m using. Is just rand() used to obtain some values.

My finnal goal is to use rust SSE client and instead of MQTT use native Particle.publish() functionality.

If any one will like to contribute, share some idea Iā€™m open for all sugestions :wink: