-
Notifications
You must be signed in to change notification settings - Fork 552
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(docs): deploy version v28.0.0 (#3819)
Co-authored-by: ilgooz <[email protected]>
- Loading branch information
1 parent
936476c
commit f1d1b48
Showing
88 changed files
with
18,430 additions
and
0 deletions.
There are no files selected for viewing
60 changes: 60 additions & 0 deletions
60
docs/versioned_docs/version-v28.0.0/01-welcome/01-index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
slug: / | ||
--- | ||
|
||
import ProjectsTable from '@site/src/components/ProjectsTable'; | ||
|
||
# Introduction to Ignite CLI: Your Gateway to Blockchain Innovation | ||
|
||
[Ignite CLI](https://github.com/ignite/cli) is a powerful tool that simplifies the journey of building, testing, and launching diverse blockchain applications. Developed on top of the [Cosmos SDK](https://docs.cosmos.network), the leading framework for blockchain technology, Ignite CLI is pivotal in streamlining the development process. It enables developers to focus on the unique aspects of their projects, from DeFi and NFTs to supply chain solutions and smart contracts. | ||
Beyond these, Ignite has been instrumental in a wide array of blockchain applications, ranging from VPNs and gaming platforms to blogs, oracle systems, and innovative consensus mechanisms. This demonstrates its versatility in supporting a broad spectrum of blockchain-based solutions. | ||
|
||
## Key Features of Ignite CLI | ||
|
||
- **Simplified Blockchain Development:** Ignite CLI, leveraging Cosmos SDK, makes building sovereign application-specific blockchains intuitive and efficient. | ||
- **Comprehensive Scaffolding:** Easily scaffold modules, messages, CRUD operations, IBC packets, and more, expediting the development of complex functionalities. | ||
- **Development with Live Reloading:** Start and test your blockchain node with real-time updates, enhancing your development workflow. | ||
- **Frontend Flexibility:** Utilize pre-built templates for Vue.js, React, Typescript or Go, catering to diverse frontend development needs. | ||
- **Inter-Blockchain Communication (IBC):** Seamlessly connect and interact with other blockchains using an integrated IBC relayer, a key feature of the Cosmos SDK. | ||
- **CometBFT Integration:** Built with the CometBFT consensus engine (formerly Tendermint), ensuring robust consensus mechanisms in your blockchain solutions. | ||
- **Cross-Domain Applications:** Ignite is perfectly suited for developing a diverse array of use cases across various sectors. These include DeFi, NFTs, supply chain management, smart contracts (both EVM and WASM), and decentralized exchanges (DEXes). | ||
|
||
## Install Ignite CLI | ||
|
||
Get started with Ignite CLI by running this simple installation command: | ||
|
||
``` | ||
curl https://get.ignite.com/cli! | bash | ||
``` | ||
|
||
## Embracing the Cosmos Ecosystem | ||
|
||
Ignite CLI is your entry point into the vibrant Cosmos ecosystem, a hub of innovation where you can explore a range of applications, from wallets and explorers to smart contracts and DEXes, all powered by CometBFT and the Cosmos SDK. | ||
This ecosystem is home to over [$50 billion worth of blockchain projects](https://cosmos.network/ecosystem/tokens/), showcasing the scalability and versatility of the technologies at play. | ||
|
||
## Projects using Tendermint and Cosmos SDK | ||
|
||
Many projects already showcase the Tendermint BFT consensus engine and the Cosmos SDK. Explore | ||
the [Cosmos ecosystem](https://cosmos.network/ecosystem/apps) to discover a wide variety of apps, blockchains, wallets, | ||
and explorers that are built in the Cosmos ecosystem. | ||
|
||
## Projects building with Ignite CLI | ||
|
||
<ProjectsTable data={[ | ||
{ name: "Stride Labs", logo: "img/logo/stride.svg"}, | ||
{ name: "KYVE Network", logo: "img/logo/kyve.svg"}, | ||
{ name: "Umee", logo: "img/logo/umee.svg"}, | ||
{ name: "MediBloc Core", logo: "img/logo/medibloc.svg"}, | ||
{ name: "Cudos", logo: "img/logo/cudos.svg"}, | ||
{ name: "Firma Chain", logo: "img/logo/firmachain.svg"}, | ||
{ name: "BitCanna", logo: "img/logo/bitcanna.svg"}, | ||
{ name: "Source Protocol", logo: "img/logo/source.svg"}, | ||
{ name: "Sonr", logo: "img/logo/sonr.svg"}, | ||
{ name: "Neutron", logo: "img/logo/neutron.svg"}, | ||
{ name: "OKP4 Blockchain", logo: "img/logo/okp4.svg"}, | ||
{ name: "Dymension Hub", logo: "img/logo/dymension.svg"}, | ||
{ name: "Electra Blockchain", logo: "img/logo/electra.svg"}, | ||
{ name: "OLLO Station", logo: "img/logo/ollostation.svg"}, | ||
{ name: "Mun", logo: "img/logo/mun.svg"}, | ||
{ name: "Aura Network", logo: "img/logo/aura.svg"}, | ||
]}/> |
114 changes: 114 additions & 0 deletions
114
docs/versioned_docs/version-v28.0.0/01-welcome/02-install.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
--- | ||
sidebar_position: 1 | ||
description: Steps to install Ignite CLI on your local computer. | ||
--- | ||
|
||
# Install Ignite CLI | ||
|
||
You can run [Ignite CLI](https://github.com/ignite/cli) in a web-based Gitpod IDE or you can install Ignite CLI on your | ||
local computer. | ||
|
||
## Prerequisites | ||
|
||
Be sure you have met the prerequisites before you install and use Ignite CLI. | ||
|
||
### Operating systems | ||
|
||
Ignite CLI is supported for the following operating systems: | ||
|
||
- GNU/Linux | ||
- macOS | ||
- Windows Subsystem for Linux (WSL) | ||
|
||
### Go | ||
|
||
Ignite CLI is written in the Go programming language. To use Ignite CLI on a local system: | ||
|
||
- Install [Go](https://golang.org/doc/install) (**version 1.21.1** or higher) | ||
- Ensure the Go environment variables are [set properly](https://golang.org/doc/gopath_code#GOPATH) on your system | ||
|
||
## Verify your Ignite CLI version | ||
|
||
To verify the version of Ignite CLI you have installed, run the following command: | ||
|
||
```bash | ||
ignite version | ||
``` | ||
|
||
## Installing Ignite CLI | ||
|
||
To install the latest version of the `ignite` binary use the following command. | ||
|
||
```bash | ||
curl https://get.ignite.com/cli! | bash | ||
``` | ||
|
||
This command invokes `curl` to download the installation script and pipes the output to `bash` to perform the | ||
installation. The `ignite` binary is installed in `/usr/local/bin`. | ||
|
||
To learn more or customize the installation process, see the [installer docs](https://github.com/ignite/installer) on | ||
GitHub. | ||
|
||
### Write permission | ||
|
||
Ignite CLI installation requires write permission to the `/usr/local/bin/` directory. If the installation fails because | ||
you do not have write permission to `/usr/local/bin/`, run the following command: | ||
|
||
```bash | ||
curl https://get.ignite.com/cli | bash | ||
``` | ||
|
||
Then run this command to move the `ignite` executable to `/usr/local/bin/`: | ||
|
||
```bash | ||
sudo mv ignite /usr/local/bin/ | ||
``` | ||
|
||
On some machines, a permissions error occurs: | ||
|
||
```bash | ||
mv: rename ./ignite to /usr/local/bin/ignite: Permission denied | ||
============ | ||
Error: mv failed | ||
``` | ||
|
||
In this case, use sudo before `curl` and before `bash`: | ||
|
||
```bash | ||
sudo curl https://get.ignite.com/cli | sudo bash | ||
``` | ||
|
||
## Upgrading your Ignite CLI installation {#upgrade} | ||
|
||
Before you install a new version of Ignite CLI, remove all existing Ignite CLI installations. | ||
|
||
To remove the current Ignite CLI installation: | ||
|
||
1. On your terminal window, press `Ctrl+C` to stop the chain that you started with `ignite chain serve`. | ||
2. Remove the Ignite CLI binary with `rm $(which ignite)`. | ||
Depending on your user permissions, run the command with or without `sudo`. | ||
3. Repeat this step until all `ignite` installations are removed from your system. | ||
|
||
After all existing Ignite CLI installations are removed, follow the [Installing Ignite CLI](#installing-ignite-cli) | ||
instructions. | ||
|
||
For details on version features and changes, see | ||
the [changelog.md](https://github.com/ignite/cli/blob/main/changelog.md) | ||
in the repo. | ||
|
||
## Build from source | ||
|
||
To experiment with the source code, you can build from source: | ||
|
||
```bash | ||
git clone https://github.com/ignite/cli --depth=1 | ||
cd cli && make install | ||
``` | ||
|
||
## Summary | ||
|
||
- Verify the prerequisites. | ||
- To set up a local development environment, install Ignite CLI locally on your computer. | ||
- Install Ignite CLI by fetching the binary using cURL or by building from source. | ||
- The latest version is installed by default. You can install previous versions of the precompiled `ignite` binary. | ||
- Stop the chain and remove existing versions before installing a new version. |
4 changes: 4 additions & 0 deletions
4
docs/versioned_docs/version-v28.0.0/01-welcome/_category_.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"label": "Welcome", | ||
"link": null | ||
} |
37 changes: 37 additions & 0 deletions
37
docs/versioned_docs/version-v28.0.0/02-guide/00-introduction.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
--- | ||
sidebar_position: 0 | ||
title: Introduction | ||
slug: /guide | ||
--- | ||
|
||
# Introduction to Ignite's Developer Tutorials | ||
|
||
Welcome to the Ignite Developer Tutorials, your gateway to mastering blockchain development. These comprehensive tutorials are designed for learners at all levels, from beginners to seasoned developers, offering both foundational knowledge and hands-on experience. | ||
|
||
## What You Will Learn | ||
|
||
- **Getting Started with Ignite CLI**: Install the Ignite CLI and set up your development environment. This foundational step is necessary for all the tutorials that follow. | ||
|
||
- **Create and Run Your First Blockchain**: Learn to create and run your own blockchain, understanding how to start and manage a node locally for development purposes. | ||
|
||
- **Hello World Tutorial**: Engage in the excitement of blockchain development by making your blockchain respond with "Hello, World!" This includes learning to scaffold a Cosmos SDK query and modify keeper methods. | ||
|
||
- **Blog Tutorial**: Step into decentralized applications (dApps) with the ability to write and read blog posts on your blockchain. This tutorial covers everything from defining new types in protocol buffer files to writing and reading data from the store. | ||
|
||
- **DeFi Loan Tutorial**: Dive into Decentralized Finance (DeFi) by building a blockchain for managing loans. Gain insights into CRUD logic, module method integration, and token transaction management. | ||
|
||
- **Token Factory Tutorial**: Master the creation and management of digital assets on your blockchain by building a token factory module, learning module development, CRUD operations without delete functionality, and native denomination integration. | ||
|
||
- **Inter-blockchain Communication (IBC) Basics**: Explore the interconnected world of blockchains with the IBC protocol. Learn how to scaffold an IBC-enabled module, manage IBC packets, and configure a built-in IBC relayer. | ||
|
||
- **Interchange Module**: Advance your IBC knowledge by building a module for decentralized token exchanges and order books. | ||
|
||
- **Debugging a Blockchain**: Develop essential skills in debugging to maintain efficient and effective blockchain development. | ||
|
||
- **Running in a Docker Container**: Learn how to use Docker to containerize your blockchain environment, ensuring consistency and portability across development stages. | ||
|
||
- **Chain Simulation**: Understand the importance and method of simulating blockchain environments for testing and validating functionality under various scenarios. | ||
|
||
Each tutorial builds upon the previous, enhancing your understanding and skills progressively. By completing these tutorials, you will gain a robust understanding of blockchain principles, the Cosmos SDK, and practical experience in developing and managing blockchain projects. | ||
|
||
Embark on your journey to become a proficient blockchain developer with Ignite's Developer Tutorials! |
150 changes: 150 additions & 0 deletions
150
docs/versioned_docs/version-v28.0.0/02-guide/02-getting-started.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Getting started | ||
|
||
In this tutorial, we will be using Ignite CLI to create a new blockchain. Ignite | ||
CLI is a command line interface that allows users to quickly and easily create | ||
blockchain networks. By using Ignite CLI, we can quickly create a new blockchain | ||
without having to manually set up all the necessary components. | ||
|
||
Once we have created our blockchain with Ignite CLI, we will take a look at the | ||
directory structure and files that were created. This will give us an | ||
understanding of how the blockchain is organized and how the different | ||
components of the blockchain interact with each other. | ||
|
||
By the end of this tutorial, you will have a basic understanding of how to use | ||
Ignite CLI to create a new blockchain, and you will have a high-level | ||
understanding of the directory structure and files that make up a blockchain. | ||
This knowledge will be useful as you continue to explore the world of blockchain | ||
development. | ||
|
||
## Creating a new blockchain | ||
|
||
To create a new blockchain project with Ignite, you will need to run the | ||
following command: | ||
|
||
``` | ||
ignite scaffold chain example | ||
``` | ||
|
||
The `ignite scaffold chain` command will create a new blockchain in a new | ||
directory `example`. | ||
|
||
The new blockchain is built using the Cosmos SDK framework and imports several | ||
standard modules to provide a range of functionality. These modules include | ||
`staking`, which enables a delegated Proof-of-Stake consensus mechanism, `bank` | ||
for facilitating fungible token transfers between accounts, and `gov` for | ||
on-chain governance. In addition to these modules, the blockchain also imports | ||
other modules from the Cosmos SDK framework. | ||
|
||
The `example` directory contains the generated files and directories that make | ||
up the structure of a Cosmos SDK blockchain. This directory includes files for | ||
the chain's configuration, application logic, and tests, among others. It | ||
provides a starting point for developers to quickly set up a new Cosmos SDK | ||
blockchain and build their desired functionality on top of it. | ||
|
||
By default, Ignite creates a new empty custom module with the same name as the | ||
blockchain being created (in this case, `example`) in the `x/` directory. This | ||
module doesn't have any functionality by itself, but can serve as a starting | ||
point for building out the features of your application. If you don't want to | ||
create this module, you can use the `--no-module` flag to skip it. | ||
|
||
## Directory structure | ||
|
||
In order to understand what the Ignite CLI has generated for your project, you | ||
can inspect the contents of the `example/` directory. | ||
|
||
The `app/` directory contains the files that connect the different parts of the | ||
blockchain together. The most important file in this directory is `app.go`, | ||
which includes the type definition of the blockchain and functions for creating | ||
and initializing it. This file is responsible for wiring together the various | ||
components of the blockchain and defining how they will interact with each | ||
other. | ||
|
||
The `cmd/` directory contains the main package responsible for the command-line | ||
interface (CLI) of the compiled binary. This package defines the commands that | ||
can be run from the CLI and how they should be executed. It is an important part | ||
of the blockchain project as it provides a way for developers and users to | ||
interact with the blockchain and perform various tasks, such as querying the | ||
blockchain state or sending transactions. | ||
|
||
The `docs/` directory is used for storing project documentation. By default, | ||
this directory includes an OpenAPI specification file, which is a | ||
machine-readable format for defining the API of a software project. The OpenAPI | ||
specification can be used to automatically generate human-readable documentation | ||
for the project, as well as provide a way for other tools and services to | ||
interact with the API. The `docs/` directory can be used to store any additional | ||
documentation that is relevant to the project. | ||
|
||
The `proto/` directory contains protocol buffer files, which are used to | ||
describe the data structure of the blockchain. Protocol buffers are a language- | ||
and platform-neutral mechanism for serializing structured data, and are often | ||
used in the development of distributed systems, such as blockchain networks. The | ||
protocol buffer files in the `proto/` directory define the data structures and | ||
messages that are used by the blockchain, and are used to generate code for | ||
various programming languages that can be used to interact with the blockchain. | ||
In the context of the Cosmos SDK, protocol buffer files are used to define the | ||
specific types of data that can be sent and received by the blockchain, as well | ||
as the specific RPC endpoints that can be used to access the blockchain's | ||
functionality. | ||
|
||
The `testutil/` directory contains helper functions that are used for testing. | ||
These functions provide a convenient way to perform common tasks that are needed | ||
when writing tests for the blockchain, such as creating test accounts, | ||
generating transactions, and checking the state of the blockchain. By using the | ||
helper functions in the `testutil/` directory, developers can write tests more | ||
quickly and efficiently, and can ensure that their tests are comprehensive and | ||
effective. | ||
|
||
The `x/` directory contains custom Cosmos SDK modules that have been added to | ||
the blockchain. Standard Cosmos SDK modules are pre-built components that | ||
provide common functionality for Cosmos SDK-based blockchains, such as support | ||
for staking and governance. Custom modules, on the other hand, are modules that | ||
have been developed specifically for the blockchain project and provide | ||
project-specific functionality. | ||
|
||
The `config.yml` file is a configuration file that can be used to customize the | ||
blockchain during development. This file includes settings that control various | ||
aspects of the blockchain, such as the network's ID, account balances, and the | ||
node parameters. | ||
|
||
The `.github` directory contains a GitHub Actions workflow that can be used to | ||
automatically build and release a blockchain binary. GitHub Actions is a tool | ||
that allows developers to automate their software development workflows, | ||
including building, testing, and deploying their projects. The workflow in the | ||
`.github` directory is used to automate the process of building the blockchain | ||
binary and releasing it, which can save time and effort for developers. | ||
|
||
The `readme.md` file is a readme file that provides an overview of the | ||
blockchain project. This file typically includes information such as the | ||
project's name and purpose, as well as instructions on how to build and run the | ||
blockchain. By reading the `readme.md` file, developers and users can quickly | ||
understand the purpose and capabilities of the blockchain project and get | ||
started using it. | ||
|
||
## Starting a blockchain node | ||
|
||
To start a blockchain node in development, you can run the following command: | ||
|
||
``` | ||
ignite chain serve | ||
``` | ||
|
||
The `ignite chain serve` command is used to start a blockchain node in | ||
development mode. It first compiles and installs the binary using the | ||
`ignite chain build` command, then initializes the blockchain's data directory | ||
for a single validator using the `ignite chain init` command. After that, it | ||
starts the node locally and enables automatic code reloading so that changes to | ||
the code can be reflected in the running blockchain without having to restart | ||
the node. This allows for faster development and testing of the blockchain. | ||
|
||
Congratulations! 🥳 You have successfully created a brand-new Cosmos blockchain | ||
using the Ignite CLI. This blockchain uses the delegated proof of stake (DPoS) | ||
consensus algorithm, and comes with a set of standard modules for token | ||
transfers, governance, and inflation. Now that you have a basic understanding of | ||
your Cosmos blockchain, it's time to start building custom functionality. In the | ||
following tutorials, you will learn how to build custom modules and add new | ||
features to your blockchain, allowing you to create a unique and powerful | ||
decentralized application. |
Oops, something went wrong.