Expand description
Collection of all runtime features.
Steps to add a new feature are outlined below. Note that these steps only cover the process of getting a feature into the core Solana code.
- For features that are unambiguously good (ie bug fixes), these steps are sufficient.
- For features that should go up for community vote (ie fee structure changes), more information on the additional steps to follow can be found at: https://spl.solana.com/feature-proposal#feature-proposal-life-cycle
- Generate a new keypair with
solana-keygen new --outfile feature.json --no-passphrase
- Keypairs should be held by core contributors only. If you’re a non-core contributor going through these steps, the PR process will facilitate a keypair holder being picked. That person will generate the keypair, provide pubkey for PR, and ultimately enable the feature.
- Add a public module for the feature, specifying keypair pubkey as the id with
solana_sdk::declare_id!()
within the module. Additionally, add an entry toFEATURE_NAMES
map. - Add desired logic to check for and switch on feature availability.
For more information on how features are picked up, see comments for Feature
.
Modules§
Structs§
- Map of feature identifiers to user-visible description
- Set of feature pairs that once enabled will trigger full inflation
FeatureSet
holds the set of currently active/inactive runtime features- Unique identifier of the current software’s feature set