algorand / algorand/go-algorand
Improved Network Create Command
- 主要言語
- Go
- スター
- 1.4k
- フォーク
- 537
- 平均マージ
- 1日 6時間
- マージ済み PR(30日)
- 17
説明
## Summary
`goal node create --network --destination ./` is incomplete and can be improved.
The ingredients to configure a node for a specific network are:
1. A compatible release
2. The correct genesis.json file
3. The correct DNS Bootstrap URL (used to find a relay)
The `--network` currently ONLY attempts to properly set the genesis.json file, and even that piece has problems. The main problem is that there is not a consistent way for the `--network` option to find the genesis file, it searches 3 locations and the files are not always in those locations.
## Open Question
Is there an opportunity for consolidation? The `genesis.json` files are shipped in many ways:
* `make install` places genesis files in the `$GOPATH/bin/genesisfiles` directory
* The `update.sh` script installs them relative to the binaries
* The release tarballs include genesis files in the `/genesis/` directory
* The deb/rpm installers include genesis files in `/var/lib/algorand`
* The sandbox includes and manages them internally
Who is actually using `goal network create`? I see it in a few places and ONLY to install a private network based on a template.
## Scope/Requirements
There are two options
1) Make the "template" field required. This is now a non-issue because `goal network create` wouldn't need to lookup the genesis.json file.
2) If we decide we can't remove the install-a-real-network mode we could modify `goal node create` with the following:
* Bake the genesis files into the binary. mainnet/testnet/betanet/devnet are all committed to the go-algorand repository and serve as the source of truth, so they can be included in the goal command.
* Alongside the baked in genesis files include the DNS Bootstrap ID configuration.
* The network option should ONLY allow using the baked in configurations.
## Urgency/Relative Priority
This command is extremely confusing to developers and customers.
The problem of finding genesis files should be something we have an actual design for, currently the design is organic and keeps being redesigned when someone runs into the problem.
コントリビューションガイド
評価
この issue はまだ評価されていません。