Skip to main content
8 votes

From a parachain, how to get the current relay chain block number?

Great question! You can include the following in your parachain's runtime: use cumulus_pallet_parachain_system::RelaychainBlockNumberProvider; Then, in the parachain's runtime, define the following ...
Bruno's user avatar
  • 8,315
6 votes

Scalability beyond Asynchronous Backing

We have a number of protocol updates that will help improve scalability at the protocol level. Torrent-style fetching of PoVs: https://github.com/paritytech/polkadot/issues/3307 . This includes a &...
rob's user avatar
  • 2,126
6 votes
Accepted

How to properly set session keys for Relay and Parachain with custom keys

The Solution: After trying a lot of things, I've found from an RPC call that there's 7 keys needed for each Validator node. Those are, gran babe imon para asgn audi beef. And for each key-type there's ...
Alexandre Ribeiro's user avatar
5 votes
Accepted

Can I access storage of relay chain pallet from my parachain?

It is possible but in a somewhat roundabout way. A parablock candidate is always created against a picked relay-parent — a relay-chain block. The storage root of the relay parent will be passed as a ...
pepyakin's user avatar
  • 2,184
5 votes

Is it possible to add 2nd order Relay-chain to Relay-chain

What are the drawbacks? The most notable drawback to continually nesting relay chains is the increased delay of things like finalization, cross-chain messages, and other things from the outer chains ...
Shawn Tabrizi's user avatar
  • 16.1k
5 votes

How do relaychain, parachain, collators, validators work together

You might want to check out https://polkadot.network/blog/the-path-of-a-parachain-block/ I wrote it before most of the code was implemented, so some things are out of date (e.g., there are no ...
joepetrowski's user avatar
  • 2,955
5 votes
Accepted

What node types run in the relay chain vs. parachain?

I think your mental model is a little off here, at least the way it is written. There is a binary specific for the Polkadot relay chain node, and software specific for each parachain node. Each of ...
Shawn Tabrizi's user avatar
  • 16.1k
4 votes
Accepted

Bulding polkadot (release-v0.9.24) fails while compiling a dependency (prost-build v0.10.4)

Probably the most frictionless way to fix this is by installing cmake. Alternatively, provide a pre-built protoc to the build process. More context about prost: PROST! a Protocol Buffers ...
stano's user avatar
  • 238
4 votes

Collator nodes are not working

The Parachain will not start producing blocks until you have reached the tip of the relay chain. Each Parachain block is build on a specific relay chain block and this currently requires that you ...
bkchr's user avatar
  • 11.6k
4 votes
Accepted

Pallets extrinsics not showing in a relay-chain/parachain setup

This was answered by Squirrel - they weren't showing up because Polkadot-JS was pointing at the relay chain, not the parachain.
rob's user avatar
  • 2,126
4 votes
Accepted

Where and how is the information about a parachain block stored within the relay chain?

The parachain block candidate first gets included into the relay-chain during the processes known as "backing". At that point, the candidate is just saved in the relay-chain, but is not ...
pepyakin's user avatar
  • 2,184
4 votes

How to ensure parachain block validity without fishermen

https://polkadot.network/blog/polkadot-v1-0-sharding-and-economic-security/ This blog post contains a deep dive on how Polkadot currently provides economic security. It's actually a lot better than ...
rob's user avatar
  • 2,126
4 votes
Accepted

unexpected argument '--ws-port' found

A suggestion, always checking the release detail before using/upgrading to it: https://github.com/paritytech/polkadot/releases/tag/v0.9.43 CLI changes This release removes the following CLI parameters:...
AurevoirXavier's user avatar
  • 10.7k
3 votes

When there is a new Chain Spec version how do we know where to add things?

There are two types of chain spec: "raw" and "human readable". Where the difference between both is that genesis entry is either hex key and values or a json that contains the ...
bkchr's user avatar
  • 11.6k
3 votes

Can I access storage of relay chain pallet from my parachain?

Not as part of your synchronous runtime logic, no, that would require all parachains to run inside one state machine, which conflicts with the sharding model.
Bedeho Mender's user avatar
3 votes
Accepted

