code: func CreateGetChaincodesProposal(chainID string, creator []byte) (*peer.Proposal, string, error) {
  	ccinp := &peer.ChaincodeInput{Args: [][]byte{[]byte("getchaincodes")}}
  	lsccSpec := &peer.ChaincodeInvocationSpec{
  		ChaincodeSpec: &peer.ChaincodeSpec{
  			Type:        peer.ChaincodeSpec_GOLANG,
  			ChaincodeId: &peer.ChaincodeID{Name: "lscc"},
  			Input:       ccinp,
  		},
  	}
  	return CreateProposalFromCIS(common.HeaderType_ENDORSER_TRANSACTION, chainID, lsccSpec, creator)
  }
docs: // CreateGetChaincodesProposal returns a GETCHAINCODES proposal given a
  // serialized identity