Dati mancanti Chaincode del fabric Hyperledger

Sep 22 2020

Spero che tu stia andando alla grande, sono nuovo nell'hyperledger fabric e ho un problema se qualcuno di voi ha avuto questo problema prima. Ho definito il mio asset e gli attributi ad esso relativi nel chaincode in Go e ho sviluppato alcune funzioni per interagire con l'asset, all'inizio funzionava bene ma ultimamente ho aggiunto più dati all'Asset e questa volta quando apro il divano db e controlla i dati mancano alcuni attributi, posso costruire lo smart contract senza errori e anche la transazione viene invocata con successo ma quando controllo non riesco a trovare tutti i dati definiti.

    //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"`
    
}

poi quando controllo i dati su qualsiasi peer couch db scopro che a receptionOlives mancano attributi come quantity, daterecolte recoltmanuelleouclassique ... questi sono i dati che trovo:

{
  "_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="
}

Grazie in anticipo.

Risposte

1 SandeshKumar Sep 23 2020 at 18:45

Non hai esportato i campi della struttura receptionOlives . Si prega di esportare il suo campo cambiando la prima lettera del campo in maiuscolo. o sostituisci il codice sottostante con la tua struttura.

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"`
    
}