Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
124 lines
No EOL
5.6 KiB
Markdown
124 lines
No EOL
5.6 KiB
Markdown
---
|
|
sidebar_position: 990
|
|
title: v28.0.0
|
|
description: For chains that were scaffolded with IGNITE® CLI versions lower than v28.0.0 changes are required to use IGNITE® CLI v28.0.0
|
|
---
|
|
|
|
## **Upgrade to v28.0.0 - New Versioning Scheme in IGNITE®**
|
|
|
|
With the latest update, IGNITE® has transitioned its versioning format from a leading-zero release system to a full number release system. This change marks a significant shift in how we communicate updates and stability in our software. Where the previous version was denoted as v0.27.0, it will now be upgraded to v28.0.0.
|
|
|
|
This new versioning approach enhances our version control by clearly indicating major, minor, and patch releases.
|
|
From now on first number indicates a major release with breaking API changes, second number indicates minor release that might include new features while the last number is typically focused on bug fixes and minor improvements.
|
|
[Learn more about semantic versioning](https://semver.org/).
|
|
|
|
## **Plugins are now called Apps. Upgrade Configuration Files**
|
|
|
|
IGNITE® `v28.0.0` changes the plugin system which is now called IGNITE® Apps. This version includes changes
|
|
to the CLI command names and the plugin configuration file.
|
|
|
|
The plugins configuration file is now called `igniteapps.yml` and "plugins" are now called "apps".
|
|
|
|
The plugins configuration home directory is now `$HOME/.ignite/apps` instead `$HOME/.ignite/plugins`.
|
|
|
|
Updates can be automatically applied by running `ignite doctor` in your blockchain application directory.
|
|
Running the command outside your blockchain application directory will only update the global plugins.
|
|
|
|
## **IGNITE® and Cosmos SDK Upgrade Guide: From IGNITE® v0.27.0 to v28.0.0 and Cosmos SDK v0.47 to v0.50**
|
|
|
|
### **Introduction**
|
|
|
|
This guide provides a step-by-step process for developers to upgrade their applications from IGNITE® version 0.27.0 to 28.0.0, along with an upgrade in the Cosmos SDK from version 0.47 to v0.50. It covers essential changes, new features, and adjustments required for a smooth transition.
|
|
|
|
### **Prerequisites**
|
|
|
|
- Backup your current project.
|
|
- Ensure you have IGNITE® v0.27.0 and Cosmos SDK v0.47 installed.
|
|
- Basic familiarity with command line operations and the existing project structure.
|
|
|
|
### **Step 1: Update IGNITE® CLI to Version 28.0.0**
|
|
|
|
- **Command**: Run **`curl https://get.ignite.com/cli@v28.0.0 | bash`** in your terminal.
|
|
- **Note**: This command updates the IGNITE® CLI to the latest version. Ensure you have the necessary permissions to execute it.
|
|
|
|
### **Step 2: Update Scaffold Chain Command**
|
|
|
|
- **Old Command**: **`ignite scaffold chain github.com/alice/blog`**
|
|
- **New Command**: **`ignite scaffold chain blog`**
|
|
- **Explanation**: The command format has been simplified in the new version for ease of use.
|
|
|
|
### **Step 3: Docker Version Upgrades**
|
|
|
|
- **Action**: Upgrade the IGNITE® version for the Docker container to match the CLI version.
|
|
- **Note**: Ensure Docker compatibility with the new IGNITE® CLI version.
|
|
|
|
### **Step 4: Change in Module Path**
|
|
|
|
- **Old Path**: **`x/blog/module.go`**
|
|
- **New Path**: **`x/blog/module/module.go`**
|
|
- **Explanation**: The module path structure has been updated for better organization.
|
|
|
|
### **Step 5: Frontend Scaffolding Options**
|
|
|
|
- **Action**: Choose between Vue, React, Go, or TypeScript for frontend scaffolding.
|
|
- **Commands**:
|
|
- **`ignite scaffold react`**
|
|
- **`ignite scaffold vue`**
|
|
- **Note**: Vue is no longer the default option for frontend scaffolding.
|
|
|
|
### **Step 6: Update Scaffold Message for CreatePost Command**
|
|
|
|
- **Action**: Review and update the output for the scaffolded createPost command as per the new format.
|
|
|
|
### **Step 7: AutoCLI Path Change**
|
|
|
|
- **Old Path**: **`x/blog/client/cli/tx_create_post.go`**
|
|
- **New Path**: **`x/blog/module/autocli.go`**
|
|
- **Explanation**: AutoCLI is now integrated at a different path to streamline command-line interactions.
|
|
|
|
### **Step 8: Adjustment in Stored Game**
|
|
|
|
- **Old Code**:
|
|
|
|
```go
|
|
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.PostKey))
|
|
|
|
```
|
|
|
|
- **New Code**:
|
|
|
|
```go
|
|
storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx))
|
|
store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PostKey))
|
|
|
|
```
|
|
|
|
- **Explanation**: The way the KVStore is accessed has changed, requiring an update in the code for stored games.
|
|
|
|
### **Step 9: Chain-ID Requirements in CLI Transaction Commands**
|
|
|
|
- **Action**: Add **`-chain-id`** flag to CLI transaction commands.
|
|
- **Example**:
|
|
- **Old Command**: **`blogd tx blog create-post 'Hello, World!' 'This is a blog post' --from alice`**
|
|
- **New Command**: **`blogd tx blog create-post 'Hello, World!' 'This is a blog post' --from alice --chain-id blog`**
|
|
- **Explanation**: The **`chain-id`** flag is now required for transaction commands for identification purposes.
|
|
|
|
### **Troubleshooting Common Issues**
|
|
|
|
- **Dependency Conflicts**: Ensure compatibility of all dependencies with IGNITE® v28.0.0 and Cosmos SDK v0.50.
|
|
- **Docker Image Compatibility**: Align Docker image versions with the CLI for seamless operations.
|
|
- **Frontend Scaffolding**: For older projects, ensure correct scaffolding as per the new commands.
|
|
- **AutoCLI Integration**: Address discrepancies due to the new AutoCLI integration path.
|
|
|
|
### **Additional Resources**
|
|
|
|
- [IGNITE® Documentation](https://docs.ignite.com/)
|
|
- [Cosmos SDK Release Notes](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.1)
|
|
|
|
### **Feedback**
|
|
|
|
We value your feedback on this guide. Please share your experiences and suggestions for improvements.
|
|
|
|
### **Updates Log**
|
|
|
|
- **[01/15/24]**: Guide created for IGNITE® v28.0.0 and Cosmos SDK v0.50.1 |