-
Notifications
You must be signed in to change notification settings - Fork 382
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
PoC for Genesis Manipulation Libraries and Tools #1189
Milestone
Comments
This was referenced Oct 2, 2023
Closed
This was referenced Oct 3, 2023
7 tasks
7 tasks
moul
pushed a commit
that referenced
this issue
Oct 28, 2023
## Description This PR introduces the genesis.json command suite, as outlined in #1203. Closes #1203 and #1189 <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [x] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
github-project-automation
bot
moved this from In Progress
to Done
in 🚪🔁 The Portal Loop
Oct 28, 2023
gfanton
pushed a commit
to gfanton/gno
that referenced
this issue
Nov 9, 2023
## Description This PR introduces the genesis.json command suite, as outlined in gnolang#1203. Closes gnolang#1203 and gnolang#1189 <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [x] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
moul
pushed a commit
to moul/gno
that referenced
this issue
Nov 14, 2023
## Description This PR introduces the genesis.json command suite, as outlined in gnolang#1203. Closes gnolang#1203 and gnolang#1189 <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [x] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Objective:
Advance the development of a comprehensive suite of libraries and tools focused on genesis manipulation and management. This suite will bolster the ongoing efforts to establish an eventually-consistent testnet (#1131) and refine local net development.
As of now, the genesis generation for the gnoland main is rudimentary and manual. The ambition is to progress from this baseline to facilitate the design of new genesis files, amend current ones, and furnish the capacity to read, consolidate, or modify various genesis files.
Clarification on Project Philosophy:
It's important to rectify a common misunderstanding about the project's scope and philosophy. While gno.land, gnovm, and tm2 espouse a rigorous adherence to minimalism and simplicity, this doesn't imply that all extensions or tools related to the project should mirror this strict philosophy.
For instance, while the
gnoland
binary philosophy aims for minimalism, other components likegnosdk
might accommodate more advanced tools and features. One example is the proposed introduction of proof of stake coordination tools or other advanced utilities. For those who envision gno.land being more akin to cosmos-sdk, the suggested approach would be to work directly within tm2 or gnovm (when the requirements align with the project's minimalistic principles). Alternatively, contributors can utilize thegnosdk
top-level folder for functions that might not strictly adhere to thegnoland
binary philosophy.To further underscore this concept, consider reviewing and merging proposal #1105, which emphasizes the role of
gnosdk
as a suitable destination for ideas that aren't minimalistic enough forgnoland
.Library Requirements:
gnokey list
, ensuring a consistent fund flow for developers during local development.Tool Requirements:
gnosdk
binary, introducing "genesis" as a subcommand (gnosdk genesis
). Although this arrangement appears suitable, it remains receptive to feedback and alternative propositions.gnosdk-genesis
tool. This action aims to spawn a local genesis file labeledgenesis-tx.local.txt
, rooted ingenesis-tx.txt
(sourced from git). Accompany this with a git configuration to disregard files with the*.local.txt
nomenclature.Future Considerations: Down the line, other blockchain projects might aspire to consolidate functionalities into a single binary like
mychain
. This could comprise the chain production node, genesis manipulation utilities, and the client. Forgno.land
, however, the vision remains to keep thegnoland
binary streamlined, focusing on core functionalities while assigning auxiliary functions to dedicated tools. Thegnosdk
emerges as the optimal solution to this dichotomy.Related with gnolang/tx-exports#1.
The text was updated successfully, but these errors were encountered: