func (kbs *kafkaBootstrapper) encodeKafkaBrokers() *cb.SignedConfigurationItem { configItemKey := sharedconfig.KafkaBrokersKey configItemValue := utils.MarshalOrPanic(&ab.KafkaBrokers{Brokers: kbs.kafkaBrokers}) modPolicy := configtx.DefaultModificationPolicyID configItemChainHeader := utils.MakeChainHeader(cb.HeaderType_CONFIGURATION_ITEM, msgVersion, kbs.chainID, epoch) configItem := utils.MakeConfigurationItem(configItemChainHeader, cb.ConfigurationItem_Orderer, lastModified, modPolicy, configItemKey, configItemValue) return &cb.SignedConfigurationItem{ConfigurationItem: utils.MarshalOrPanic(configItem), Signatures: nil} }
func (cbs *commonBootstrapper) encodeBatchSize() *cb.SignedConfigurationItem { configItemKey := sharedconfig.BatchSizeKey configItemValue := utils.MarshalOrPanic(&ab.BatchSize{Messages: cbs.batchSize}) modPolicy := configtx.DefaultModificationPolicyID configItemChainHeader := utils.MakeChainHeader(cb.HeaderType_CONFIGURATION_ITEM, msgVersion, cbs.chainID, epoch) configItem := utils.MakeConfigurationItem(configItemChainHeader, cb.ConfigurationItem_Orderer, lastModified, modPolicy, configItemKey, configItemValue) return &cb.SignedConfigurationItem{ConfigurationItem: utils.MarshalOrPanic(configItem), Signatures: nil} }
func (cbs *commonBootstrapper) encodeAcceptAllPolicy() *cb.SignedConfigurationItem { configItemKey := AcceptAllPolicyKey configItemValue := utils.MarshalOrPanic(utils.MakePolicyOrPanic(cauthdsl.AcceptAllPolicy)) modPolicy := configtx.DefaultModificationPolicyID configItemChainHeader := utils.MakeChainHeader(cb.HeaderType_CONFIGURATION_ITEM, msgVersion, cbs.chainID, epoch) configItem := utils.MakeConfigurationItem(configItemChainHeader, cb.ConfigurationItem_Policy, lastModified, modPolicy, configItemKey, configItemValue) return &cb.SignedConfigurationItem{ConfigurationItem: utils.MarshalOrPanic(configItem), Signatures: nil} }
func (cbs *commonBootstrapper) lockDefaultModificationPolicy() *cb.SignedConfigurationItem { // Lock down the default modification policy to prevent any further policy modifications configItemKey := configtx.DefaultModificationPolicyID configItemValue := utils.MarshalOrPanic(utils.MakePolicyOrPanic(cauthdsl.RejectAllPolicy)) modPolicy := configtx.DefaultModificationPolicyID configItemChainHeader := utils.MakeChainHeader(cb.HeaderType_CONFIGURATION_ITEM, msgVersion, cbs.chainID, epoch) configItem := utils.MakeConfigurationItem(configItemChainHeader, cb.ConfigurationItem_Policy, lastModified, modPolicy, configItemKey, configItemValue) return &cb.SignedConfigurationItem{ConfigurationItem: utils.MarshalOrPanic(configItem), Signatures: nil} }
func (cbs *commonBootstrapper) makeGenesisBlock(configEnvelope *cb.ConfigurationEnvelope) *cb.Block { configItemChainHeader := utils.MakeChainHeader(cb.HeaderType_CONFIGURATION_ITEM, msgVersion, cbs.chainID, epoch) payloadChainHeader := utils.MakeChainHeader(cb.HeaderType_CONFIGURATION_TRANSACTION, configItemChainHeader.Version, cbs.chainID, epoch) payloadSignatureHeader := utils.MakeSignatureHeader(nil, utils.CreateNonceOrPanic()) payloadHeader := utils.MakePayloadHeader(payloadChainHeader, payloadSignatureHeader) payload := &cb.Payload{Header: payloadHeader, Data: utils.MarshalOrPanic(configEnvelope)} envelope := &cb.Envelope{Payload: utils.MarshalOrPanic(payload), Signature: nil} blockData := &cb.BlockData{Data: [][]byte{utils.MarshalOrPanic(envelope)}} return &cb.Block{ Header: &cb.BlockHeader{ Number: 0, PreviousHash: nil, DataHash: blockData.Hash(), }, Data: blockData, Metadata: nil, } }