Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OPS] Wishlist - Feature ideas #2102

Open
albttx opened this issue May 14, 2024 · 0 comments
Open

[OPS] Wishlist - Feature ideas #2102

albttx opened this issue May 14, 2024 · 0 comments

Comments

@albttx
Copy link
Member

albttx commented May 14, 2024

Description

Hello, after couple discussions with @zivkovicmilos and @thehowl about some ideas of features, they told me i should create a ticket to discuss about it.
This is a general ticket, if some feature makes debate, let's open smaller ticket to discuss about them.

1️⃣ $HOME/.gno

In cosmos-sdk, there is a feature i find cool is the client.toml file.
This file contains informations about the chain, like node (endpoint), chain-id, all client configurations to discuss with a blockchain.

Since in Gno philosophie, we want the gnoland-data folder to be only containing the chain data. it would be non-sense to put the client.toml file there.

My suggestions would be to to create a $HOME/gno folder where we could put a clients.toml (notice the S), to be able to have "context" (like in S3 clients), were we could replace commands like:

gnokey query -remote="http://rpc.staging.gno.land:36657" "bank/balances/g1qhuef2450xh7g7na8s865nreu2xw8j84kgkvt5"        

By having

#clients.toml
[default]
chain_id="dev"
remote="http://localhost:26657"

[staging]
chain_id="staging"
remote="http://rpc.staging.gno.land:36657"

[portal-loop]
chain_id="portal-loop"
remote="http://rpc.gno.land:26657"

So the command would be

gnokey query --ctx staging "bank/balances/g1qhuef2450xh7g7na8s865nreu2xw8j84kgkvt5"        

2️⃣ Put back default genesis.json file inside of the gnoland-data folder

I understand the feature and the benefit of having the genesis.json file outside of the folder but i don't believe it should be outside by default.

  • gnoland-data/config/genesis.json (tendermint style)
  • gnoland-data/genesis.json (make more sense with current folders)

It's so much simpler in multiple way... the other day i had issue because i was removing gnoland-data folder for having a new chain, and got errors because i forgot the genesis.json file.

3️⃣ gnoland init

There is already a LOT of PRs and public discussions about it, and i just want to find a solutions for this.

I understand @moul positions about UNIX style and avoid sugar syntax of tasks, but the default behavior is to do a simple init and after a start, and i don't believe really useful all the genesis init + secrets init + config init.

So here is some proposals that maybe could fit ?

Like migrating everything under init and having something like:

  • gnoland init (doing: gnoland init config + gnoland init genesis+gnoland init secrets`)

or by default and have the "lazy flags" for smaller cases like:

  • gnoland init --{config,secrets,genesis}-only

4️⃣ --data-dir into --home, remove --config-path

gnoland want to be simple. the CLI have different system which aren't logical.

with gnoland start i can set --data-dir, but i can't set a different --config-path, (which wouldn't make sense)

So in gnoland config init, i propose to update --config-path into --data-dir that will be {{ data_dir }}/config by default

  • what do you think about renaming --data-dir into --home ? (if $HOME/.gno is approved, it could be --gnhome :)
    even if i don't think gnoland will care of $HOME/.gno)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

1 participant