-
Notifications
You must be signed in to change notification settings - Fork 280
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
[main v3] Revise the published version of the private network tutorial (pre-split) #458
Conversation
Ready to have 👀 with a few notes:
|
I definitely agree that the tutorial needs to be split up, and instinct tells me that you're correct in how you want to split it. For me the split came right at Generate your own keys, which makes be think we're on the same page. |
``` | ||
All blockchains require the nodes in the network to agree on the set of messages and their order to successfully create blocks and progress from one block to the next. | ||
Each block represents the state of data at a specific point in time and the nodes' agreement on the state is called **consensus**. | ||
There are several different algorithms used to reach consensus, including: |
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.
There are several different algorithms used to reach consensus, including: | |
There are several different algorithms used to reach consensus, including the following: |
| `--node-key <key>` | The Ed25519 secret key to use for `libp2p` networking. The value is parsed as a hex-encoded Ed25519 32 byte secret key, i.e. 64 hex characters. WARNING: Secrets provided as command-line arguments are easily exposed. Use of this option should be limited to development and testing. | | ||
| `--telemetry-url` | Tells the node to send telemetry data to a particular server. The one we've chosen here is hosted by Parity and is available for anyone to use. You may also host your own (beyond the scope of this article) or omit this flag entirely. | | ||
| `--validator` | Means that we want to participate in block production and finalization rather than just sync the network. | | ||
* Proof of stake consensus selects the validators add valid blocks to the chain based on the cryptocurrency holdings that they have locked up as a stake in the network. |
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.
* Proof of stake consensus selects the validators add valid blocks to the chain based on the cryptocurrency holdings that they have locked up as a stake in the network. | |
* Proof of stake consensus selects the validators that will add valid blocks to the chain based on the cryptocurrency holdings that they have locked up as a stake in the network. |
### Modify Aura authority nodes | ||
For this tutorial, you can remain connected to the internet and use your local node to generate your keys. | ||
As a best practice, you should never be connected to the internet when you generate keys for a production blockchain. | ||
For a production environment, you should disconnect from the internet before you generate any keys. |
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.
Should this statement be stronger, as in the machine should be air-gapped?
…to LG/private-network-revisited
@sacha-l @shawntabrizi , it would be great to have a technical review on the content (especially since I could not get finalization to work for the non-predefined accounts). I'm using the revision as the basis for splitting the tutorial into 3 parts:
|
I gave the tutorial a full run through - a couple of things came to mind:
I was able to run the tutorial successfully btw. Just wasn't sure how to get it running with two or more separate machines. CC: @lsgunnlsgunn |
I'm splitting this into three parts in the sandbox-removing the UI stuff from the simulated network and private network to be a standalone topic. |
I'm going to merge this as "better than the current vesion" and improve in the split up version that I have in the sandbox. |
Hi! I'd like to make some general comments about "Start a private network" tutorial as well as tutorial workflows in general, and sorry if this not the best place, Dan Shields linked me here regarding my interest in making a how-to. Firstly, the "Start a Private Network" has been super helpful and i still refer to it after almost a year of learning Substrate. If I could share some comments on my achievement milestones learning Substrate, which may perhaps be helpful. Natural learning pathFor me, general achievement milestones for the DevOps side of things went something like:
How to build a public network instead of privateA very general comment would be to drop the "private" as a main tutorial because only a small minority of beginners would be interested in building a private network, and change title to something like "How to build a test network". Education workflowsAn interesting thing could be to split various workflows into beginner, intermediate, advanced. So "How to build a private network" would be super high level for beginners, and for advanced we're learning why a lot of things are done a certain way. Easy for me to say, but would awesome. How to build a custom relay testnetAnd secondly i would like to help create one of these workflow tutorials. I was thinking the "How to build a custom relay chain testnet" would be befitting on what im working on currently. This has pushed me to learn a bit more about the validator section of things, which i request some clarity here #280 and if you could help answer any of those questions, I would be grateful. |
@decentration , thanks for the excellent feedback and suggestions. Very helpful input. I think your comment about changing the title of the tutorial is valid, but in how I'm thinking about splitting out the information, I might go in a slightly different direction. I imagine a similar progression though, moving from simple to more advanced topics--using predefined accounts, generating keys and a shared chain spec, building a small network with validator and non-validator nodes, building a full Substrate node, building a parachain, etc. |
I started down this path to simplify and streamline this one tutorial, hit a wall, but think I've found the way forward. In the process though, I started to see this tutorial as overloaded and want to split it into two parts (Simulate a network and Start a private network). I created prototypes for the split tutorials, but there might be value in having some eyes on this pre-split version if people have cycles available (the last part doesn't quite work as written and at least according to comments in the file, didn't work previously either--I think I know how to fix it, but need to test if my planned fix actually works). I'll add the split-into-two to the PoC for the doc architecture that I'm planning to build next week.