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.
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 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 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.
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.
Priority: Recommended
Difficulty: Normal
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.
Link to Komodo Source Code Installation Methods
Link to Komodo DeFi Framework Source Code Installation Methods
Priority: Recommended
Difficulty: Normal
Time: 5 Minutes
Discovering Komodo is best accomplished with a friend.
Komodo utilizes a third-party chat service called Discord.
Reach out to us on Discord at this link.
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 #
hashtag.
Say hello in channels such as #arrivals
, #start-here
, or #introductions
.
The #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!
Priority: Recommended
Difficulty: Normal
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.
The Platform Overview section provides the broadest conceptual understanding of the Komodo Platform.
The Production Introductions section contains simplified introductions to Komodo software products and their architecture.
The Doc Orientation section gives the reader an understanding of the nature of this documentation website.
Priority: Recommended
Difficulty: Normal
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.
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.
Link to Delayed Proof of Work Section
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 "Initial DEX Offering," or IDO 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 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.
Link to Antara Framework Section
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 Komodo DeFi Framework 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.
Link to Komodo DeFi Framework and Atomic Swaps Section
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.
Priority: Recommended
Difficulty: Normal
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.
Link to Beginner Series Tutorial - Part 0 - Preparation
Priority: Recommended
Difficulty: Normal
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.
Link to Smart Chain API Basics Tutorial
Priority: Optional
Difficulty: Normal
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.
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.
Link to Basic Environment Setup for Linux
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 regtest
chain.
Now, it is time to try creating your own Smart Chain.
Link to Creating a Default Smart Chain
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.
Link to Creating a Smart Chain on a Single Node
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.
Link to Running Komodo Software in Debug Mode
As the developer installs their software from source code, updating frequently is easy and recommended. Read the following section to become familiarized.
Link to Updating Smart Chain Software From Source Code
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.
Link to Ecosystem Launch Parameters
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.
Link to Smart Chain Maintenance Section
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.
Link to Common Runtime Parameters
Priority: Recommended
Difficulty: Normal
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.
Priority: Recommended
Difficulty: Normal
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.
Link to Overview of Antara Modules - Part I
Priority: Recommended
Difficulty: Normal
Time: 30 Minutes
Part II of this discussion delves more deeply into the underlying methods by which Antara allows developers to solve problems.
Link to Overview of Antara Modules - Part II
Priority: Recommended
Difficulty: Normal
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.
Understanding Antara Addresses
Priority: Recommended
Difficult: Normal
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 MARTY Smart Chain that serves as a test chain in the Komodo ecosystem.
./komodod -pubkey=$pubkey -ac_name=MARTY -ac_supply=90000000000 -ac_reward=100000000 -ac_cc=3 -addnode=138.201.136.145 &
.
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=MARTY faucetget
Copy the returned hex value and broadcast it using the sendrawtransaction RPC.
Link to Heir Module Introduction
Priority: Recommended
Difficulty: Normal
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.
Use the tokenscreate
RPC method to create your own tokens, and then experiment with other RPCs. This module is also available on the MARTY 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.)
Link to Tokens Antara Module - tokenscreate RPC
Use the tokensinfo
RPC method to view your new tokens.
Link to Tokens Antara Module - tokensinfo RPC
Priority: Optional
Difficulty: Normal
Time: 15 Minutes
The Normal Developer is now nearly finished with a grand tour of the Komodo software. The key remaining target is Komodo DeFi Framework, 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.
Link to Introduction to Komodo DeFi Framework
Priority: Recommended
Difficulty: Normal
Time: 1 Hour
Follow this walkthrough to perform your first atomic swaps.
Link to Komodo DeFi Framework Walkthrough
(If you still need to install Komodo DeFi Framework 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!
Priority: Recommended
Difficulty: Advanced
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.