Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
README: Document usage of RPC node (#2313)
Browse files Browse the repository at this point in the history
* Update readme

* Improve

* Apply suggestions from code review

Co-authored-by: Koute <[email protected]>

* Quote urls

* Apply suggestions from code review

Co-authored-by: Michal Kucharczyk <[email protected]>

---------

Co-authored-by: Koute <[email protected]>
Co-authored-by: Michal Kucharczyk <[email protected]>
  • Loading branch information
3 people authored Mar 14, 2023
1 parent 14b9db5 commit 7e799e7
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,39 @@ and treat as best.
A Polkadot [collator](https://wiki.polkadot.network/docs/en/learn-collator) for the parachain is
implemented by the `polkadot-parachain` binary (previously called `polkadot-collator`).

### Relaychain Interaction
To operate a parachain node a connection to the corresponding relaychain is necessary. This can be achieved in one of two ways:
1. Run a full relaychain node within the parachain node (default)
2. Connect to an external relaychain node via websocket RPC

#### In-process Relaychain Node
If an external relaychain node is not specified (default behavior) then a full relaychain node will be spawned within the same process.

This node has all of the typical components of a normal Polkadot node, and will have to fully sync with the relaychain to work.

##### Example command
```shell=
# In-process node with this chainspec is spawned
# |
# |-----------------------|
polkadot-parachain --chain parachain-chainspec.json --tmp -- --chain relaychain-chainspec.json
```

#### External Relaychain Node
An external relaychain node can be connected via websocket RPC by using the `--relay-chain-rpc-urls` command line argument. This option accepts one or more space-separated websocket URLs to a full relay chain node. By default only the first URL will be used, with the rest acting as a backup in case the connection to the first node will be lost.

Parachain nodes using this feature won't have to fully sync with the relay chain to work, so in general they will use significantly less system resources.

**Note:** At this time any parachain nodes using this feature will still spawn a very cut down relaychain node in-process, hence even though they lack the majority of normal Polkadot subsystems they will still need to be able to directly connect to the relay chain network.
##### Example command
```shell=
# Perform runtime calls and fetch Still required since we connect
# data via RPC from here. Backup node to the relaychain network
# | | |
# |---------------------------------| |----------------------------------------| |-----------------------|
polkadot-parachain --chain parachain-chainspec.json --tmp --relay-chain-rpc-urls "ws://relaychain-rpc-endpoint:9944" "ws://relaychain-rpc-endpoint-backup:9944" -- --chain relaychain-chainspec.json
```

## Installation and Setup
Before building Cumulus SDK based nodes / runtimes prepare your environment by following Substrate [installation instructions](https://docs.substrate.io/main-docs/install/).

Expand Down

0 comments on commit 7e799e7

Please sign in to comment.