Skip to main content
18 votes
Accepted

What does PoV stand for?

PoV stands for Proof-Of-Validity. This is a specific concept in the parachains protocol which allows validators on Polkadot to execute and verify blocks on the relay chain, which ultimately provides ...
Shawn Tabrizi's user avatar
  • 16k
4 votes
Accepted

How do I obtain key-value storage proof for a runtime call?

It is possible to collect a witness for having an runtime API handle at hand. The key methods are record_proof and extract_proof. Assuming you have a Client instance at hand, you can do the following: ...
pepyakin's user avatar
  • 2,184
3 votes
Accepted

How does the benchmark calculate the proof size?

You can see where the bulk part comes from: BridgePolkadotGrandpa CurrentAuthoritySet (max_values: Some(1), max_size: Some(4000012), added: 4000507, mode: MaxEncodedLen) It is using the MaxEncodedLen ...
Oliver Tale-Yazdi's user avatar
3 votes
Accepted

Does RuntimeApis storage accesses counts towards PoV when called from RPC and not any extrinisc?

The storage proof (which is part of the Pov) is only collected while building a block. Each storage read that happens in this process is going into the storage proof. When you are doing RPC calls, ...
bkchr's user avatar
  • 11.3k
3 votes

Does RuntimeApis storage accesses counts towards PoV when called from RPC and not any extrinisc?

The PoV is given to the validator for it to be able to execute the state transition function and calculate the new state root (new state). This is to verify the collators have done their work ...
Daan van der Plas's user avatar
2 votes

Genesis chainspec size limit

There is no real limitation on the amount of data in the chaispec. Nothing prevents you from putting there gigabytes of data. You will only get some sort of "usability" issue by requiring to ...
bkchr's user avatar
  • 11.3k
2 votes
Accepted

What is the point of making all storage explicitly bounded?

For standalone chains making the storage bounded isn't that important. However, for Parachains it is really important. When building a PoV, you always need to take the PoV size into account to not run ...
bkchr's user avatar
  • 11.3k
2 votes
Accepted

Is there a way to find the historic parachain block PoV size?

I don't know of any existing mechanisms that easily allows for this. You would have to write an indexer yourself. It could sync a parachain from scratch and store the PoV size of each block.
Oliver Tale-Yazdi's user avatar
1 vote
Accepted

How does a parachain collator reliably know which parachain block (candidate recipt) got included on the relaychain to build the next block on?

All parachain nodes are required to follow the relay chain they are connected to as well. By following I mean to know about which relay chain blocks are being imported/finalized. To follow the relay ...
bkchr's user avatar
  • 11.3k
1 vote

How does a parachain collator reliably know which parachain block (candidate recipt) got included on the relaychain to build the next block on?

A collator consists of a relay chain node and a parachain node. One of the reasons is because it needs to communicate with the relay chain nodes (networking) to be in sync with the chain. In other ...
Daan van der Plas's user avatar

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