How to deploy a parachain node and connect it to an existing relay chain node?

The parachain node and the relay chain node were tightly coupled and could not be run individually. The parachain node directly calls into the relay chain client. Not all of the required relay chain ...
skunert's user avatar
  • 46
3 votes

Parachain not producing blocks ? Error: Could not decode the head data

I manage to find my issue: It has nothing to do with substrate. But I'll explain how I got the error: [Parachain] Could not decode the head data. error=Error. My add parachain javascript script that ...
lucgerrits's user avatar
3 votes

Scalability beyond Asynchronous Backing

We expect careful benchmarking work to expose many further optimizations, which falls under rob's "general engineering improvements". We've experimental low level ideas, like I suspect QUIC ...
Jeff Burdges's user avatar
3 votes

Parachain blocks stopped finalizing after adding another collator

To add new collators to an already running chain you will need to use something like collator-selection pallet. This will help you when adding collators with keys not present on the chainspec of your ...
Alejandro Martínez's user avatar
3 votes
Accepted

What reference hardware can a parachain use to benchmark & generate weights?

Can parachains decide on arbitrary reference hardware to benchmark against? No, they must use the same hardware as the relay chain, which is the hardware recommendations you pasted above. Technically ...
Shawn Tabrizi's user avatar
  • 16.1k
3 votes
Accepted

In custom Rococo staging and Westend staging network parachain is not producing blocks

The reason for your parachain not producing blocks after registration with rococo-staging relaychain is the parameter session_length_in_blocks. This parameter is set as None for rococo-staging and ...
Ayush Mishra's user avatar
3 votes
Accepted

Collation wasn't advertised to any validator. version: polkadot-v0.9.36

For me it happened because of change in the command which i did for some use-case. I was using below command: ./target/release/polkadot \ --alice \ --validator \ --base-path /tmp/relay/alice \ --chain ...
Pankaj's user avatar
  • 2,021
3 votes
Accepted

Send upward message to unlock parachain

Important in this case is that the XCM message must have the native origin. You can only achieve this if you write a wrapper pallet that will send a UMP message from within a dispatchable. This is how ...
clangenb's user avatar
  • 141
3 votes
Accepted

(Parachain) cannot create a runtime error=Other("cannot deserialize module: unknown Opcode(192)")

Kindly downgrade your nightly version you can downgrade it to 68.
Arunjot Singh's user avatar
2 votes

How can I ask a parachain which relay it is connected to?

Not maybe a direct answer, but if you discover the parachains via the relay chain then you know which relay chain they are associated with.
Squirrel's user avatar
  • 3,849
2 votes

Where to find the path for my relay chain when starting a parachain?

Check the previous section. The tutorial is using this spec. You could download this directly. Or, build it yourself: git clone https://github.com/paritytech/polkadot.git && cd polkadot cargo ...
AurevoirXavier's user avatar
  • 10.7k
2 votes

What data does the Polkadot relay chain really need to store for parachain block validation?

For bitfields: I am pretty sure that the only reason we store them is so we can accumulate them over several blocks until we reached availability/cores time out. While validators will re-send ...
eskimor's user avatar
  • 275
2 votes
Accepted

How to use command line to Reserve ParaID locally

Here is the pseudo code on how would you do it: @import polkadot_api; let reserver = 0xa_address_is_here; let registrar.reserve(reserver, 2000); Here is what registrar.reserve do. Also refer to ...
Sudip Ghimire's user avatar
2 votes
Accepted

How to use command line to register Parachain locally

Basically, I keep in mind that everything I do from frontend is just some calls to chain. Even the actual command might get complicated depending on abstraction of what we trying to do but you just ...
Sudip Ghimire's user avatar
2 votes

How to add charlie node to local relay-chain?

BEEFY (Bridge Efficiency Enabling Finality Yielder) is a secondary protocol running alongside GRANDPA to support efficient bridging with non-Substrate blockchains. https://github.com/paritytech/...
Bruno's user avatar
  • 8,315

Only top scored, non community-wiki answers of a minimum length are eligible