Welcome Richard Janis Goldschmidt to the IOTA Foundation

Welcome Richard Janis Goldschmidt to the IOTA Foundation

20:09 - 06/12/2019


Janis is joining IOTA as Senior Software Engineer of the Engineering team. In this role, he will help with general Rust adoption within the IOTA Foundation and lead the team working on the Bee project jointly with Thibault Martinez. Janis lives in Berlin, Germany, and has been working with Rust since it hit 1.0 in May 2015. He has done research on nonlinear dynamics, worked in computational social science, and co-founded a neurotech startup.

On joining IOTA

I am very happy to join the IOTA Foundation (IF) and I am honored to play a major role in the adoption of the Rust programming language throughout the organization, which includes embracing an open-source governance model. I was following the evolution of cryptocurrencies since September 2010 when I first heard about Bitcoin. IF is the first organization that convinced me to enter this field, with their goal to use distributed ledger technology for creating a framework to distribute and verify data in a decentralized way. The two aspects that really won me over and made me join IF are a), its non-profit nature and pursuit to bring together actors from industry, academia, and government, and b), the academic rigor of IOTA’s research team, which demonstrates their seriousness to put its technology on a solid footing. I will work closely with them to translate their vision into production-grade code. At some point in the future, I will get back to finish my PhD. For now, I couldn’t let the opportunity to join IF at this exciting moment pass by.

We are very happy officially announcing Janis joining the project, his experience as Software Engineer is an asset to the IOTA foundation. Give him a warm welcome!

Welcome Richard Janis Goldschmidt to the IOTA Foundation was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

IOTA Research Status Update December 2019

IOTA Research Status Update December 2019

16:10 - 06/12/2019


The monthly IOTA Research Status Update will contain news and updates about our major projects.

This month’s update is about the status of our major task, Coordicide.

Our team is split into several subgroups, each of which is focused on a specific area of Coordicide. The DRIs (Directly Responsible Individuals) for each group meet regularly to discuss developments and impacts across the groups. We have found this workflow to be very effective.

Our primary goal is to deliver a specification for the Bee node software, which will form our implementation of Coordicide. This will run first on a testnet, and then later on the Mainnet. Our team is currently engaged in three tasks: writing a research specification, whitepaper revisions and researching the Coordicide components.

Research specification

This specification is similar to a whitepaper, but with sufficient technical detail for it to be transformed into our next deliverable: the engineering specification. The engineering specification will then be handed over to our developers to code, test, and release.

Whitepaper revisions

We have received wonderful feedback from the public and our academic collaborators, including members of the IOTA Research Council. We are now writing a revised whitepaper in light of our research. This paper is extremely important to us, forming the base through which experts can verify the core of our solution.

Coordicide component research

Coordicide is made up of several components. While we are actively researching numerous topics, our focus in this post is the major Coordicide components necessary for completing the Research specification. Below we provide status updates on these.


We have two proposals for autopeering: “salt-based” and “arrow.” We have been analyzing the salt-based proposal both analytically and through simulations in GoShimmer. In particular, we have been investigating how long connections between nodes will last, and also studying the strength of the “verifiable randomness” test. We have also started modeling the fluctuations on the number of connections of the nodes’ graph. Soon we will compare the simulation and analytic results and compile them into a number of scientific publications. Once complete, we will be able to finalize autopeering the spec for handover to the engineering team.

Fast Probabilistic Consensus (FPC)

Our simulation study of FPC was recently published on arXiv. Together with the blog posts Simulation study of FPC and The FPC simulator, this completes the first milestone in understanding FPC.

We have made significant progress with Berserk detection, and a blog post is forthcoming. The blog post is based on the IOTA.cafe thread on the topic. We will discuss a safety feature that makes it impossible to be berserk in FPC. By implementing those features we will decrease the efficacy of possible attacks, leading to decreased probabilities of agreement and termination failures. This is confirmed by both the FPC paper and our simulations.

The actual implementation of FPC will depend on parameters defined by the reputation system and mana of the nodes. Given that the precise distribution of the mana post-coordicide is variable and unknown, our approach is to study the impact of various mana distributions on the robustness and efficiency of FPC. This analysis will allow us to determine the final parameters of FPC, and complete the specification. Completing this analysis is the main focus the FPC group.

Cellular Automata

The autopeering network protocols are designed so that Cellular Automata can achieve fast and robust convergence. However, the existing theory does not cover all practical situations. To integrate CA, we first determined whether the associated analytical tests provided the desired convergence. These initial studies reinforced what we expected from the outset — that it would be difficult to get new theoretical results for CA.

The logical next step was then to perform analysis through simulation. For this purpose, CA has been implemented in GoShimmer: https://github.com/iotaledger/goshimmer/tree/ca. We will use this implementation to run tests and simulations. This will allow us to check if the expected robustness holds.

As a voting protocol, CA distinguishes itself by having extremely fast convergence, and it is thus suitable for IoT applications, where we expect it to shine. FPC provides a more robust convergence. Based on the results from the simulations, we will determine whether to include CA in the first version of Coordicide. We expect both to coexist in future optimizations.

Rate Control

We are currently extending our previous paper on adaptive Proof of Work, which we will submit to the IEEE ICBC Conference as a follow up of last year’s publication. After that, we plan to integrate the adaptive Proof of Work into GoShimmer for testing and parameter tuning.

In parallel, we are investigating the use of a Verifiable Delay Function (VDF) as an anti-spam mechanism. The research focuses on generating a public RSA modulus in a distributed way, which will be used in a Wesolowski-like VDF. In November, we submitted two work in progress papers to the Stanford Blockchain Conference. We are now writing a third one on how to integrate VDFs as a rate control mechanism in IOTA, which we plan to submit to ACM MobiHoc.

Additionally, we are working on the definition of a congestion control mechanism for the Tangle. The main challenge is to guarantee that the nodes share the same vision on incoming transactions (or, equivalently, preventing network splits) by efficiently using the network bandwidth. We have sketched a protocol proposal inspired by the Additive Increase Multiplicative Decrease algorithm commonly used for the Internet, and we are currently building a simulator to evaluate its efficiency. After this validation phase, the next task is to provide full specifications for Coordicide.


Various packages have been integrated on the hive.go repository. Common packages and functionalities between GoShimmer and Hornet are organized together under this single repo. The new salt-based autopeering module (from autopeering-sim) has been integrated into GoShimmer and is currently in testing/debugging phase. The ledger state is near completion, currently in the testing/debugging phase. The gossip layer has also been refactored.

These updates to GoShimmer are essential because they make the overall implementation more robust and reliable. This, in turn, will allow us to focus on integrating the voting layer.

The pieces of Coordicide are coming together! Please stay tuned for further updates, and as always, feel free to reach out in our regular communications channels. You can stay up to date with the IOTA Research team in the #tanglemath channel on our Discord. We have also recently launched our public forum: IOTA.cafe. Please do check out these resources for further details on what we have outlined above.

IOTA Research Status Update December 2019 was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Welcome Alex Westerhof to the IOTA Foundation

Welcome Alex Westerhof to the IOTA Foundation

18:09 - 03/12/2019


Alex Westerhof is joining the IOTA Foundation as Partner Manager. In this role, he will focus on managing IOTA’s corporate partnerships, as well as support with overall partner strategy and activation planning.

Alex lives in Deventer, the Netherlands and has a strong background in key account and partner management, and business development. Working at Hewlett Packard Enterprise and Gartner, he was responsible for driving impactful partnerships with large-sized companies and global clients in various verticals over the past 10+ years. He is a generalist with a keen interest in business strategy and technology alignment.

He studied Tourism & Leisure Management and earned a Bachelor’s degree at the Breda University of Applied Sciences. From an early age, Alex had a passion for traveling and exploring the world. He got a Master’s degree in Account Management at the Frontline Business School and also completed several professional programs at the Rotterdam School of Management.

He learned about IOTA two years ago. His experience working in the technology and research industry made him understand the need for social and environmental change. He quickly realized the positive impact IOTA can have on the different levels of our digital society.

On joining IOTA

Together with a broad ecosystem of partners and a thriving community, the IOTA Foundation is building the global, digital trust layer needed to drive a new wave of innovation and growth. In order for society, industries, organizations of all shapes and sizes, down to us as individuals to benefit from this next wave, the digital trust layer has to be permissionless, open, feeless and take an autonomous future into account.

I’ve followed IOTA’s progress and witnessing the foundation’s ethos over the past two years. I am thrilled to join the foundation that is building the digital trust layer needed to drive this new wave of innovation and growth where ultimately all stakeholders will benefit.

I look forward to jointly drive successful outcomes with our ever-expanding ecosystem of partners, who are optimizing and transforming their respective environments together with IOTA.

We are very happy officially announcing Alex joining the project, his background and experience in management and business development will assist the foundation in its next phase of growth. Establishing long-term, impactful, relationships with existing and new partners is key to further advance IOTA into the corporate world and drive adoption. Give him a warm welcome!

Welcome Alex Westerhof to the IOTA Foundation was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Welcome Aleksa Krstić to the IOTA Foundation

Welcome Aleksa Krstić to the IOTA Foundation

20:12 - 02/12/2019


Aleksa Krstić is joining IOTA as a Graphic Designer. In this role, Aleksa will focus on improving IOTA’s awareness through high-impact text and images.

Aleksa lives in Belgrade, Serbia and has been in the technology sector for five years. He has worked as a graphic designer and UI | UX designer for many tech companies.

On joining IOTA

IOTA is a great place to apply and improve my skills. IOTA can have a broad impact on society, which is very interesting to me. Working with the smartest people and cutting-edge technologies is what I always wanted — and I’m glad to grow alongside my new colleagues and the foundation!

We are very happy to officially announce that Aleksa Krstić is joining the project. His experience as a Graphic Designer is a huge asset in building IOTA’s brand. Give him a warm welcome!

Welcome Aleksa Krstić to the IOTA Foundation was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

EDAG CityBot and IOTA — The Future of Mobility

EDAG CityBot and IOTA — The Future of Mobility

22:23 - 29/11/2019


EDAG CityBot and IOTA — The Future of Mobility

November 2019

  • EDAG presented the CityBot concept vehicle at the International Motor Show 2019.
  • Modularity and maximum flexibility allow it to be used for a wide variety of tasks.
  • The CityBot is an autonomous vehicle that never rests and uses urban resources efficiently.
  • IOTA as data transmission and payments protocol to enable new business models for CityBot owners.

EDAG and the IOTA Foundation have been working together on mobility topics such as smart parking for some time. This year another chapter of collaboration began.

In the CityBot concept presented at the IAA in September, IOTA is used for secure communications and payments which enables new digital business models for CityBot owners.

Urbanization is one of the megatrends shaping our future and it comes with challenges that need to be addressed. More and more people are moving into cities, traffic and pollution become major problems and endanger our planet. Individualization is another megatrend: it drives individual transport and delivery and increases traffic and pollution even more.

EDAG has created the CityBot to solve these problems. An autonomous and modular vehicle that can be applied in a multitude of different scenarios and use cases, thanks to the CityBots’ different ‘Hero’-modules that it can switch depending on its current task.

The CityBot can be applied in a multitude of different scenarios and use cases.

Because the CityBot is so modular and flexible, it can be in use all day and will free up space that is otherwise used for parking.

The CityBot can be in use all day.

IOTA is going to be the data communication and payment protocol for the CityBot. Its fee-less nature allows it to be used for:

  • Machine to machine and machine to infrastructure payments.
  • Secure data communication.
  • Seamless identity management.
  • Transparent data marketplaces such as the IOTA Data Marketplace
  • Marketplaces for services and data such as the IOTA enabled Industry Marketplace

The CityBot’s various possible services can be offered around the clock, which allows it to amortize quickly. These services can be offered on an IOTA enabled marketplace such as the recently released IOTA enabled Industry Marketplace where digital and physical goods can be traded by machines automatically.

The exchanged data adheres to the ISO/IEC-compliant data standard eCl@ss and follows specifications developed by the Plattform Industrie 4.0 (Germany’s central network for the advancement of digital transformation in manufacturing).

Holger Köther presenting IOTA in front of the CityBot.

EDAG presented the CityBot at the IAA 2019 in Frankfurt and won Gold at the German Design Award for their vision of Future Mobility. The IOTA Foundation is proud to be part of this grand vision for a more sustainable future enabled by CityBots acting as autonomous economic agents.

EDAG: A simple idea and a deep conviction marked the beginnings of EDAG: to apply the art of engineering to make cars better and better. Future orientation, adaptability and a fully integrated engineering concept have always been characteristic of EDAG’s image. Founded in 1969, the company has since developed into one of the world’s largest independent engineering service providers in the automotive industry, and an active creator of future mobility.


trive.me is a digital accelerator within the mobility industry. The interdisciplinary experts at trive.me develop user-focused software and always question the industry’s status quo. As a brand of EDAG Engineering, we combine innovation management, our own products and software development services.


IOTA is a not-for-profit foundation incorporated and registered in Germany. The IOTA Foundation’s mission is to support the development and standardization of new distributed ledger technologies (DLT), including the IOTA Tangle. The IOTA Tangle is an innovative type of DLT specifically designed for the Internet of Things (IoT) environment. It is an open-source protocol facilitating novel Machine-to-Machine (M2M) interactions, including secure data transfer, fee-less real-time micropayments, and the collection and dissemination of sensor-based and other data.

If you want to find out more or engage directly with us, join us on Discord (https://discord.iota.org/)!

Follow us on Twitter to get the latest news (https://twitter.com/iotatoken)!


EDAG CityBot and IOTA — The Future of Mobility was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Welcome Janis Vegis to the IOTA Foundation

Welcome Janis Vegis to the IOTA Foundation

17:39 - 27/11/2019


Janis Vegis is joining IOTA as a UX designer of the Communications team.

Janis lives in Riga, Latvia and has been in the technology sector for ten years. His main skills include user research, UX and service and product design and strategy. His work experience covers countless e-commerce projects, cross-platform applications and enterprise software products. Over the years, Janis has also delivered many successful projects. In 2015, one of these projects (Finch.io​) turned into a three-year-long SaaS startup journey.

On joining IOTA

I’m glad to be part of IOTA’s journey. I’m very excited about building the future of Internet-of-Things together with such a talented and committed team.

We are happy to announce Janis Vegis joining the project. His experience and design skillset will assist in accelerating our process for UX design on a number of key projects. Give him a warm welcome!

Welcome Janis Vegis to the IOTA Foundation was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Integrate Hyperledger Fabric with the IOTA Tangle

Integrate Hyperledger Fabric with the IOTA Tangle

20:54 - 26/11/2019


Integrate Hyperledger Fabric With the IOTA Tangle

Previously, when we joined the Linux Foundation to work on LF Edge and move Towards Open Collaboration we announced that we have been working on an internal Hyperledger Bridge for quite some time.

We have seen that Hyperledger and the entire Hyperledger ecosystem have done a tremendous job in progressing the state of Distributed Ledger Technology(DLT) in a permissioned context.

The data capabilities and the respective utilities coming out of the ecosystem have been exciting and progressive in many regards. At IOTA we’ve been working to progress the state of DLTs in a permissionless context with flexible capabilities surrounding both data and value transfer.

However, this does not mean we don’t see the value in permissioned systems as well. To further enable the mutual growth and value that both permissioned and permissionless systems can provide, we’re moving forward today with officially open sourcing our Hyperledger bridge.

This bridge will enable direct integrations of both Hyperledger Fabric and IOTA capabilities together by functioning as an IOTA Connector. By doing this it allows the IOTA Tangle to act as a connective tissue between permissioned Hyperledger Fabric based systems, and allows for more fluid data sharing and validation with siloed permissioned systems.

As the Hyperledger Fabric project becomes increasingly popular for supply chain and asset tracking projects, we introduce the IOTA Connector which allows data to be mirrored into the Tangle, benefitting from all the features available, such as fee-less payments, encrypted transaction payload, and public/private message chains.

At this point we are considering the Hyperledger Fabric DLT - in which all data are initially stored and managed - as the primary source of truth.

Each smart contract (chaincode) execution can now trigger a request to the IOTA Tangle using the provided software. This process allows to store/update results of the Hyperledger Fabric smart contract execution on the Tangle and to perform payments between IOTA Wallet holders.

It is also possible to read data from the Tangle and trigger Hyperledger Fabric smart contract execution based on the fetched transaction data or payment confirmation.

The code samples provided below showcase how you can implement multiple scenarios of the IOTA integration in a common supply chain project based on Hyperledger Fabric.

Smart contracts in Hyperledger Fabric can be written in several programming languages. We provided IOTA connectors for the two most common ones: Go and JavaScript.

We will not go into details of the Hyperledger Fabric architecture, setup, and configuration in this blog post. We assume that you are already familiar with a typical Hyperledger Fabric project and most likely have one such project running.

You can download the source code files for Hyperledger Fabric chaincode IOTA connector from this public GitHub repository.

How to Integrate the IOTA Connectors

We will start with a simple chaincode file suitable for a supply chain project and will add a few IOTA connectors one by one with a short usage description.

The plain Hyperledger Fabric chaincode written in Go has a namespace, which can be defined is the docker-compose.yml file under volumes:

In our case, the chaincode folder is mapped to the github.com namespace. All external packages, including IOTA connector, need to be imported using the same namespace.

We start by adding the IOTA connector code into the chaincode folder.

In addition, you will need to add 3 other complementary packages.

You can do this either by adding an instruction to the shell script that installs and starts the Hyperledger instance or by manually downloading and copying the projects into the chaincode folder.

To add instructions to the shell script, add the following three lines before the “chaincode install” command

This will ensure that required packages are downloaded and placed into the chaincode folder, mapped as github.com

Depending on your version of Go, the last command that downloads the iota.go library might fail. In this case, you can download it manually and place it into the chaincode folder.

Next, add import of the IOTA connector library to the list of imports of your chaincode.go file. Please note, gibhub.com namespace in from of the iota package name. If your organization uses a different namespace, please adjust accordingly.

Digital Twin

Hyperledger chaincode contains a function called initLedger, where you can define an initial structure of the ledger and store data as key/value pairs. For complex types, you would typically use structures to describe object fields.

In our example, the initial ledger structure consists of a number of container definitions, where each container includes the Holder field among many others

Once the structure is defined, it is stored on a ledger one by one

This is one possible way to store data on a ledger. We do not claim to develop a best possible option.

We will add the IOTA connector here, to ensure that the digital twin is stored on the Tangle in MAM message streams. We will create an individual message stream for each container, where all changes to the container data, location, holder etc. will be tracked.

First, define the structure of the IOTA MAM stream. It should contain randomly generated Seed, MamState object, Root address to fetch data from, stream mode and sideKey (encryption key).

Then, define mode and encryption key for every asset, that will get a digital twin on the Tangle.

You can use one of the following modes: “public”, “private”, “restricted”.

SideKey (encryption key) is only required for the “restricted” mode. Otherwise, it can remain an empty string.

We provide two helper functions for the sideKey. Both functions are accessible from the iota namespace:

  • iota.GenerateRandomSeedString(length) will generate a random string of the given length. It can be used as seed or encryption key.
  • iota.PadSideKey() will automatically adjust the length of the short key to 81 characters.

If you do not want to define your own values for mode and sideKey, you can use default values iota.MamMode and iota.MamSideKey, which you can inspect and modify under chaincode/iota/config.go

After that, you can call a function iota.PublishAndReturnState(), which will publish the message payload as a new MAM channel. This function returns the mamState, root and seed values.

MamState and seed are needed for further appends to the same channel. Root value is used to read data from the channel.

These values need to be stored on the ledger and communicated to each peer of the organization.

If you do not want to append new messages to the same channel in the future, you can call iota.Publish() function instead, which won’t return the MamState.

iota.PublishAndReturnState() requires the following parameters:

  • Message payload (string)
  • Existing MAM stream flag (bool)
  • Existing seed value (string)
  • Existing MamState value (string)
  • Mode (string)
  • sideKey (string)

If you create a new MAM stream, set values for existing MAM stream, seed and mamState to false, “”, “”

Once the message was published, it is time to persist values on the ledger. Create a new object of type IotaPayload and put it on the ledger, similarly as you created records for container assets.

Please note that we recommend to add a prefix like “IOTA_” in front of the asset ID.

APIstub.PutState(“IOTA_” + strconv.Itoa(i+1), iotaPayloadAsBytes)

If your smart contract contains a function to add new records to the ledger, please update this function by adding the IOTA connector code to it.

Please note that the ID of the new asset is used for the new IOTA object

APIstub.PutState(“IOTA_” + args[0], iotaPayloadAsBytes)

Similarly, if your smart contract contains a function to modify existing records, please update this function by adding the IOTA connector code to it as well.

Please note that in this case, we are appending the modified asset data to the existing MAM stream of this asset. Therefore we retrieve the iotaPayload for specific assets from the ledger, and communicate this information to the iota.PublishAndReturnState() function, along with the existing MAM stream flag set to true.

Also note, at this point, the mode and encryption key of the existing MAM stream can not be changed. Please use existing values stored on the ledger.

Once the new message was added to the existing stream, the new MamState should replace the previous state on the ledger. All other values should remain the same as before.

If your smart contract contains a function to query a specific record from the ledger, you might want to also fetch and return the state stored on the Tangle. To perform the query from the Tangle, you can use the following function available from the IOTA connector code:

iota.Fetch(root, mode, sideKey)

Please note that the ID of the asset is used to retrieve the corresponding IOTA object from the ledger.

iotaPayloadAsBytes, _ := APIstub.GetState(“IOTA_” + args[0])

Fetched messages are returned as an array of strings. If you want to join them together into one string and add to the output object, you will also need to import the “strings” Go package.

In addition, if you want to output the MamState values, to be able to perform other actions on the UI, like confirm and compare data from the ledger with data stored on the Tangle, you can add the MamState object to the output

Sending Payments

Supply chain projects might benefit from the built-in payment solution, where payments for certain services and goods can be sent between supply chain participants.

One possible use case could be when retailers or end consumers send payments to the producers, logistics and fulfillment providers for the ordered assets.

Since none of the Hyperledger projects support cryptocurrency or any other type of payments, IOTA connector can be used to perform fee-less payments between participants at the moment where a smart contract confirms successful transaction.

To send payment using the IOTA wallet, you will need to store wallet seed and keyIndex on the ledger. Seed is used to initiate a transaction, and keyIndex is specific for IOTA implementation and represents the index of the current wallet address, which holds the tokens.

After every outgoing payment transaction, the remaining tokens are transferred to the next address in order to prevent double-spending. The index of the new address (called remainderAddress) should be stored on the ledger and used for the next outgoing payment. Incoming payments do not trigger address or index change.

In the example, we will maintain only one wallet for outgoing payments. This wallet will be assigned to the retailer, who is the end consumer of the asset in this supply chain project.

The payment will be sent to the previous asset holder each time the holder is changed, which indicates asset movement towards the end consumer. In other words, once a producer prepares a container for shipment and transfer it over to a freight forwarder, the retailer will pay to the producer in IOTA tokens. Then, once a freight forwarder delivers the container to the next destination, the retailer will transfer IOTA tokens to pay for this service.

All possible participants in this sample of a supply chain project are defined upon initialisation of the ledger. For simplicity, we assume that there is only one participant with the role of “Producer”, “Shipper” and so on.

We will start with the definition of the structure for the wallet object

This structure contains seed and keyIndex as described above. In addition, it also contains the actual address where tokens are currently stored. You can perform balance check to ensure sufficient balance of the wallet. Enter your wallet address on this page to check the current balance.

Next, we will extend the existing Participant structure by adding the IotaWallet part into it

And then we will generate a new empty wallet and add wallet information to every participant record.

To generate a new wallet, you can use a function from the IOTA connector:

walletAddress, walletSeed := iota.CreateWallet()

Since we generate a new wallet for every record, we set the keyIndex value to 0. If you are about to use existing wallets, please adjust keyIndex values accordingly.

The generated wallets are empty and currently can only receive IOTA tokens.

In order to send tokens, you need to maintain at least one wallet funded with IOTA tokens.

Wallet data of this wallet should be stored on the ledger.

You can provide wallet data upon ledger initialisation, or you can modify values in the configuration file under chaincode/iota/config.go

To store a wallet on the ledger, please update the initLedger() function by adding the following code. You can replace values for iota.DefaultWalletSeed and iota.DefaultWalletKeyIndex with respective values of your wallet.

Once the wallets are configured, we can add functionality to perform payments. This consists of 3 simple steps:

  1. Identify function in your smart contract which should trigger payment.
  2. Identify the payment recipient. Retrieve wallet address of the recipient.
  3. Identify the payment sender. Retrieve wallet seed and keyIndex of the sender. Perform token transfer, then update keyIndex to the new value and store it on the ledger.

In our example, we will perform payments once the asset holder was changed. So, the function that triggers payments called changeContainerHolder(). Payment recipient is the previous container holder. So, we need to preserve the holder value before changing, to be able to retrieve the corresponding wallet data from the ledger.

On the screenshot below you see the required updates to the function. Container data is retrieved based on the provided ID. Before the holder is reassigned, we store the original holder value. Later we query the ledger in order to get the wallet address of the original container holder.

For step 3 we will request the IOTA wallet data of the retailer. Then we will trigger the following function and submit seed and keyIndex values of the sender and address value of the recipient.

iota.TransferTokens(seed, keyIndex, address)

Once this is done, we just need to update keyIndex to the new value and store it on the ledger.

Token transfer usually requires a few seconds in order to be confirmed. Please do not attempt to trigger multiple transfers from the same wallet within a very short timeframe (less than 10 seconds), as it will result into “Invalid balance” error, and wallet keyIndex should be reset to previous value manually.

As always, you can check the status of the token transfer on this page by entering the wallet address.

Following the open sourcing of the IOTA Connector, we will be seeding the capabilities as a Hyperledger Bridge to the Linux Foundation. At the current time we’re working with the Linux Foundation to ensure the code is being seeding into the project that it will be most relevant for and look to finalize that decision in the coming weeks.


  • The source code of the IOTA Connector can be downloaded from this open-source GitHub repository.
  • The supplementary iota.go library, that need to be located within the same chaincode folder, can be downloaded from this open-source GitHub repository.
  • The demo project used to showcase the IOTA Connector integration is open-source and can be found in this GitHub repository.

Feel free to stop by on Discord — every project mentioned here has a channel (or more) for discussions with the devs!

Follow us on Twitter to keep track of all the latest news: https://twitter.com/iotatoken

Integrate Hyperledger Fabric with the IOTA Tangle was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Welcome Alexander Schmidt to the IOTA Foundation

Welcome Alexander Schmidt to the IOTA Foundation

17:19 - 26/11/2019


Alexander Schmidt is joining IOTA as a Software Engineer on the Bee development team. In this role, Alexander will focus on creating components for the new Bee node framework written in the Rust programming language.

Alexander lives in Munich, Germany and has been in the technology sector for over ten years. He has worked as a Software Developer in the environmental sector and as a freelancer, where he gained experience in a variety of programming languages and best practices. He has been an active member of the IOTA community since early 2018.

On joining IOTA

I wish I could recall that moment when I first heard about IOTA, because I would like to pause for a second, turn around, and look back at the beginning of my journey. Many good things happened in my life since then: Apart from the birth of my son, I had lots and lots of truly inspiring discussions with interesting, even brilliant people both inside and outside of the Foundation. This fueled my desire to learn and understand more about the technology behind IOTA. I also started learning Rust and used it in several IOTA-related proofs-of-concepts. This got me involved early-on in the contemplations of employing it on a much broader scale within the IOTA ecosystem. I am so grateful that I now can work together with so many gifted and open-minded people all over the world implementing cutting-edge research. And, on top of it, doing that in Rust. I am truly excited about continuing on this journey with IOTA!

We are very happy to officially announce Alexander Schmidt joining the project. His extensive experience as a Software Developer and consistent contributions as a member of the IOTA community make him a great fit. Give him a warm welcome!

Welcome Alexander Schmidt to the IOTA Foundation was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Co-Creating Impact With IOTA and EIT Climate KIC

Co-Creating Impact With IOTA and EIT Climate KIC

10:59 - 26/11/2019


A couple of months ago, we shared our participation in the Climate KIC Deep Demonstration on Long Termism with our community. The motivating idea behind the project on Long Termism is that we, as humans, often make decisions on the basis of short-term thinking, which can have a disastrous impact on the environment.

Often times we only see our own little slice of the pie, which makes it difficult to understand how our individual actions might affect the greater whole. In other words, we have an aggregation problem. But the challenge doesn’t stop there.

There’s an intertemporal aspect to our ability to make climate positive decisions too. Even when we consider how our actions today might affect our shared environment, we often lack an understanding of how those consequences impact the next 20, 30, or 100 years.

Coming to terms with the different possible “future scenarios” implied by our choices and figuring out how to build those future externalities into our present-day decision-making processes is absolutely essential if we want to take effective climate action. After all, preserving the environment is not only about us but about future generations as well.

In the Deep Demonstration on Long Termism, we will highlight how short-term thinking in investment cycles and in traditional ideas of economic value creation can be turned into long-term sustainable behaviors using the IOTA protocol in a bottom-up approach.

We aim to do this together with innovative thinkers from within the IOTA community. Today, we want to give you more insight into the process. Most importantly, we want to invite you to get concretely involved in designing experiments that have the power to shift entire consumption, production, or investment systems toward more forward-looking decisions and actions.

How IOTA — and YOU! — can help

The future is a strange concept. Anticipation underlies almost all of our actions, yet we rarely take a step back to understand how we use the future and how this affects the present.

This is a step we now want to take together with the broader IOTA community. We believe that technology in general, and the IOTA Tangle specifically, can help society to make desirable futures a reality.

We see it as a common resource that is free for everyone to build things that matter to them. We envision a better future enabled by a fluid, trusted network connecting the human and the machine economy so that we can better navigate the complex societal challenges of today by means of an open data commons, peer-to-peer economies and new notions of value.

In service of this vision, we want to support spontaneous innovations from our community that create the future by simply building it. When developing technology, intent matters, and we want to get a better feel for the ideas and sentiments in the community and explore how IOTA can become the backbone of a sustainable, long-term society.

Specifically, we are exploring how a more long-term mindset can transform the international development sector as a key driver in the global fight against the destruction of ecosystems and the improvement of human livelihoods.

Institutions in international development are active on the ground all over the world, supporting local communities, influencing international policies and directing financial flows in the global south.

However, digitalization, decentralization and new paradigms in world politics raise new challenges for institutions active in international development. The loss of ecosystems and changes in our natural environment have an impact on our collective well-being across geographies and are a looming risk to societal well-being on a large scale.

The human thinking bias towards the present and our often short-sighted understanding of time are root causes of these challenges and raise questions such as:

  • How can we do a better job at sharing data and evaluating the long-term effects of interventions instead of focusing on simple, short-sighted metrics?
  • How can we enable more people to invest in sustainable, climate-friendly infrastructure with a return on investment that is focused on measurable social value instead of short-term profits?
  • How can we incentivize collective action towards shared goals using new notions of value and its digital representations?

The IOTA Foundation has made a start on these questions by providing a number of application blueprints that are a great source for inspiration to build new projects.

We also try to make it easier for new ideas to benefit from adapting and tweaking existing resources within the IOTA ecosystem. For example:

  • Check out the IOTA Industry Marketplace to get inspired on how decentralized infrastructures can power frictionless peer-to-peer economies and create opportunities to participate in global markets without discrimination.
  • Our certification blueprint is a great foundation to link and certify actions in the real world with new digital assets that represent actions towards a regenerative, circular and sustainable future.
  • The work that the Foundation has kickstarted on privacy-preserving and self-sovereign digital identities which will give data ownership back to the individual.
  • In the future, the IOTA Trinity wallet can be your gateway to invest in or support causes close to your heart directly and connecting you with network of people passionate about the same vision.

But we recognize that our own efforts are just a start. We want to hear YOUR bold ideas on how technology and the IOTA protocol can help to uncover and drive the emergence of new, long-term sustainable practices and value-chains.

Therefore, we have put together a small questionnaire and would be grateful for all contributions from the community in answering it. Combined with this vision of solving real problems and experimenting with technology, we want to invite bold ideas from the community on how IOTA can contribute to a more sustainable future.

The proposers of the three best ideas will be invited to a full-day workshop with the IOTA Foundation and experts from the international development sector in Berlin on December 10th, 2019.

Together, we will explore how your ideas could be matured and tested in real-world settings with the hope of jointly expanding on the ideas in 2020 and beyond.

The challenge:

To improve the status quo, we need reliable baselines and must choose a time frame under which we consider our action. The current economic and social systems favour short-term over long-term rewards.

This can be seen in the way our society judges investments based on quarterly returns, defines economic growth as progress or measures productivity in GDP.

Achieving the United Nations Sustainable Development Goals, by contrast, will require building more inclusive measures and tools to help us solve key societal challenges collaboratively. We want to invite your ideas on how the IOTA Tangle can help to:

  • Democratize access to trustworthy impact data and promote the sharing of impact data

Explore how decentralized marketplaces for data, development services, and environmental certificates or proofs can enable new models of service delivery and cooperation in the complex settings of international development.

  • Incentivize sustainable, long-term action

Show how trusted, tamper-proof data will transform existing systems around the monitoring, evaluation, and verification of regenerative and inclusive policy interventions.

Highlight how to increase the impact per Euro spent on sustainable development and improve access to sustainable finance products for the masses.

  • Harness the catalytic power of network effects and peer-to-peer economies

Share your vision of decentralized, community-driven development of the information-backbone of a P2P-economy that offers new avenues to build communities around the production of societal value for the coming generations.

To share your idea, simply submit a 1-page summary together with the questionnaire. Alternatively, you can share a link for a 1-minute video explaining your concept.

If you want to help us to further our thinking without entering the challenge, please answer the questionnaire and simply skip the Challenge section.

As always, please feel free to join the discussion or get your questions answered in our social-impact channel on Discord.

Co-Creating Impact With IOTA and EIT Climate KIC was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Welcome Joshua Barretto to the IOTA Foundation

Welcome Joshua Barretto to the IOTA Foundation

19:54 - 20/11/2019


Joshua is joining IOTA as Software Developer of the Bee team. In this role, he will focus on developing and maintaining the Bee codebase and associated IOTA infrastructure in Rust. Joshua lives in Bristol, UK and has been writing software for almost a decade. He has also worked as a web developer and embedded software engineer.

On joining IOTA

IOTA is a fascinating project that brings new ideas and concepts to the world of distributed communication and ledger technology. I’m excited to work as a developer on this project and to see what the future holds for the IOTA protocol and the systems that will be built on top of it.

We are very happy officially announcing Joshua joining the project, his experience as a Rust developer is of great value to the IOTA foundation. Give him a warm welcome!

Welcome Joshua Barretto to the IOTA Foundation was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Welcome Jakub Cech to the IOTA Executive Team

Welcome Jakub Cech to the IOTA Executive Team

14:00 - 19/11/2019


Jakub Cech joined the IOTA Foundation in May 2018 as Product Owner. With his background in learning algorithms, distributed systems programming, programming for parallel computing platforms, cloud microservices, and product management, Jakub took the lead focusing on IOTA node software implementation (IRI), with stabilization and performance improvements of the software. Jakub was also responsible for the development of the client library software and the release of the account module. The IOTA Foundation now actively develops client libraries in six programming languages. Jakub also led other projects throughout the IOTA Foundation, for example, the new documentation portal.

On joining the IOTA Executive Team

When I first joined the IOTA Foundation, many of the software offerings and products that were being developed by the Foundation were in their early stages. Many of the changes that needed to happen were already laid out, but much of the development process still needed to be defined and set in place.

We are now seeing an increase in the interest from external parties for implementing the IOTA technology. This requires us to mature the offering of our technology stack. It will be my responsibility, as Director of Engineering, to ensure that the development of our technology is aligned with the needs of our users and partners. In addition, we want a level of transparency that allows everyone — an individual or an organization — to contribute to the development.

The IOTA technology is on a course to be the backbone of very exciting IoT solutions, which significantly improve not just our daily lives, but society as a whole. I’m very excited to be part of this journey.

With the development of IOTA technology, we identified an increasing need for working with existing IoT hardware manufacturers and IC fabricators. That’s why the former Director of Engineering, Edward Greve, will continue with the IOTA Foundation as Head of Engineering Asia. His focus will be on building out the local team, working with companies and governments in the region, and setting up R&D centers to showcase our products. Edward is already located in Taiwan, which makes him perfectly positioned for this particular role.

We are delighted to welcome Jakub as Director of Engineering for the IOTA Foundation. His hard work and dedication combined with his in-depth understanding of the IOTA technology and the challenges it solves, make him a great fit for this position.

Welcome Jakub Cech to the IOTA Executive Team was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

IOTA Newsletter #16 — Dell Collaboration & Coordicide, Hub & Development Updates

IOTA Newsletter #16 — Dell Collaboration & Coordicide, Hub & Development Updates

18:21 - 15/11/2019


IOTA Newsletter #16 — Dell Collaboration & Coordicide, Hub & Development Updates

IOTA, Dell Technologies, and the Linux Foundation team up for Project Alvarium

Project Alvarium represents a milestone for open source development on distributed technologies, digital trust, data privacy and confidence in data. Learn more in the video below.


Recent News

Coordicide update — Autopeering: Part 1

The aim of the autopeering module redesign is to ease simulations while keeping the same code base that will be used in GoShimmer. Find the second part of the series further down.
Read more…

Hub Update: Easily Integrate IOTA With Your Exchange, Custody Solution, Or Product

Hub allows integration teams to manage multiple IOTA wallets and corresponding seeds simultaneously. Hub also takes care of creating deposit addresses and makes sure that when an address is used, the transaction gets promoted or re-attached if required.
Read more…

Dev status update — October 2019

The monthly development update about Bee, IRI, Qubic, Entangled, Trinity, MAM, client libraries and permanodes.
Read more…

Towards Open Collaboration: FIWARE and IOTA join forces for a Smart Digital Future

The collaboration with FIWARE will be enabling context-aware capabilities to proliferate over the Tangle through development of IOTA capabilities into the FIWARE Context Broker.
Read more…

Welcome Navin Ramachandran to the IOTA Foundation Board of Directors

Dr. Navin Ramachandran has been a member of the IOTA Foundation since the end of 2016 and is now joining the Board of Directors.

A Message From the Board

Co-founder Serguei Popov will take over as Director of Research for the IOTA Foundation, replacing Moody Alam. We thank Moody for his contributions to the research department, which has made great progress with publications of IOTA research, collaborating with academia, establishing the IOTA Research Council and in particular on the Coordicide project. Serguei has always overseen the research department and therefore we expect a smooth transition. He will also continue to serve as part of the IOTA Board of Directors, along with the other board members.

In case you missed it…

Subscribe to the Newsletter here and receive it directly to your email

IOTA Newsletter #16 — Dell Collaboration & Coordicide, Hub & Development Updates was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Introducing IOTA.cafe: A Public Research Forum

Introducing IOTA.cafe: A Public Research Forum

15:05 - 15/11/2019


With the development and maturity of our technology, we noticed the need to have a forum in which everybody can follow and participate in IOTA’s research efforts.

That’s why we are excited to announce the launch of IOTA.cafe, our open Research Forum.

We hope that this forum will foster collaboration among team members and external researchers. And while we invite everyone to participate in the forum, please be mindful that the discussions must be exclusive to research-oriented topics.

General IOTA discussions are always welcome on our Discord server, or on the IOTA subreddit. Thank you for your understanding, and we look forward to seeing you in the forum!

Introducing IOTA.cafe: A Public Research Forum was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

Welcome Yu-Wei Wu to the IOTA Foundation

Welcome Yu-Wei Wu to the IOTA Foundation

20:44 - 12/11/2019


Yu-Wei Wu joins IOTA as a Software Engineer on the Entangled and Bee teams. Previously, he worked on developing Distributed Ledger Technology as a Decentralized Identifiers solution with GDPR and W3C compliance. He holds a Bachelor's degree in Computer Science from National Chiao Tung University.

Yu-Wei lives in Hsinchu, Taiwan and has experience in a variety of domains from distributed systems, DevOps, to agile development. He is an active developer within the community and has contributed to several projects. He’s also already engaged with the Bee team and is assisting with the development of the technology.

Through his community engagement, he helped in proposing TangleID to the W3C CCG working group, a DID solution on top of Tangle ledger. He also helped in applying IOTA technology further to various identity fields like verifiable credentials and DID method registry.

Yu-Wei is also eager to push memory-safe languages, like Rust, to adoption. He has participated in local meetups and workshops to help others learn it. With IOTA Foundation’s decision to evaluate the mass adoption to Rust, he’s already contributed to several projects, including Bee.

On joining IOTA

I’ve been in the developer community for several years and also contributed to some projects along the way. I am honored to have the opportunity to work with brilliant and experienced professionals in the IOTA Foundation. The vision of IOTA building innovative trusted machines with the Internet of Things and Distributed Technologies is really promising. I’m glad to join the foundation and work with excellent people around the globe!

We are very happy officially announcing Yu-Wei joining the project. His expertise is a huge asset to the IOTA foundation. Give him a warm welcome!

Welcome Yu-Wei Wu to the IOTA Foundation was originally published in IOTA on Medium, where people are continuing the conversation by highlighting and responding to this story.

What is the IOTA?

If the Aether is turned towards smart contracts, the IOTA (or MIOTA) is linked to connected objects, to the Internet of Things, which some people call “fourth”. industrial Revolution”.

Created in 2015 by David Sonstebo, Sergey Ivancheglo, Dominik Schiener and Dr. Serguei Popov. IOTA is based on a technology that allows free and instant transactions between machines in the Internet of Things environment.

Unlike Bitcoin and most cryptocurrency, IOTA units already exist (2.779.530.283 in total), and the motto is not based on the mining system (creation of units via computers, note).

IOTA also differs from other cryptocurrencies in that it does not rely on the blockchain technology mentioned above. It is based on Tangle technology, fully decentralized, which allows transactions at no cost, secure, and instant.

The applications are numerous. The IOTA allowing micro-transactions since there are no fees, many companies, including small businesses, merchants could be interested. The Tangle technology on which the IOTA is based can also be used to transfer data, can be applied to set up electronic votes, or even serve as a basis for encrypted e-mail.

IOTA could also be set up in the area of ​​the shared economy. We can imagine Paris Vélib ‘working with this technology, but all kinds of connected objects could be shared.

The IOTA has experienced a recent craze its course passing in less than a week of a few cents to more than 3 dollars per unit. This interest is explained by the announcement of a partnership with major companies such as Microsoft, Samsung, Cisco or Volkswagen.