code: func (f *factory) Block(channelID string) *cb.Block {
  	payloadChannelHeader := utils.MakeChannelHeader(cb.HeaderType_CONFIG, msgVersion, channelID, epoch)
  	payloadSignatureHeader := utils.MakeSignatureHeader(nil, utils.CreateNonceOrPanic())
  	utils.SetTxID(payloadChannelHeader, payloadSignatureHeader)
  	payloadHeader := utils.MakePayloadHeader(payloadChannelHeader, payloadSignatureHeader)
  	payload := &cb.Payload{Header: payloadHeader, Data: utils.MarshalOrPanic(&cb.ConfigEnvelope{Config: &cb.Config{ChannelGroup: f.channelGroup}})}
  	envelope := &cb.Envelope{Payload: utils.MarshalOrPanic(payload), Signature: nil}
  
  	block := cb.NewBlock(0, nil)
  	block.Data = &cb.BlockData{Data: [][]byte{utils.MarshalOrPanic(envelope)}}
  	block.Header.DataHash = block.Data.Hash()
  	block.Metadata.Metadata[cb.BlockMetadataIndex_LAST_CONFIG] = utils.MarshalOrPanic(&cb.Metadata{
  		Value: utils.MarshalOrPanic(&cb.LastConfig{Index: 0}),
  	})
  	return block
  }
docs: // Block constructs and returns a genesis block for a given channel ID.