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

[Polkadot Wiki Migration] Set up a Full Node #33

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

CrackTheCode016
Copy link
Collaborator

infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
infrastructure/general/setup-full.md Show resolved Hide resolved
On [Stakeworld](https://stakeworld.io/docs/dbsize){target=_blank} you can find a list of the database sizes of Polkadot and Kusama nodes.

Archive nodes are used by utilities that need past information - like block explorers, council
scanners, discussion platforms like [Polkassembly](https://polkassembly.io){target=_blank}, and others. They need

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Papermoon.CustomDictionary] Did you really mean 'Polkassembly'?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dawnkelly09 should probably add this one if not already added

infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
infrastructure/general/setup-full.md Outdated Show resolved Hide resolved
@dawnkelly09
Copy link
Collaborator

Scan for Vale false positives. Resolved convos = made it on the update list and should go away now. I left comments for the legit flags with suggested edits. Thank you!


### Types of Nodes

A blockchain's growth comes from a _genesis block_, _extrinsics_, and _events_.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'blockchain's'?


### Types of Nodes

A blockchain's growth comes from a _genesis block_, _extrinsics_, and _events_.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Papermoon.CustomDictionary] Did you really mean 'blockchain's'?


### Types of Nodes

A blockchain's growth comes from a _genesis block_, _extrinsics_, and _events_.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Papermoon.CustomDictionary] Did you really mean 'extrinsics'?


<!-- TODO: we should explain this concept of "sealing" -->

When a validator seals block 1, it takes the blockchain's state at block 0. It then applies all

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Papermoon.CustomDictionary] Did you really mean 'blockchain's'?


<!-- TODO: we should explain this concept of "sealing" -->

When a validator seals block 1, it takes the blockchain's state at block 0. It then applies all

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'blockchain's'?

avoid needing to sync from genesis with the network and only need the states of blocks past that
snapshot.

Full nodes allow you to read the current state of the chain and to submit and validate extrinsics

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Papermoon.CustomDictionary] Did you really mean 'extrinsics'?

Another type of node is a *light node*. A light node has only the runtime and the current state
but doesn't store past blocks and so cannot read historical data without requesting it from a node
that has it. Light nodes are useful for resource-restricted devices. An interesting use-case of
light nodes is a browser extension, which is a node in its own right, running the runtime in WebAssembly

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Papermoon.WordSwapList] Use 'Wasm' instead of 'WebAssembly'.

but doesn't store past blocks and so cannot read historical data without requesting it from a node
that has it. Light nodes are useful for resource-restricted devices. An interesting use-case of
light nodes is a browser extension, which is a node in its own right, running the runtime in WebAssembly
format, as well as a full or light node that is completely encapsulated in WebAssembly and can be

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Papermoon.WordSwapList] Use 'Wasm' instead of 'WebAssembly'.


!!!note Substrate Connect
[Substrate Connect](https://github.com/paritytech/substrate-connect){target=_blank} provides a way to interact with
substrate-based blockchains in the browser without using an RPC server. It is a light node that runs

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Papermoon.CustomDictionary] Did you really mean 'blockchains'?

substrate-based blockchains in the browser without using an RPC server. It is a light node that runs
entirely in JavaScript. Substrate Connect uses a
[Smoldot Wasm light client](https://github.com/paritytech/smoldot){target=_blank} to securely connect to the
blockchain network without relying on specific third parties. Substrate Connect is available on Chrome

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Papermoon.CustomDictionary] Did you really mean 'blockchain'?

@@ -1,3 +1,4 @@
title: General Infrastructure
nav:
- index.md
- setup-full.md
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- setup-full.md
- 'Set up a Full Node': setup-full.md


<!-- TODO - maybe we keep this as a "intro" page for the infrastructure section, and make this page more focused post-merge? -->

### Types of Nodes
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nice to have sub-headers like:

Full Node

Light Node

and so on..

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nice to have sub-headers like:

Full Node

Light Node

and so on..

This would be better, as now it seems like a massive amount of text

