Dados ausentes código do tecido do Hyperledger

Sep 22 2020

Eu espero que você esteja indo muito bem, eu sou novo no tecido de hyperledger e eu tenho um problema se algum de vocês teve esse problema antes. Eu defini meu ativo e os atributos relacionados a ele no chaincode em Go e desenvolvi algumas funções para interagir com o ativo, a princípio funcionou bem, mas ultimamente, adicionei mais dados ao Ativo e desta vez quando abro o sofá db e verifico os dados faltam alguns atributos, posso construir o contrato inteligente sem erros e até a transação é invocada com sucesso mas quando verifico não consigo encontrar todos os dados definidos.

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

então, quando eu verifico os dados no banco de dados de qualquer par, descubro que receptionOlives está faltando atributos como quantidade, daterecolte recoltmanuelleouclassique ... estes são os dados que encontro:

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

Agradeço antecipadamente.

Respostas

1 SandeshKumar Sep 23 2020 at 18:45

Você não exportou os campos da estrutura receptionOlives . Exporte seu campo alterando a primeira letra do campo em maiúsculas. ou substitua o código abaixo por sua estrutura.

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