UnimplementedFeatureError: tableaux dynamiques imbriqués non implémentés ici – octets []

angelmaria

UnimplementedFeatureError: tableaux dynamiques imbriqués non implémentés ici – octets []


J’ai créé un fichier de solidité qui stocke tous les détails dans la blockchain (application ganachi-desktop). Les détails ont été mappés avec ‘ id ‘ qui est un numéro alphanumérique (par exemple: US644563496). Maintenant, je dois afficher tous les ‘ID’ de la blockchain. Mais pendant la compilation, j’obtiens l’ erreur « UnimplementedFeatureError: tableaux dynamiques imbriqués non implémentés ici ».

 pragma solidity ^ 0.4 . 4 ; contract Register { 

  struct   Details { bytes id ; 
     string  name ; 
     string  age ; 
    string  country ; 
  } mapping ( bytes =>   Details )   DetailsTable ; bytes []  uid ; 

  function  saveBondToBC ( bytes id , string  name , string  age , string  country )  payable returns ( bool  success ){ 

 DetailsTable [ id ]. id =  id ; 
 DetailsTable [ id ]. name =  name ; 
 DetailsTable [ id ]. age =  age ; 
 DetailsTable [ id ]. country =  country ; 
 return   true ; 

 } 


 function  insertID ( bytes id )  payable returns ( bool  success ){ uid . push ( id ); 
 return   true ; 

 } 

 function  getAllID ()   public  returns ( bytes []){ 

     return  uid ; 

 } 

 } 

Lorsque j’ai supprimé la fonction getAllID () , elle a été compilée et «id» a été inséré dans le tableau. Comment récupérer toutes les données de l’octet [] uid?

Réponses


 joffi

UnimplementedFeatureError: tableaux dynamiques imbriqués non implémentés ici

Cette erreur vous indique que Solidity ne peut pas gérer les tableaux 2D dynamiques. La fonctionnalité n’a pas encore été implémentée.

Les détails ont été mappés avec ‘id’ qui est un numéro alphanumérique (par exemple: US644563496)

Si vous savez déjà combien de caractères vos identifiants auront ou quelle sera leur longueur maximale, vous pouvez définir la longueur de l’objet octets. Voir aussi la documentation .

Une solution de contournement pour vous pourrait donc être de simplement remplacer les bytes par bytes32 par exemple. Lorsque je teste cela dans Remix, cela ne génère pas d’erreur.

J’espère que ça aide.

angelmaria

Merci, quand j’ai changé le type de données en bytes32..It a fonctionné!

 

-, [], dynamiques, ici?, imbriqués?, implémentés, non, octets, tableaux, UnimplementedFeatureError:

 

yahoo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *