IOTA Developer Lab Banner

IOTA Developer Lab

Languages Covered GitHub Repo GitHub Gist Static Textbooks IOTA Ecosystem

The IOTA Developer Lab is a side-project of the project IOTA Developer Essentials:

  • IOTA Developer Essentials provides a Python-based content focused on IOTA protocol
  • IOTA Developer Lab provides infrastructure services that adapt Python-based content also to other languages and should also provide an interactive environment for anybody who would like to get a realtime experience with the code. You can play with all code snippets directly in your web browser regardless used programming language - that's the main goal of the project.

The following dev stacks are directly or indirectly supported at the moment:

  • Python
  • NodeJS IOTA Developer Lab Chart

Viewing and running code snippets

GitHub Gist

All standalone code snippets are also maintained @ GitHub Gist. It enables you to fork them, comment them, share them, embed them and track all changes to them. See the action panel next to each code snippet.

GitHub Gist

Python-based

Copies of the Jupyter notebooks are hosted on the Microsoft Azure Notebooks:

Azure Notebooks

It is recommended that you use the notebooks via the above link if you would like to have an interactive experience. For the best experience, 'clone' the library to use the notebooks in the interactive mode. It is a ready-made Python environment including all IOTA-facing libraries. All snippets are tested with it.

NodeJS-based

Unfortunatelly, there is not ready-made NodeJS interactive environment for the public use as of now. If you are interested in running examples on your own you can leverage Jupyter Notebook technology and ijavascript component by Nicolas Riesco. It is exactly the same environment that is also used while crafting NodeJS-related codebase for IOTA Developer Lab. All snippets are tested with it.

Needless to say, we are trying to find some IOTA supporters that would help us in getting a dedicated non-managed virtual machine for the public use.

Language Coverage

The following table indicates what is the language-wise coverage across all snippets described in IOTA Developer Essentials and IOTA Developer Lab. If the given snippet is available then you can jump directly to it. Standalone column indicates whether the given code snippet can be used standalone or whether it is just a fragment of a broader code block.

Info for contributors: There is an unique ID shown at each snippet. It is the code id that is unique across the whole code base and uniquely identifies the given snippet.

Standalone Code Base python javascript
Standalone Snippet Conversion: trytes and trits #3BB8C879CCAE Yes Yes
Standalone Snippet Basic node interaction: API call Get_node_info() #696A395DC61B Yes Yes
Standalone Snippet Generating a seed: a general approach #67D98D069B61 Yes Yes
Standalone Snippet Generating a seed: IOTA-facing-library-based approach #65788F1C3FCB Yes N/A
Standalone Snippet Generating IOTA addresses from a seed: API call Get_new_addresses() #0FF479CB6C0A Yes Yes
Standalone Snippet Generating IOTA addresses from a seed (#2) #2508A6FF9241 Yes Yes
Standalone Snippet IOTA address and checksum #39B011574CF0 Yes Yes
Standalone Snippet Validating IOTA address #C65223B0864A Yes Yes
Standalone Snippet Preparing IOTA transactions to be broadcasted #445C2B9485C6 Yes Yes
Standalone Snippet Preparing IOTA bundle to be broadcasted #C4C3A3808862 Yes Yes
Standalone Snippet Getting IOTA bundle as trytes #B4FE2962FB5C Yes Yes
Standalone Snippet Selecting tips to be confirmed: API call Get_transactions_to_approve() #20F0C730001B Yes Yes
Standalone Snippet Performing POW: API call Attach_to_tangle() #1DFBE208CD1D Yes Yes
Standalone Snippet Preview of IOTA bundle and its transactions #8817C6010CDD Yes Yes
Standalone Snippet Broadcasting IOTA bundle: API call Broadcast_and_store() #CD0C67713BF9 Yes Yes
Standalone Snippet Sending IOTA transaction in a single call: API call Send_transfer() #00663E550ADF Yes Yes
Standalone Snippet Sending IOTA transaction in more granular way: API calls Prepare_transfer() and Send_transfer() #07CFD43B146C Yes Yes
Standalone Snippet Preparing variables for spending IOTA tokens #F0DD441072CC Yes Yes
Standalone Snippet Checking total IOTA balance: API call Get_account_data() #0847FCD36DFF Yes Yes
Standalone Snippet Searching for unused IOTA address: API call Get_new_addresses() #6CD1F81E2588 Yes Yes
Standalone Snippet Checking IOTA balance: API call Get_balances() #5036ABE14324 Yes Yes
Standalone Snippet Send value IOTA transaction: API call Send_transfer() #6195D3132B6B Yes Yes
  Current Status: Coverage Coverage

About

The project is developed and maintained by Petr Zizka (petr@zizkovi.name). Feel free to follow me at Twitter or IOTA Discord Channel (@hribek25#2683). (New to Discord? Invitation link: https://discord.gg/fNGZXvh)

Disclaimer: I am not associated with the IOTA foundation. I am IOTA supporter.


Thank You

The IOTA Developer Essentials and IOTA Developer Lab are long-term projects. The main goal is to provide a comprehensive onboarding information to anybody interested in the IOTA protocol. It will cover much more chapters, more code snippets and it will also cover more languages. There is a roadmap available. Your kind donations will support the vision pushing forward. Thank you.

Donations (IOTA): DSZRO9TCIJIKZOKUPVNOJFKVAHFCKL9YMLPVZUAEVZPOFXLIUWLPRQWBMVVSFTKGMGPPHXCYE9MIZEVBXQNFYKYUA9

qr code