# Learning Path Outline
Welcome to the educational center for Komodo technology. This section provides a descriptive outline for new developers in the Komodo ecosystem.
The content first familiarizes the developer with basic blockchain principles, and then narrows down on principles that are unique to Komodo.
Once the developer is comfortable on a conceptual level, the content leads the developer into the process of utilizing the Komodo software itself in a development environment.
Using Komodo software is about as difficult as using any other programming framework. The developer needs to first understand how the software functions on a conceptual level, and then the developer learns the vocabulary necessary to integrate Komodo software into their personal creative endeavors.
This process can take anywhere from a single full day to a few weeks, depending upon the skill level of the developer. Each step of the journey provides a time estimate based on a normal developer that has a few years' experience in a mainstream programming language.
# A Description of Our Intended Audience
As mentioned in the Documentation Orientation section, this website is intended for readers who are already familiar with a mainstream programming language.
Now, we divide readers further into two categories.
# The Normal Komodo Developer
The first is a developer who intends to utilize Komodo technology only as it is provided to them. This is the most common type of developer we expect in the Komodo ecosystem.
This developer likely intends to utilize Komodo software to release a blockchain product that either stands alone, or compliments another software product the developer is creating.
For example, this developer could be involved with the creation of a blockchain-based asset for a business they are building. This developer expects an audience to purchase and trade these assets, and the audience may utilize Komodo's white-label software for asset management.
As another example, this type of developer could be building software for a web application that integrates with blockchain technology. The developer could be utilizing Antara Modules, such as Oracles, to securely record data that is relevant to or even created by their audience. Once the data is recorded, the developer could display this information on their website, for simple gameplay enhancements or data-driven storytelling.
# The Advanced Komodo Developer
The advanced Komodo developer intends both to use the Komodo software as it is provided to them, and also to add in their own customized functionality beyond the scope of the normal software. This developer is highly skilled in a mainstream programming language, such as C/C++, and is prepared to thoroughly understand and manipulate blockchain software.
For example, this developer may intend to build customized Antara Modules to add to the consensus mechanism of their Smart Chain. These customized modules could create unique and fully playable blockchain-based games of a complexity level similar to this Komodo-based Roguelike game, or this Komodo-based version of Sudoku.
# How Each Type of Developer Should Approach the Educational Outlines
Both types of developers should begin at the beginning.
The Normal Developer should proceed until they reach the content with a difficulty level labeled
Advanced and then stop, while the Advanced Developer there should proceed.
We recommend that developers complete steps with a priority label of
Recommended. There are also a few sections labeled
Optional that may be skipped, although the developer who completes them will, hopefully, find them worth the while as these sections contain short cuts and other recommended best practices.
# Step 0: Install Komodo Software
Time: 10 Minutes
Access to Komodo software allows the developer to immediately begin learning through direct experimentation.
We recommend that all developers install Komodo software not by using pre-built binaries, but rather by installing and compiling from source code.
This allows the developer to later have instant access to Komodo security patches, feature enhancements, and upgrades.
# Step 1: Reach Out to Our Community on Discord
Time: 5 Minutes
Discovering Komodo is best accomplished with a friend.
Komodo utilizes a third-party chat service called Discord.
Once you are logged in to the Komodo Discord server, you will see a list of channels on the left side of your browser. All channels begin with a
Say hello in channels such as
#support channel is a good place to ask for basic support with Komodo software.
To find fellow developers, head to the
#dev-general channel. All channels that begin with
dev are created for developers.
We look forward to meeting you there!
# Step 2: Begin a Conceptual Understanding of Komodo's Software
Time: 10 Minutes
With the Komodo software installed and a connection made to our community, you are prepared to begin learning about Komodo on a conceptual level.
These conceptual concepts must be grasped first, before attempting to manipulate blockchain assets and software. The concepts help to orient you in your development process.
# Platform Overview
The Platform Overview section provides the broadest conceptual understanding of the Komodo Platform.
# Product Introductions
The Production Introductions section contains simplified introductions to Komodo software products and their architecture.
# Doc Orientation
The Doc Orientation section gives the reader an understanding of the nature of this documentation website.
# Step 3: Read the Core Technology Discussions Section
Time: 1 - 8 Hours
The Core Technology Discussions section provides a thorough explanation of blockchain technology and Komodo. The principles explained herein are crucial in later stages.
The Introduction section presents a broad overview of the nature of the Komodo ecosystem and the philosophy and goals that drive this community.
# Delayed Proof of Work
The Delayed Proof of Work section explains to the reader the fundamental aspects of blockchain technology that apply to members of the Komodo ecosystem. The primary aspects that a developer should understand here are the value of the consensus mechanism and the nature of Komodo notarization.
# Creating and Distributing a New Komodo Smart Chain
This section helps the reader to understand the basic process an entrepreneur and developer goes through in releasing a new blockchain-based product. This can be called a "Decentralized Initial Coin Offering," or dICO for brevity.
This also helps the reader to understand how Komodo uses runtime forks to allow each Komodo developer to create their own blockchain that can be connected to the rest of the ecosystem.
# The Antara Framework
The Antara Framework section explains to the reader the basic concepts of the Antara Framework. This framework is a key aspect of the Komodo development process. The framework provides functionality that can be compared to "smart contracts" found on other blockchain platforms.
# AtomicDEX and Atomic Swaps
As a developer gains understanding of blockchain technology, and as your audience grows, you will likely seek to make atomic swaps available to your users. The AtomicDEX software is our signature method for conducting atomic swaps.
This section helps the reader to understand why atomic swaps are a key to the future of cryptocurrency trading and how they work.
The Miscellaneous section explains a few leftover concepts that we recommend the reader understand. For example, a developer will no doubt encounter a "Utxo," or the developer may be curious about privacy on a Komodo Smart Chain, and this section provides preparation.
# Step 4: Complete the Beginner Series in the Antara Tutorials Section
Time: 1 Hour
The Beginner Series tutorials provide the reader with an easy pathway into the process of using Komodo technology.
Many of the technical aspects of using Komodo software are simplified here, to allow you to familiarize yourself with the nature of blockchain commands and responses without having to encounter everything all at once.
As a part of this tutorial, you will download a separate piece of software (a Docker-based image) in which you will enter your first commands.
Towards the end of the series, we then walk you through the process of interacting with Komodo Smart Chains in the terminal.
# Step 5: Familiarize Yourself with Smart Chain API Basics
Time: < 1 Hour
Having completed the Beginner Series, the reader is now prepared to use the terminal more frequently while interacting with Komodo Smart Chains.
The Smart Chain API Basics tutorial walks the reader through many of the common commands and Remote Procedure Calls (RPCs) and assists the reader in becoming comfortable in the Komodo environment.
# Step 6: Enhance Your Development Environment and Experience
Time: 1 - 5 Hours
At this point, the Normal Developer should be generally comfortable with the basic concepts of utilizing the default Komodo Smart Chain software.
The following tutorials are optional, but we still recommend that the developer explore the concepts contained herein. You may find short cuts and solutions that will help you avoid common pitfalls in the development process.
# Basic Environment Setup for Linux VPS
Many, if not most, developers in the Komodo ecosystem use a Linux-based Virtual Private Server (VPS) to build software. Working on a VPS simplifies many aspects of the development process, as the VPS grants the developer a disposable and rapidly customizable environment for troubleshooting.
# Creating Komodo Smart Chains
Up to this point in the outline, the developer has either relied on tutorial software to provide a Smart Chain, or the developer has relied on a
Now, it is time to try creating your own Smart Chain.
# Creating a Smart Chain on a Single Node
Sometimes in the development process, the developer may find convenience in having a Smart Chain running on a single node. This is not the way that blockchain software is intended to function, but single-node blockchains are useful, nonetheless.
# Running Komodo Software in Debug Mode
Debug Mode allows a developer to access the last lines of code executed by the daemon before the software crashes.
A Normal Developer will likely only use this when communicating with a support agent, in the unlikely event of a malfunction in the software. An Advanced Developer, on the other hand, may use Debug Mode frequently.
# Updating Smart Chain Software From Source Code
As the developer installs their software from source code, updating frequently is easy and recommended. Read the following section to become familiarized.
# Ecosystem Launch Parameters
The developer is likely to encounter an opportunity to interact with members of another Smart Chain community in the Komodo ecosystem.
At some future point, you may also be interested in having your own Smart Chain added to this list by purchasing Komodo's dPoW security services.
The list of launch parameters for all Smart Chains supported by the Komodo notary nodes can be found here.
# Learn How to Manually Delete Blockchain Data
Sometimes, a developer will need to delete their synced blockchain data and re-sync with the network. The following section teaches the safe way to conduct this process.
# Common Runtime Parameters
As Komodo Smart Chain software is based on the Bitcoin protocol, we inherit many runtime parameters that are useful in creating a secure and efficient blockchain network.
We recommend that the developer search through our abbreviated list of popular runtime parameters and experiment with one or two, to gain a conceptual understanding. This can help to expand your growing awareness of the potential of blockchain technology and how it is superior to fiat-based currency systems.
# Step 7: Experiment with Antara Customizations
Time: 20 - 60 Minutes
The most basic aspect of Komodo's Antara Framework is the ability to customize your Smart Chain. These customizations are provided by Komodo as enhancements to the default Bitcoin/Zcash protocol.
We recommend that you scan through the list of enhancements, read the basic descriptions, and experiment with one or two that interest you.
# Step 8: Read the Overview of Antara Modules - Part I
Time: 30 Minutes
Antara Modules are where the power of the Komodo Smart Chain and the Antara Framework begin to come into full display. Antara Modules allow the developer to expand blockchain potential far beyond the limits by which many other blockchain ecosystems are bound.
The Overview Part I provides a more thorough discussion about how the framework overcomes many problems faced by the blockchain industry.
# Step 9: Read the Overview of Antara Modules - Part II
Time: 30 Minutes
Part II of this discussion delves more deeply into the underlying methods by which Antara allows developers to solve problems.
# Step 10: Understand Antara Addresses
Time: 5 Minutes
At this point, the developer is familiar with common blockchain addresses.
However, Antara requires the user to manage additional addresses for Antara-based currency. The passphrase for these addresses can all be the same, but the public address will not be.
These addresses keep funds separate between different modules on a Smart Chain, and assist in maintaining token scarcity, among other uses.
# Step 11: Experiment With the Default Heir Antara Module
Time: 15 Minutes
A simple application of the Antara Framework is the Heir Antara Module. This simple module allows a user to designate an inheritor of their funds, should the user become inactive on a Smart Chain.
Read the introductory section to gain a more thorough understanding, and then try executing each command found in the Heir Module Flow section.
The Heir Antara Module is active on the MORTY Smart Chain that serves as a test chain in the Komodo ecosystem.
./komodod -pubkey=$pubkey -ac_name=MORTY -ac_supply=90000000000 -ac_reward=100000000 -ac_cc=3 -addnode=188.8.131.52 & .
Funds are freely available on this chain. Use the following faucetget RPC to tap the community faucet and receive
0.1 coins. This should be enough for the Heir Module Flow experiment.
./komodo -ac_name=MORTY faucetget
Copy the returned hex value and broadcast it using the sendrawtransaction RPC.
# Step 12: Experiment with the Tokens Antara Module
Time: 15 Minutes
The Tokens Antara Module is often useful as it allows the developer to quickly and easily mint new currencies on their Smart Chain.
tokenscreate RPC method to create your own tokens, and then experiment with other RPCs. This module is also available on the MORTY Smart Chain. Make sure to save the returned
txid after broadcasting your raw transaction. (See the Examples section for a demonstration of the token creation method.)
tokensinfo RPC method to view your new tokens.
# Step 13: Read the Introduction to AtomicDEX
Time: 15 Minutes
The Normal Developer is now nearly finished with a grand tour of the Komodo software. The key remaining target is AtomicDEX, our signature method for exchanging cryptocurrencies using atomic swaps. Be one of the first people in the history of mankind to exchange assets with an anonymous person over the Internet without any middleman whatsoever.
This introductory discussion covers some of the same concepts that the reader encountered in the Core Technology Discussions section, but with several useful additional details.
# Step 14: Experiment with Atomic Swaps
Time: 1 Hour
Follow this walkthrough to perform your first atomic swaps.
(If you still need to install AtomicDEX software, click here for instructions on installing from source code.)
For those Normal Developers who make it this far, congratulations! You have completed the grand tour of the Komodo software suite.
Going forward, we recommend that you experiment with individual RPCs and customizations throughout the documentation, until you feel fluent in utilizing Komodo technology.
Please keep in touch with our community on Discord. We are excited to see what you create!
# Step 15: Begin the Advanced Development Tutorial
Time: 5 - 15 Hours
Advanced Developers should now be familiar enough with the nature of Komodo technology to begin a more thorough approach to manipulating blockchain technology.
The following tutorial series walks the developer through the initial development process. The tutorial will first explain several integral aspects of blockchain technology that blockchain engineers are required to understand. Then, the series walks the reader through the process of creating a simplified version of the Heir Antara Module.
This tutorial series expects that you are comfortable with downloading a Github repository and manually inspecting the source code to determine the nature of the source code's functionality.
Once you complete this tutorial, you are among the most advanced of community developers. You may feel prepared to offer your services to businesses that would like to use your skills to commission customized Antara Modules for their unique business purposes and competitive-advantage desires.
# Step 16: Inspect Komodo Community Bounties
Now that you are comfortable building new Antara Modules, it's time to put your skills to use and build something for the community.
The Komodo team is looking for talented C/C++ developers to build new Antara Modules that can be included with Komodo's default suite of modules.
Creating a new default module can take up to a month's worth of time, and we try to make sure the value of the bounties is worth your while.
Alternatively, reach out to the Komodo development team on the
#dev-general channel on Discord and ask where help is needed.
We look forward to working with you!