Fehlende Daten Hyperledger Fabric Chaincode

Sep 22 2020

Ich hoffe, es geht dir gut, ich bin neu im Hyperledger-Stoff und ich habe ein Problem, wenn einer von euch dieses Problem schon einmal hat. Ich habe mein Asset und die damit verbundenen Attribute im Kettencode in Go definiert und einige Funktionen für die Interaktion mit dem Asset entwickelt. Zuerst hat es gut funktioniert, aber in letzter Zeit habe ich dem Asset weitere Daten hinzugefügt, und diesmal, wenn ich die Couch öffne db und überprüfe die Daten Es fehlen einige Attribute. Ich kann den Smart-Vertrag fehlerfrei erstellen und sogar die Transaktion wird erfolgreich aufgerufen. Wenn ich jedoch überprüfe, kann ich nicht alle definierten Daten finden.

    //Item:  Define the Item structure, with 9 properties.
type Item struct {
    CurrentOwner    string          `json:"currentOwner"`
    Status          string          `json:"status"`
    Approvedorganic     string             `json:"approvedorganic"`
    ReceptionOlives receptionOlives `json:"receptionOlives"`
    ExtractionHuile extractionHuile `json:"extractionHuile"`
    ElaborationHuile   elaborationHuile   `json:"elaborationHuile"`
    ControleduStockage controleduStockage `json:"controleduStockage"`
    MiseEnBouteille miseEnBouteille `json:"miseEnBouteille"`
    LaboratoryTest  laboratorytest  `json:"laboratorytest"`
}
 
type receptionOlives struct {
    VarieteOlive                    string `json:"VarieteOlive"` //Tunisie Sicile ...
    quantity                        string `json:"quantity"`
    MaturiteOlives                  string `json:"MaturiteOlives"` //vert ou violet ou Noir
    daterecolte                     string `json:"daterecolte"`
    recoltemanuelleouclassique      string `json:"recoltemanuelleouclassique"`
    utilisationdesproduitsdabscission string `json:"utilisationdesproduitsdabscission"`
    dateLivraison                   string `json:"dateLivraison"`
    
}

Wenn ich dann die Daten auf der Couch eines Peers überprüfe, stelle ich fest, dass bei ReceiveOlives Attribute wie Quantität, Daterecolte Recoltmanuelleouclassique fehlen.

{
  "_id": "Item6",
  "_rev": "6-6dfafa223ebc54e4312a259ea0700934",
  "approvedorganic": "",
  "controleduStockage": {
    "CritereCertificatAlimentariteMaterielStockage": "",
    "CritereMaterielStockage": "",
    "CritereTemperatureStockage": "",
    "CritereTransvasementHuile": ""
  },
  "currentOwner": "Olive mill",
  "elaborationHuile": {
    "CritereSeparationliquideliquide": "",
    "CritereSeparationliquidesolide": ""
  },
  "extractionHuile": {
    "HeureReception": "",
    "HeureTrituration": "",
    "Quantiteeauutilise": "",
    "temperaturePateOlive": ""
  },
  "laboratorytest": {
    "physicochemicalresults": "",
    "tastingresults": ""
  },
  "miseEnBouteille": {
    "StockageMatierepremiere": "",
    "Stockagebouteillevide": "",
    "Temperaturehuile": ""
  },
  "receptionOlives": {
    "MaturiteOlives": "123456789",
    "VarieteOlive": "1234567"
  },
  "status": "Reception",
  "~version": "CgMBHQA="
}

Danke im Voraus.

Antworten

1 SandeshKumar Sep 23 2020 at 18:45

Sie haben nicht die Felder der exportierten receptionOlives Struktur. Bitte exportieren Sie das Feld, indem Sie den ersten Buchstaben des Feldes in Großbuchstaben ändern. oder ersetzen Sie den folgenden Code durch Ihre Struktur.

type receptionOlives struct {
    VarieteOlive                    string `json:"VarieteOlive"` //Tunisie Sicile ...
    Quantity                        string `json:"quantity"`
    MaturiteOlives                  string `json:"MaturiteOlives"` //vert ou violet ou Noir
    Daterecolte                     string `json:"daterecolte"`
    Recoltemanuelleouclassique      string `json:"recoltemanuelleouclassique"`
    Utilisationdesproduitsdabscission string `json:"utilisationdesproduitsdabscission"`
    DateLivraison                   string `json:"dateLivraison"`
    
}