Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Generation of genesis data for testing or development.
This includes the genesis block and all required private keys (root keys, keys for the initial UTxO etc).
This can never be used for a production system since all stake holder keys must be generated by each stake holder privately, whereas for testing it is fine to generate all the keys in one place.
Synopsis
- data GeneratedSecrets = GeneratedSecrets {}
- gsSigningKeys ∷ GeneratedSecrets → [SigningKey]
- gsSigningKeysPoor ∷ GeneratedSecrets → [SigningKey]
- newtype PoorSecret = PoorSecret {}
- generateGenesisData ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (GenesisData, GeneratedSecrets)
- generateGenesisDataWithEntropy ∷ MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (GenesisData, GeneratedSecrets)
- generateGenesisConfig ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (Config, GeneratedSecrets)
- generateGenesisConfigWithEntropy ∷ MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (Config, GeneratedSecrets)
- data GenesisDataGenerationError
Documentation
data GeneratedSecrets Source #
Valuable secrets which can unlock genesis data.
GeneratedSecrets | |
|
Instances
Generic GeneratedSecrets Source # | |
Defined in Cardano.Chain.Genesis.Generate | |
NoThunks GeneratedSecrets Source # | |
Defined in Cardano.Chain.Genesis.Generate | |
type Rep GeneratedSecrets Source # | |
Defined in Cardano.Chain.Genesis.Generate type Rep GeneratedSecrets = D1 ('MetaData "GeneratedSecrets" "Cardano.Chain.Genesis.Generate" "cardano-ledger-byron-1.0.1.0-inplace" 'False) (C1 ('MetaCons "GeneratedSecrets" 'PrefixI 'True) ((S1 ('MetaSel ('Just "gsDlgIssuersSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [SigningKey]) :*: S1 ('MetaSel ('Just "gsRichSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [SigningKey])) :*: (S1 ('MetaSel ('Just "gsPoorSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [PoorSecret]) :*: S1 ('MetaSel ('Just "gsFakeAvvmSecrets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [RedeemSigningKey])))) |
newtype PoorSecret Source #
Poor node secret
Instances
Generic PoorSecret Source # | |
Defined in Cardano.Chain.Genesis.Generate from ∷ PoorSecret → Rep PoorSecret x Source # to ∷ Rep PoorSecret x → PoorSecret Source # | |
NoThunks PoorSecret Source # | |
Defined in Cardano.Chain.Genesis.Generate | |
type Rep PoorSecret Source # | |
Defined in Cardano.Chain.Genesis.Generate type Rep PoorSecret = D1 ('MetaData "PoorSecret" "Cardano.Chain.Genesis.Generate" "cardano-ledger-byron-1.0.1.0-inplace" 'True) (C1 ('MetaCons "PoorSecret" 'PrefixI 'True) (S1 ('MetaSel ('Just "poorSecretToKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SigningKey))) |
generateGenesisData ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (GenesisData, GeneratedSecrets) Source #
Generate a genesis GenesisData
and GeneratedSecrets
from a
GenesisSpec
. This is used only for tests blockhains. For a real blockcain
you must use the external key generation tool so that each stakeholder can
generate their keys privately.
generateGenesisDataWithEntropy ∷ MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (GenesisData, GeneratedSecrets) Source #
A version of generateGenesisData
parametrised over MonadRandom
.
For testing purposes this allows using a completely pure deterministic
entropy source, rather than a cryptographically secure entropy source.
generateGenesisConfig ∷ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError IO (Config, GeneratedSecrets) Source #
Generate a genesis Config
from a GenesisSpec
. This is used only for
tests. For the real node we always generate an external JSON genesis file.
generateGenesisConfigWithEntropy ∷ MonadRandom m ⇒ UTCTime → GenesisSpec → ExceptT GenesisDataGenerationError m (Config, GeneratedSecrets) Source #
A version of generateGenesisConfig
parametrised over MonadRandom
.
For testing purposes this allows using a completely pure deterministic
entropy source, rather than a cryptographically secure entropy source.
data GenesisDataGenerationError Source #