Skip to content

Commit

Permalink
fix(client/v2): use (PREFIX)_HOME instead of NODE_HOME (#20964)
Browse files Browse the repository at this point in the history
(cherry picked from commit 6708818)

# Conflicts:
#	client/v2/CHANGELOG.md
#	simapp/v2/simdv2/main.go
  • Loading branch information
julienrbrt authored and mergify[bot] committed Jul 16, 2024
1 parent 28721bc commit 156b425
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 5 deletions.
18 changes: 18 additions & 0 deletions client/v2/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,24 @@ Ref: https://keepachangelog.com/en/1.0.0/

## [Unreleased]

<<<<<<< HEAD
=======
<!-- ## [v2.1.0-rc.1] to be tagged after v0.51 final or in SDK agnostic version -->

### Features

* [#18626](https://github.com/cosmos/cosmos-sdk/pull/18626) Support for off-chain signing and verification of a file.
* [#18461](https://github.com/cosmos/cosmos-sdk/pull/18461) Support governance proposals.

### API Breaking Changes

* [#17709](https://github.com/cosmos/cosmos-sdk/pull/17709) Address codecs have been removed from `autocli.AppOptions` and `flag.Builder`. Instead client/v2 uses the address codecs present in the context (introduced in [#17503](https://github.com/cosmos/cosmos-sdk/pull/17503)).

### Bug Fixes

* [#20964](https://github.com/cosmos/cosmos-sdk/pull/20964) Fix `GetNodeHomeDirectory` helper in `client/v2/helpers` to respect the `(PREFIX)_HOME` environment variable.

>>>>>>> 670881847 (fix(client/v2): use (PREFIX)_HOME instead of NODE_HOME (#20964))
## [v2.0.0-beta.3] - 2024-07-15

### Features
Expand Down
18 changes: 15 additions & 3 deletions client/v2/helpers/home.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ import (
"strings"
)

// EnvPrefix is the prefix for environment variables that are used by the CLI.
// It should match the one used for viper in the CLI.
var EnvPrefix = ""

// GetNodeHomeDirectory gets the home directory of the node (where the config is located).
// It parses the home flag if set if the `NODE_HOME` environment variable if set (and ignores name).
// It parses the home flag if set if the `(PREFIX)_HOME` environment variable if set (and ignores name).
// When no prefix is set, it reads the `NODE_HOME` environment variable.
// Otherwise, it returns the default home directory given its name.
func GetNodeHomeDirectory(name string) (string, error) {
// get the home directory from the flag
Expand All @@ -21,12 +26,19 @@ func GetNodeHomeDirectory(name string) (string, error) {
}

// get the home directory from the environment variable
homeDir := os.Getenv("NODE_HOME")
// to not clash with the $HOME system variable, when no prefix is set
// we check the NODE_HOME environment variable
homeDir, envHome := "", "HOME"
if len(EnvPrefix) > 0 {
homeDir = os.Getenv(EnvPrefix + "_" + envHome)
} else {
homeDir = os.Getenv("NODE_" + envHome)
}
if homeDir != "" {
return filepath.Clean(homeDir), nil
}

// return the default home directory
// get user home directory
userHomeDir, err := os.UserHomeDir()
if err != nil {
return "", err
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/learn/advanced/07-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ this will be more convenient:

```shell
# define env variables in .env, .envrc etc
NODE_HOME=<path to home>
GAIA_HOME=<path to home>
GAIA_NODE=<node address>
GAIA_CHAIN_ID="testchain-1"
GAIA_KEYRING_BACKEND="test"
Expand Down
3 changes: 2 additions & 1 deletion simapp/simd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"fmt"
"os"

clientv2helpers "cosmossdk.io/client/v2/helpers"
"cosmossdk.io/simapp"
"cosmossdk.io/simapp/simd/cmd"

Expand All @@ -12,7 +13,7 @@ import (

func main() {
rootCmd := cmd.NewRootCmd()
if err := svrcmd.Execute(rootCmd, "", simapp.DefaultNodeHome); err != nil {
if err := svrcmd.Execute(rootCmd, clientv2helpers.EnvPrefix, simapp.DefaultNodeHome); err != nil {
fmt.Fprintln(rootCmd.OutOrStderr(), err)
os.Exit(1)
}
Expand Down
20 changes: 20 additions & 0 deletions simapp/v2/simdv2/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package main

import (
"fmt"
"os"

clientv2helpers "cosmossdk.io/client/v2/helpers"
"cosmossdk.io/core/transaction"
serverv2 "cosmossdk.io/server/v2"
"cosmossdk.io/simapp/v2"
"cosmossdk.io/simapp/v2/simdv2/cmd"
)

func main() {
rootCmd := cmd.NewRootCmd[transaction.Tx]()
if err := serverv2.Execute(rootCmd, clientv2helpers.EnvPrefix, simapp.DefaultNodeHome); err != nil {
fmt.Fprintln(rootCmd.OutOrStderr(), err)
os.Exit(1)
}
}

0 comments on commit 156b425

Please sign in to comment.