-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
feat: constitution #14373
feat: constitution #14373
Conversation
amazing, thank you for the PR. we will work this into our review cycle!! |
Cool, please note, I'm definitely open to ideas on this. My feeling is that laying out the base rights and responsibilities of different groups will prove to be important. (or maybe already is, viz: juno prop 4, 16) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK, could we get come docs added on this feature, could be in the spec of governance
totally! I'll get that rolling now. I think they'll be kinda weird docs, as I'll aim them at being more social (how to use the constitution field in governance) than technical (since this really is not a huge technical feat at all) |
^ somewhere other than there? |
@@ -268,6 +268,40 @@ Validators and full nodes can use an automation tool, such as [Cosmovisor](https | |||
|
|||
## State | |||
|
|||
### Constitution |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should set guideline on how is formatted a constitution.
If chains use an IPFS link or set it directly in the field, it might be annoying for explorers to parse and display it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great idea, I am hoping for Markdown stored directly in genesis, to enhance the durability of the document.
@@ -54,13 +54,13 @@ message SoftwareUpgradeProposal { | |||
option (gogoproto.equal) = true; | |||
|
|||
// title of the proposal | |||
string title = 1; | |||
string title = 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why has it been formatted?
|
||
func (keeper Keeper) GetConstitution(ctx sdk.Context) (constitution string) { | ||
store := ctx.KVStore(keeper.storeKey) | ||
bz := store.Get([]byte("constitution")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we create a key for this under x/gov/types/keys.go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this only meant to be in the genesis file, or do we also want to store it to state? It seems unnecessary to store such a big text on chain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My impression is that it must in exist in state, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes it needs to be in state. not all nodes have the genesis file meaning that if you don't have it you wont be able to query it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some comments. I think it may be nice to add a CLI for it.
Co-authored-by: Julien Robert <julien@rbrt.fr>
back to this one in ~24h -- the reason I'm thinking no cli for this, is that I don't (personally) think it's something that should change over time. I think that the "default settings" shouldn't include anything that supports amendments or the like, and the "default use case" would allow amendments to actually be forks with their own constitution and goals. |
I meant a query CLI. Like |
the query is a great idea :) |
@faddat Could you address the pending review comments so that we can get this PR merged? |
If you want to give me access to your branch, I can push it to the finish line @faddat |
Hey guys it's going to be a couple of more days before I can write that CLI tool so I'm just going to move this to draft for now, but I wanted to let you know that I do intend to complete it. |
closing as sam picked it up here #15125 |
Description
Closes: #14065
I think the original way, is the right way to go about with constitutions.
For a live chain, it may be desirable to make constitutions that are based on metadata.
For a new chain, the constitution should be a part of gov's genesis.
Amendments are in my opinion a fork but I see no reason why communities cannot use governance to make constitutional changes.
With that said, amendments are outside of the scope I'd like to address here.
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
to the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
!
in the type prefix if API or client breaking change