Questions tagged [genesis]
Questions about the genesis block or genesis configuration of a chain.
40
questions
4
votes
0
answers
55
views
Genesis Sync and History: Are Archive Nodes Indispensable?
I've been exploring the intricacies of node types in Polkadot and other Substrate-based networks and came across a scenario that has left me curious. I understand that full nodes and archive nodes ...
5
votes
1
answer
71
views
Extrinsics In Genesis Block
All the Substrate-based chains that I know of have no transactions in the genesis block.
The genesis block is the same data structure as all other blocks and therefore does have a body and a Vec<...
0
votes
1
answer
36
views
Newer nodes unable to execute genesis chainspec, "unknown field `phantom`"
We've been running a testnet and have executed a number of runtime upgrades. We've also upgraded the node across a variety of changes. New validators are trying to join the network and yet they cannot ...
1
vote
1
answer
62
views
Alter existing chain spec without mutating genesis hash
What contents of a non-raw chain spec can be added or altered without mutating the derived genesis hash? More specifically, does changing a pallet's genesis configuration in the spec lead to a ...
2
votes
1
answer
34
views
EVM solo to para migration on Genesis
I need to migrate the state of an EVM solochain (not substrate) into a Frontier-based parachain.
The original chain has been running for a while with high activity, so the state is fairly big.
I am ...
4
votes
1
answer
116
views
Unable to sync after runtime upgrade
After performing an upgrade on a remote node that includes a new pallet in my runtime, I attempted to sync a local node with the remote one, but I encountered the following error:
Bootnode with peer ...
2
votes
0
answers
42
views
Having trouble with the `ChainSpec` Type
I've updated the ChainSpec type from:
pub type ChainSpec = sc_service::GenericChainSpec<GenesisConfig, Extensions>;
to
pub type ChainSpec = sc_service::GenericChainSpec<Result<...
2
votes
1
answer
98
views
How to add initial nominators in the customSpec.json?
I want to generate a customSpec.json where i can manually add the accounts of the initial_nominators. I've seen the code chain_spec.rs where we in the fn testnet_genesis there is initial nominators. ...
3
votes
0
answers
68
views
Switching from Aura to Babe - 'Current state of blockchain has invalid authorities set'
I'm attempting to switch a node from using Aura to Babe by copying the usage of Babe in some public chains.
However when I run multiple nodes together I get the error:
Unable to fetch auxiliary data ...
3
votes
1
answer
55
views
How to implement Debug trait for runtime GenesisConfig?
GenesisConfig is implemented for each pallet, but the runtime GenesisConfig (ex: polkadot::GenesisConfig) is not implemented explicitly. So my question is: how to implement a trait (Debug for example) ...
2
votes
1
answer
53
views
Modify the Genesis file/WASM after getting the slot but before the parachain creates the block
I want to find a way to check whether the parachain's genesis file/WASM can be changed after getting the slot but before creating the first block by the users who registered the parachain. Is that ...
0
votes
1
answer
29
views
Substrate Deployment for Prod/Staging
I am wondering where do you deploy your substrate nodes for production or staging? Do you deploy the nodes to some cloud servers? How many connected nodes are sufficient to keep the network running?
4
votes
1
answer
44
views
Is possible to set the genesis block number to non-zero value?
As we are going to release a new chain base on the old state and we want to avoid the break changes as much as possible.
1
vote
1
answer
41
views
How to configure genesis_config for pre defined functional pallets?
Substrate has provided some pre-defined functional pallets. We need to configure these pallet in our custom runtime in order to use them.
Some of these pallets like pallet_treasury, pallet_collective ...
2
votes
1
answer
66
views
Update parathread WASMs during auction
If a parathread is part of an auction but is not yet a parachain, would it be possible to update its genesis-state and genesis-wasm by deregistering it and re-registering with the updated files? This ...
2
votes
1
answer
71
views
Can we update the genesis head wasm after obtaining a slot?
I have some confusion regarding WASM genesis state. I'm not entirely sure what it contains or how to update it once we've acquired a slot.
For some context: assume we have a substrate based chain that ...
1
vote
1
answer
54
views
Genesis build order
From what I see in the code, the Executive pallet controls the hook order via one of the passed parameters AllPallets, AllPalletsReversed, etc. that depend upon the declaration order in ...
1
vote
1
answer
76
views
Failure on HRMP channel creation
To update a parachain in a dev environment without redeploying the relaychain and other parachains I used sudoScheduleParaCleanup extrinsic.
The cleanup and new onboarding seemed successful initially. ...
1
vote
1
answer
30
views
How do you hide test accounts when they are not endowed?
Our chain spec does not endow any of the test accounts yet we are still seeing them shown (with zero balances) in the Polkadot UI. How do we hide them?
1
vote
1
answer
33
views
Setting a value to an arbitrary key at genesis?
I am wondering if it is possible to set a value to an arbitrary storage key at genesis.
Let's say I want to populate the key 0x3fba98689ebed1138735e0e7a5a790abee99a84ccbfb4b82e714617e5e06f6f7 at ...
1
vote
1
answer
88
views
How to mint assets configured in GenesisConfig
I have configured an asset in the GenesisConfig of my node's chain_spec as following:
assets: AssetsConfig {
assets: vec![(1000, root_key.clone(), true, 1)], // Genesis assets: id, ...
2
votes
1
answer
199
views
The trait Deserialize is not implemented for a Get<u32> constant
I am implementing the MaxEncodedLen trait for my pallet. I have this struct in a separate crate. I use this struct as my GenesisConfig, which is why it derives serde::Serialize and serde::Deserialize :...
3
votes
0
answers
72
views
how to use export-state then add the custom aura and grandpa authorities
I've been trying to use the export-state and then add the custom set of authorities to the aura and grandpa as per the Simulate network tutorial, but i'm always getting the file as a raw genesis file ...
0
votes
1
answer
305
views
What is the best way to find the genesis hash for a chain?
My understanding is the following terms which are used in different contexts and applications all refer to the same thing: "genesis hash", "network key", "chain id". I ...
4
votes
1
answer
284
views
How to manage storage when a pallet is instantiated more than once?
I am working on an exercise involving liquid staking, where two different tokens are managed. It was suggested to me that I might try instantiating the Balances pallet twice, following the pattern of ...
3
votes
1
answer
77
views
Is there a way to add a pallet with genesis config through a runtime upgrade?
I have a chain running with some pallets in the runtime. Now I want to add a new (already existing) pallet in the runtime, but this pallet has some genesis config entries.
Is it possible to add this ...
9
votes
2
answers
167
views
What is the full list of ChainSpec properties?
The ChainSpec type has a from_genesis method which takes an Option<Properties>. This Properties object is:
/// Arbitrary properties defined in chain spec as a JSON object
pub type Properties = ...
1
vote
2
answers
162
views
On-chain storage version on new chain seems to be incorrect
I modified the template pallet from the substrate node template 681a9d8e3e8becf99aabf1cc76e1c08016db2e1a to contain a storage version:
const STORAGE_VERSION: StorageVersion = StorageVersion::new(123);
...
0
votes
0
answers
125
views
Node Does not Produce Blocks
I've been trying to implement a PoW consensus for my node. It was based on node template, the recipe and Kulupu's implementation of PoW. So I did quite a lot of changes to the node template and thus I'...
2
votes
1
answer
87
views
After genesis has occurred how do I configure new pallet with pre-filled storage?
This question is somewhat similar to this question about configuring for testing but it is for an already live chain.
In this scenario a new pallet will be added to an existing chain's runtime. The ...
0
votes
1
answer
123
views
Serde::Serialize/Deserialize for BoundedVec
Do I have to manually Serialize/Deserialize BoundedVec?
Update:
There was no implementation, so I'm coding one here
0
votes
1
answer
52
views
Can I modify the `BlockHashCount` on my chain safely to change transaction mortality?
Background
Transaction Mortality is described on the Polkadot Wiki as:
Extrinsics can be mortal or immortal... If the extrinsic is not
included in a block within this validity window, it will be ...
2
votes
0
answers
24
views
Grandpa authorities in the context of pallet-staking
In pallet-staking's genesis config there are two items :
pub validator_count: u32,
pub minimum_validator_count: u32,
Question : How are we to interpret them in the context of Grandpa finality? I know ...
1
vote
0
answers
43
views
How would adding more weight to grandpa voting of my initial authority at genesis affect finality?
Currently I am starting my node with one authority, and the genesis config for grandpa looks like this :
grandpa: GrandpaConfig { authorities: vec![] },
Would it be possible to assign some privileged ...
8
votes
2
answers
136
views
When inserting authority keys, should I choose the controller derivation, the stash derivation, or just the vanilla secret?
Starting a PoS network, I realised that my local node requires keys to start producing blocks. Unlike in test networks where I could simply pass --alice and have the validator keys inserted into the ...
3
votes
1
answer
44
views
Is the genesis built on the MAC different from the genesis built on Linux
If you register parathread with genesis and WASM generated on the MAC, then run the blockchain on Linux. Will this future run blockchain and fail?
4
votes
1
answer
134
views
How can I configure genesis state for my pallet's tests without hardcoding it?
I've been writing tests for pallet-kitties and have configured the genesis state inside my mock runtime by setting the storage items for two kitties (one Male and one Female) and their owners (with ...
5
votes
2
answers
96
views
chain state after parachain slot renewal
from the cumulus tutorial:
... You cannot, at this time, connect a parachain with any previous state to a relay chain. All parachains must start from block 0 on the relay chain...
If that is the ...
6
votes
2
answers
363
views
How to overwrite endowed account balances using additional accounts and balances from a JSON file for genesis block inclusion?
My goal is to allocate a balance in the genesis block to both:
A list of endowed accounts already included in the chain specification
chain_spec.rs
A list of further accounts and balances included in ...
2
votes
1
answer
122
views
How to do re-genesis in a running Substrate chain?
I need to store the chain state after some interval and start it with new genesis. How I can do that? Please read this issue for reference.
Also, is there any other way to achieve this except re-...