that has it. Light nodes are useful for resource-restricted devices. An interesting use-case of
light nodes is a browser extension, which is a node in its own right, running the runtime in WebAssembly
format, as well as a full or light node that is completely encapsulated in WebAssembly and can be
integrated into web apps: [Smoldot](https://github.com/smol-dot/smoldot.){target=_blank}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This link is broken

./polkadot --name "Your Node's Name"
```

- Find your node on [Telemetry](https://telemetry.polkadot.io/#list/Polkadot){target=_blank}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd add that you need to wait until your node is sync and then you will find it there

Comment on lines +206 to +207
- Run the following: `sudo chmod +x polkadot`
- Run the following:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may be nitpicking, but I'd try to avoid this titles since are not super descriptive of the command that the user will run, maybe:

"Provide execution rights to the polkadot binary:"

sudo chmod +x polkadot

Comment on lines +232 to +245
```bash
# Import the [email protected] GPG key
gpg --recv-keys --keyserver hkps://keys.mailvelope.com 9D4B2B6EB8F97156D19669A9FF0812D491B96798
gpg --export 9D4B2B6EB8F97156D19669A9FF0812D491B96798 > /usr/share/keyrings/parity.gpg
# Add the Parity repository and update the package index
echo 'deb [signed-by=/usr/share/keyrings/parity.gpg] https://releases.parity.io/deb release main' > /etc/apt/sources.list.d/parity.list
apt update
# Install the `parity-keyring` package - This will ensure the GPG key
# used by APT remains up-to-date
apt install parity-keyring
# Install polkadot
apt install polkadot

```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These bash elements should be moved to a code snippet

Comment on lines +258 to +267
```bash
# Install dnf-plugins-core (This might already be installed)
dnf install dnf-plugins-core
# Add the repository and enable it
dnf config-manager --add-repo https://releases.parity.io/rpm/polkadot.repo
dnf config-manager --set-enabled polkadot
# Install polkadot (You may have to confirm the import of the GPG key, which
# should have the following fingerprint: 9D4B2B6EB8F97156D19669A9FF0812D491B96798)
dnf install polkadot
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, move this bash elemento to a code snippet :)

The [`paritytech/polkadot`](https://github.com/paritytech/polkadot-sdk/tree/master/polkadot) repository
master branch contains the latest Polkadot code. To install it as a binary, `cargo` may be used to install directly from a specific release:

<!-- TODO: better instructions for installing polka binary -->
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit confused with this section, it seems that the content it covers overlaps with the last section here. Could you please take a look at it?

Comment on lines +364 to +366
```zsh
docker run -p 9944:9944 -p 9615:9615 parity/polkadot:v0.9.13 --name "calling_home_from_a_docker_container" --rpc-external --prometheus-external
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```zsh
docker run -p 9944:9944 -p 9615:9615 parity/polkadot:v0.9.13 --name "calling_home_from_a_docker_container" --rpc-external --prometheus-external
```
```bash
docker run \
-p 9944:9944 \
-p 9615:9615 parity/polkadot:v0.9.13 \
--name "calling_home_from_a_docker_container" \
--rpc-external \
--prometheus-external

polkadot --name "Your Node's Name" --chain kusama
```

=== "macOS"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we plan to migrate https://docs.substrate.io/install/ this section will be duplicated

We can reference that section, but for now, it think it makes sense having it here

Comment on lines +6 to +9
If you're building dApps or products on a Substrate-based chain like Polkadot, Kusama, or a custom
Substrate implementation, you want the ability to run a node-as-a-back-end. After all, relying on
your infrastructure is always better than a third-party-hosted one in this brave new decentralized
world.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you're building dApps or products on a Substrate-based chain like Polkadot, Kusama, or a custom
Substrate implementation, you want the ability to run a node-as-a-back-end. After all, relying on
your infrastructure is always better than a third-party-hosted one in this brave new decentralized
world.
## Introduction
If you're building dApps or products on a Polkadot SDK-based chain like Polkadot, Kusama, or a custom implementation, you want the ability to run a node-as-a-back-end. After all, relying on
your infrastructure is always better than a third-party-hosted one in this brave new decentralized
world.

Comment on lines +11 to +12
This guide will show you how to connect to [Polkadot](https://polkadot.network/), but the
same process applies to any other [Substrate](https://substrate.io)-based chain.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This guide will show you how to connect to [Polkadot](https://polkadot.network/), but the
same process applies to any other [Substrate](https://substrate.io)-based chain.
This guide will show you how to connect to [Polkadot](https://polkadot.network/){target=\_blank}, but the
same process applies to any other [Polkadot SDK](https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/polkadot_sdk/index.html){target=\_blank}-based chain.


<!-- TODO - maybe we keep this as a "intro" page for the infrastructure section, and make this page more focused post-merge? -->

### Types of Nodes
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nice to have sub-headers like:

Full Node

Light Node

and so on..

This would be better, as now it seems like a massive amount of text


=== "macOS"

- Install Homebrew within the terminal by running:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some formatting issues with this list items. Also, you could use a numeric list instead of -

Congratulations, you're now syncing with Polkadot. Keep in mind that the process is identical when
using any other Polkadot SDK-based chain.

## Running an Archive Node
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section seems out of place

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants