Problèmes connus pour Oracle Blockchain Platform sur Oracle Cloud Infrastructure (Gen 2)

Découvrez les problèmes que vous pouvez rencontrer lors de l'utilisation d'Oracle Blockchain Platform et comment les résoudre.

Problèmes signalés initialement dans les versions précédentes :

Versions d'Hyperledger Fabric prises en charge

Oracle Blockchain Platform 25.2.2 prend en charge Hyperledger Fabric v2.5.7. Tous les nouveaux utilisateurs utiliseront Hyperledger Fabric v2.5.7 par défaut.

Navigateurs pris en charge

Pour plus d'informations sur les navigateurs pris en charge à utiliser pour le provisionnement d'instance via Oracle Cloud Infrastructure, reportez-vous à Connexion à la console.

Si la console Oracle Blockchain Platform ne se comporte pas comme prévu, vérifiez que vous utilisez la dernière version d'un navigateur pris en charge. Oracle Blockchain Platform prend en charge les navigateurs suivants :

  • Mozilla Firefox
  • Google Chrome
  • Safari
  • Microsoft Edge / Internet Explorer

Interopérabilité des versions d'Hyperledger Fabric

Oracle Blockchain Platform ne prend pas en charge l'utilisation d'instances basées sur Hyperledger Fabric v1.4.7 et sur Hyperledger Fabric v2.x dans le même réseau de chaîne de blocs.

Solution : n'essayez pas d'exécuter différentes versions majeures d'Hyperledger Fabric sur le même réseau de chaîne de blocs.

Connexion impossible à l'application CBDC grossiste

Lorsque vous utilisez l'exemple d'application Oracle Visual Builder pour le scénario CBDC de gros, les utilisateurs ne peuvent pas se connecter à l'interface utilisateur si le même ID utilisateur est mis en correspondance avec plusieurs organisations.

Solution de contournement : utilisez des ID utilisateur uniques sur le réseau.

Indicateur de correspondance transitoire non défini dans les collectes Postman de l'API de wrapper

La collection Postman API wrapper générée par la version Visual Studio Code de Blockchain App Builder n'inclut pas l'indicateur transientMapArgs. Cet indicateur doit être défini sur true pour les codes chaîne en mode confidentiel, afin d'indiquer que les arguments de charge utile de demande seront transmis en toute sécurité via une correspondance non persistante.

Solution : définissez manuellement l'indicateur transientMapArgs sur True dans la collection Postman lors de l'utilisation du code chaîne en mode confidentiel.

Génération de charge utile de demande incorrecte pour les tableaux de nombres dans Postman Collections

La collection Postman générée par la version Visual Studio Code de Blockchain App Builder pour la norme étendue ERC-1155 ne gère pas correctement le paramètre de quantité dans les tableaux. Les nombres sont générés dans un format incorrect, comme indiqué dans l'exemple suivant.
[
  999
]
(Dans cet exemple, la sortie correcte est "[999]".)

Solution : mettez à jour manuellement la charge utile de la demande pour utiliser une représentation sous forme de chaîne de la baie.

Erreur de limite de compte lors de la mise à niveau des codes chaîne Go

Si vous mettez à niveau le code chaîne généré par une version précédente de Blockchain App Builder en langage Go à l'aide de la norme étendue Token Taxonomy Framework vers la version 25.2.2, l'erreur suivante peut se produire lorsque vous tentez de terminer une transaction :
account has exceeded the limit for maximum number of transfers -1
Cette erreur se produit également sur la version Go du code chaîne propre au modèle CBDC de gros. Cette erreur se produit car la version précédente de Blockchain App Builder a utilisé la valeur -1 pour ne représenter aucune limite de compte journalière, mais dans la version 25.2.2, il n'y a pas de valeur par défaut et l'absence de cette paire clé/valeur indique que le compte n'a pas de limite journalière.
Solution de contournement : utilisez les méthodes suivantes pour définir de nouvelles valeurs par défaut pour les limites de compte. Si vous ne transmettez aucune valeur pour les paramètres facultatifs max_daily_amount ou max_daily_transaction, les paires clé/valeur seront enlevées afin que le compte fonctionne correctement avec la version 25.2.2.
SetMaxDailyAmount(token_id string, org_id string, user_id string, max_daily_amount ...float64)
SetMaxDailyTransactionCount(token_id string, org_id string, user_id string, max_daily_transactions ...float64)

Erreur de jeton inattendue lors du débogage sur Microsoft Windows 11

Lorsque vous utilisez la fonction de débogage Blockchain App Builder dans Visual Studio Code exécuté sur Microsoft Windows 11, le message d'erreur suivant s'affiche :
Unexpected token ':"admin"' in expression or statement.
Lorsque cette erreur se produit, le déploiement et le débogage des codes chaîne échouent.

Solution : il n'existe aucune solution à ce problème.

Syntaxe Go requise pour Aucune limite de compte journalière

Dans le code chaîne généré par Blockchain App Builder qui utilise la norme étendue Token Taxonomy Framework et le langage de programmation Go, si vous ne voulez pas définir les limites de compte journalières lors de l'utilisation de la méthode CreateAccount, vous devez transmettre la valeur vide "" et non "{}" pour le paramètre daily_limits. Les paramètres corrects pour la version Go de la méthode CreateAccount ressemblent à l'exemple suivant :
["CentralBank","cb","fungible",""]
Cette version Go du code chaîne spécifique au modèle CBDC de gros a également cette exigence.

Erreurs de délai d'expiration de proxy REST lors de l'utilisation des collectes Postman

Pour les collectes Postman générées par Blockchain App Builder, qui exécutent des transactions à l'aide du proxy REST Oracle Blockchain Platform, la valeur de délai d'expiration par défaut est définie sur 6000, comme indiqué dans l'exemple suivant :
{
    "chaincode": "WholesaleCBDCConfidential",
    "args": [
        "getTokenAuditors"
    ],
    "timeout": 6000,
    "sync": true,
    "peer": "org-xyz-abc.blockchain.ocp.oraclecloud.com:20009",
    "transientMap": {
        "args": "[]"
    }
}'
Dans certains cas, le traitement du proxy REST peut expirer même si la transaction est en cours de traitement par Oracle Blockchain Platform, ce qui entraîne la réponse suivante :
{
    "returnCode": "Failure",
    "error": "failed to invoke chaincode: Client Status Code: (5) TIMEOUT. Description: request timed out or been cancelled",
    "result": null
}

Solution : augmentez la valeur du délai d'expiration en fonction de votre cas d'utilisation spécifique.

La liste des fonctions dans le code Visual Studio inclut deux méthodes incorrectes

Lorsque vous utilisez la fonctionnalité de paiements confidentiels avec la version Visual Studio Code de Blockchain App Builder, deux méthodes sont affichées dans la liste des fonctions du panneau Exécuter : executeHoldTokensSender et executeHoldTokensReceiver. Ces deux méthodes fonctionnent correctement uniquement lorsqu'elles sont utilisées avec l'API de validation en deux phases du proxy REST, que la version Visual Studio Code de Blockchain App Builder ne prend pas en charge. N'utilisez pas ces deux méthodes dans la version Visual Studio Code de Blockchain App Builder.

Problèmes signalés initialement dans les versions précédentes :

La CLI d'App Builder est désinstallée en cas d'échec de la vérification des prérequis

Lorsque vous mettez à niveau l'interface de ligne de commande (CLI) de Blockchain App Builder en installant ou en réinstallant la dernière version, si la vérification des prérequis échoue, l'interface de ligne de commande existante de Blockchain App Builder est désinstallée.

Solution de contournement : vous pouvez réinstaller l'ancienne version de l'interface de ligne de commande Blockchain App Builder ou mettre à jour votre système pour répondre aux prérequis, puis installer la nouvelle version de l'interface de ligne de commande Blockchain App Builder.

Aucune erreur lorsqu'une transaction NFT fractionnaire utilise un nombre incorrect de décimales

Lorsque vous utilisez Blockchain App Builder pour travailler avec des NFT fractionnaires qui utilisent la norme ERC-1155, si un montant de transaction utilise un plus grand nombre de décimales que le nombre maximum de décimales dans le fichier de spécification, aucune erreur n'est indiquée. Au lieu de cela, le montant réel de la transaction est tronqué au nombre de décimales défini dans le fichier de spécification. En outre, même si les soldes de l'expéditeur et du destinataire sont tronqués au nombre de chiffres spécifié, la valeur transactedAmount dans l'historique des transactions affiche la valeur non tronquée.

Solution : validez un montant de transaction avant de créer une transaction pour vous assurer que le montant de transaction n'utilise pas un plus grand nombre de décimales que ce qui a été spécifié dans le fichier de spécification d'entrée pour le code chaîne.

Accéder à la compatibilité des versions de code chaîne

Pour la version 23.3.3 d'Oracle Blockchain Platform, la version de Go utilisée a été mise à jour vers la version 1.20. Si vous tentez de déployer ou de mettre à niveau un code chaîne qui n'est pas compatible avec Go 1.20, le processus peut échouer. Avant de mettre à niveau ou de déployer un code chaîne écrit en Go, assurez-vous que le code chaîne peut être créé avec Go 1.20. Vous pouvez utiliser les commandes suivantes sur le contenu du dossier de code chaîne sur un système sur lequel Go 1.20 est installé pour vérifier les erreurs :
go mod tidy
go mod vendor

Les codes chaîne actuellement déployés ne sont pas affectés par ce comportement et continueront à fonctionner comme prévu après la mise à niveau vers Oracle Blockchain Platform 23.3.3.

Node.js Compatibilité des versions de code chaîne

Pour la version 23.3.3 d'Oracle Blockchain Platform, la version de Node.js utilisée a été mise à jour vers la version 18.15.0. Si vous tentez de déployer ou de mettre à niveau un code chaîne incompatible avec la version Node.js 18.15.0, le processus peut échouer. Avant de mettre à niveau ou de déployer un code chaîne écrit dans Node.js, assurez-vous qu'il peut être créé avec la version Node.js 18.15.0.

Les codes chaîne actuellement déployés ne sont pas affectés par ce comportement et continueront à fonctionner comme prévu après la mise à niveau vers Oracle Blockchain Platform 23.3.3.

Impossible d'exécuter l'exemple de jeton d'argent ou de transfert de solde Fiat à partir de la page Outils de développement

Une nouvelle version de l'exemple de jeton d'argent Fiat est incluse avec Oracle Blockchain Platform 22.4.2. Le code chaîne mis à jour a un ID de package différent de celui de la version précédente. Si vous avez déployé l'exemple Jeton d'argent Fiat, après la mise à niveau vers Oracle Blockchain Platform 22.4.2, l'exemple ne sera plus affiché comme déployé sur la page Outils de développement de la console et vous ne pourrez pas exécuter d'opérations à partir de la page Outils de développement pour l'exemple.

Le même comportement se produit avec l'exemple de transfert de solde, qui a été mis à jour pour Oracle Blockchain Platform 22.3.2 afin de fonctionner avec la fonction de transactions atomiques.

Solution de contournement : installez à nouveau l'exemple de code chaîne sur les pairs, ce qui installera la version plus récente du code chaîne avec le nouvel ID de package. Pour chaque canal sur lequel l'échantillon a été déployé, mettez à niveau le code chaîne vers le nouveau package. Une fois le code chaîne mis à niveau, le statut et les opérations de l'exemple sur la page Outils de développement fonctionnent normalement.

Erreur de déploiement Go lors de l'utilisation de Blockchain App Builder

Vous risquez de rencontrer une erreur semblable à la suivante lors du déploiement d'un projet de code chaîne Go à l'aide de Blockchain App Builder :
ERROR RunCommand: spawn modd ENOENT
ERROR RunCommand: Error in Chaincode deployment
[+] Running 3/3
  Container ca.example.com Stopped 0.4s
  Container orderer.example.com Stopped 0.6s
  Container peer0.org1.example.com Stopped 0.6s
ERROR RunCommand: Error in Chaincode deployment, process exit with code 1
Solution de contournement :
macOS
  1. Exécutez la commande suivante :
    env GO111MODULE=off go get ‘github.com/cortesi/modd/cmd/modd’
  2. Réessayez le déploiement.
Microsoft Windows
  1. Utilisez go install pour exécuter la commande suivante :
    go install github.com/cortesi/modd/cmd/modd@latest
  2. Utilisez go get pour exécuter les commandes suivantes :
    SET GO111MODULE=auto
    go get ‘github.com/cortesi/modd/cmd/modd’
  3. Réessayez le déploiement.

Echec de l'initialisation dans le code chaîne TypeScript généré par Blockchain App Builder

Si vous générez un code chaîne TypeScript avec Blockchain App Builder version 22.4.2 ou antérieure, des erreurs similaires au texte suivant peuvent s'afficher lorsque vous déployez ou exécutez le code chaîne localement ou à distance :
Environnement local :
INFO: Error in initalizing chaincode. Error :  failed to initialize chaincode Error: Failed to 
initialize the chaincode Error: endorsement failure during invoke. response: status:500 message:"error 
in simulation: failed to execute transaction 
e22ba18c00ecbd3135cdb509e08667cf6d5d9e79c4217b73492b5bb50836d58d: could not launch chaincode 
testagain:v0: error building chaincode: error building image: failed to get chaincode package for 
external build: could not get legacy chaincode package 'testagain:v0': open 
/var/hyperledger/production/chaincodes/testagain.v0: no such file or directory
Environnement distant :
INFO: 

============ Started Initializing Chaincode ============

ERROR: {
  "Error": "Chaincode Deployment failed. Error in initializing chaincode: Status Code: 400, 
Error Message: {\"returnCode\":\"Failure\",\"error\":\"failed to invoke chaincode: 
Transaction processing for endorser 
[jasfounderdec5-oabcs1-ams.blockchain.ocp.oraclecloud.com:20010]: Chaincode status Code: 
(500) UNKNOWN. Description: error in simulation: failed to execute transaction 
947bbaf2feccc39cdf53bd7a07cd17f15d682a5a4ee6e3c3e63dec6346b0394e: error sending: chaincode 
stream terminated\",\"result\":null}"
}

Solution : pour contourner ce comportement pour les codes chaîne existants, procédez comme suit sur la page de support :

Echec du déploiement du code chaîne TypeScript dans les environnements OBP local et distant

Pour éviter ce comportement dans les nouveaux codes chaîne, effectuez une mise à niveau vers Blockchain App Builder 22.4.3 ou version ultérieure. Vous pouvez télécharger Blockchain App Builder à partir de l'onglet Outils de développement du panneau Blockchain App Builder de la console Oracle Blockchain Platform.

Expiration de la passerelle lors de l'utilisation de la bibliothèque XA

Lorsque vous utilisez la bibliothèque XA Java avec Oracle Blockchain Platform, plusieurs transactions de chaîne de blocs peuvent être combinées en une transaction globale contrôlée par un gestionnaire de transactions externe. Si les transactions de chaîne de blocs prennent plus de temps que la valeur d'expiration de passerelle de 60 secondes, le statut de la transaction peut devenir non déterministe du côté du gestionnaire de transactions et du côté d'Oracle Blockchain Platform.

Solution : il n'existe aucune solution à ce problème. Dans ce cas, vous devez résoudre manuellement la transaction.

Impossible d'exécuter le code chaîne de jeton en mode débogage sur Microsoft Windows

Si vous utilisez Blockchain App Builder version 22.2.1 ou antérieure, vous ne pouvez pas exécuter de code chaîne de jeton en mode débogage sur Microsoft Windows.

Solution : mettez à niveau vers la dernière version de Blockchain App Builder. Si vous ne parvenez pas à effectuer la mise à niveau, procédez comme suit :

  1. Ouvrez le fichier chaincode/.vscode/task.json pour le modifier.
  2. La sixième ligne du fichier task.json inclut la clé command. Supprimez la chaîne suivante de la ligne :
    -p '${workspaceFolder}' 
Par exemple, la ligne du fichier task.json avant modification :
"command": "ochain debug -p '${workspaceFolder}' \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8",
Après:
"command": "ochain debug \"[{\\\"userId\\\":\\\"admin\\\",\\\"orgId\\\":\\\"Org1MSP\\\"}]\" -v v8",

Paramètres de service de commande non mis à jour après la mise à niveau de la plate-forme

Lorsque vous mettez à niveau une instance à partir d'Hyperledger Fabric v1.4.7 vers Hyperledger Fabric v2.2.4, vos paramètres de service de commande existants sont conservés. En d'autres termes, une instance mise à niveau utilise les paramètres de service de commande existants de l'instance Hyperledger Fabric v1.4.7, et non les paramètres par défaut d'une nouvelle instance Hyperledger Fabric v2.2.4. Le tableau suivant récapitule les valeurs des paramètres du service de commande. Pour plus d'informations sur le service de commande, voir Gérer le service de commande.

Paramétrage Valeurs par défaut pour les instances v1.4.7 et v2.2.4 mises à niveau Valeurs par défaut pour les nouvelles instances v2.2.4
Délai d'expiration du lot (ms) 2 000 2 000
Nombre maximal de messages 10 500
Octets de message absolus 98 98
Octets de message préférés 512 2
Taille de l'intervalle entre les clichés 20 16

L'attribut d'élection du responsable Gossip n'a pas été mis à jour après la mise à niveau de la plate-forme

Lorsque vous mettez à niveau une instance à partir d'Hyperledger Fabric v1.4.7 vers Hyperledger Fabric v2.2.4, l'attribut d'élection de leader de potins pour les noeuds homologues n'est pas mis à jour. En d'autres termes, une instance mise à niveau utilise l'attribut existant de l'instance Hyperledger Fabric v1.4.7, et non l'attribut par défaut d'une nouvelle instance Hyperledger Fabric v2.2.4. Pour plus d'informations sur les attributs de noeud homologue, reportez-vous à Attributs de noeud homologue.

Limites de taille d'événement

A partir de la version 22.2.1, la taille de charge utile maximale d'un événement est limitée par défaut à 50 ko. Tous les événements dont la taille dépasse la taille de charge utile maximale seront supprimés. L'équipe DevOps d'Oracle peut modifier ce paramètre sur demande. Si vous prévoyez de vous abonner à des événements dont la charge utile dépassera 50 ko, ouvrez une demande de service (SR) dans My Oracle Support pour demander une taille d'événement maximale plus importante. Pour plus d'informations, reportez-vous à Abonnement à un événement dans la documentation relative à l'API REST.

Les ID utilisateur contenant un point-virgule ( :) ne peuvent pas être utilisés dans les appels d'API REST

Oracle Blockchain Platform vous permet d'associer un ID utilisateur contenant le signe deux-points ( :) à une inscription de proxy REST. Toutefois, cet ID utilisateur ne peut pas être utilisé dans les appels d'API REST lorsque l'authentification de base (nom utilisateur et mot de passe) est utilisée.

Solution : assurez-vous que tous les utilisateurs associés aux inscriptions de proxy REST n'ont pas de deux-points ( :) dans leur ID utilisateur.

En-tête CORS non renvoyé pour les informations d'identification non valides

Les applications client qui appellent des transactions de proxy REST ne recevront pas l'en-tête CORS (Cross-Origin Resource Sharing) (l'en-tête CORS (Access-Control-Allow-Origin) dans la réponse si les informations d'identification qui ont été envoyées dans la demande sont incorrectes, incorrectes ou expirées.

Erreur de statut des donneurs d'ordre lors de la création de canaux

Lors de la création d'un canal, l'erreur suivante peut s'afficher :
Failed to create the channel with error: aborted
Please check the orderers status.

Solution : essayez de créer à nouveau le canal. Il s'agit d'un problème intermittent.

Débogage dans Visual Studio Code sous Microsoft Windows

Sous Microsoft Windows, vous risquez de rencontrer une erreur semblable à la suivante lors du débogage de projets de code chaîne dans Visual Studio Code :
dlv: failed to install dlv(github.com/go-delve/delve/cmd/dlv@latest): Error: Command failed:
C:\Program Files (x86)\Go\bin\go.exe get -x github.com/go-delve/delve/cmd/dlv@latest
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list
# get https://proxy.golang.org/github.com/@v/list
# get https://proxy.golang.org/github.com/go-delve/@v/list
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/@v/list
# get https://proxy.golang.org/github.com/go-delve/delve/@v/list
# get https://proxy.golang.org/github.com/@v/list: 410 Gone (0.420s)
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/@v/list: 410 Gone (1.040s)
# get https://proxy.golang.org/github.com/go-delve/@v/list: 410 Gone (1.062s)
# get https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list: 410 Gone (1.066s)
# get https://proxy.golang.org/github.com/go-delve/delve/@v/list: 200 OK (1.448s)
go: found github.com/go-delve/delve/cmd/dlv in github.com/go-delve/delve v1.8.3C:\Users\<UserName>\go\pkg\mod\github.com\go-delve\delve@v1.8.3\service\debugger\debugger.go:28:2:found packages native (proc.go) and 
your_operating_system_and_architecture_combination_is_not_supported_by_delve(support_sentinel.go) in C:\Users\Asus\go\pkg\mod\github.com\go-delve\delve@v1.8.3\pkg\proc\native
Il n'existe actuellement aucune solution à cette erreur.

Environnements multiorganisations et générateur d'applications Blockchain

Dans un environnement comportant plusieurs organisations, vous devrez peut-être utiliser la console pour effectuer certaines opérations.

Pour redéployer le code chaîne sur le même canal via une instance de participant, utilisez la console afin de déployer le code chaîne.

(Hyperledger Fabric v2.2.4) Pour mettre à niveau le code chaîne, utilisez la console et approuvez manuellement le code chaîne à partir des participants.

Le redimensionnement ne fonctionne que sur un seul composant à la fois

Vous ne pouvez redimensionner qu'un seul type de noeud à la fois. Par exemple, vous pouvez ajouter des noeuds homologues et modifier les paramètres de noeud homologue existants en même temps, mais si vous souhaitez également augmenter votre stockage, vous devez le faire séparément.

En outre, vous ne pouvez redimensionner qu'un seul homologue ou OSN à la fois. Par exemple, vous ne pouvez pas ajouter deux homologues en une seule opération.

Une horloge de système d'exploitation incorrecte peut entraîner des demandes rejetées

Si l'horloge locale du client ou du kit SDK est désactivée pendant plus de 15 minutes, les demandes en provenance de ce dernier seront rejetées par le pair et le donneur d'ordre. Assurez-vous que l'horloge locale est correctement configurée.

Les applications Blockchain ne fonctionnent pas comme prévu en raison d'un SDK client plus ancien

Une application peut se comporter de manière inattendue si elle utilise une ancienne version du SDK client.

Solution : consultez la documentation décrivant les mises à jour du SDK client et modifiez vos applications selon vos besoins. Pour plus d'informations, reportez-vous aux SDK Hyperledger Fabric dans la documentation Hyperledger Fabric.

Les instances Oracle Blockchain Platform du réseau ne peuvent pas gérer les certificats tiers révoqués

Si un réseau Oracle Blockchain Platform contient des organisations avec des certificats tiers ou des organisations Hyperledger Fabric et que leurs certificats sont révoqués, les certificats révoqués ne sont pas appliqués aux instances Oracle Blockchain Platform du réseau, ils ne s'affichent pas et ne peuvent pas être révoqués.

Solution : utilisez la CLI ou le SDK Hyperledger Fabric natif pour importer le fichier de liste des certificats révoqués de l'organisation.

La liste de canaux du fondateur contient des informations incorrectes créées par et l'option Modifier les organisations de canal n'est pas disponible

Dans un réseau mixte (où une instance de fondateur et une instance de participant exécutent différentes versions d'Oracle Blockchain Platform), la liste de canaux du fondateur peut afficher le mauvais ID MSP pour un canal créé par un participant. Au lieu de l'ID MSP du participant, l'ID MSP du fondateur est affiché. Cela peut se produire après l'importation de la liste des certificats révoqués, la révocation ou l'application de la liste, ou la définition d'un pair d'ancrage sur un canal.

L'option Modifier les organisations de canal du canal n'est disponible que pour l'instance affichée dans le champ Créé par. Si le mauvais ID MSP est affiché, le créateur du canal ne peut pas mettre à jour les organisations de canal.

Solution : il n'existe aucune solution à ce problème.

ImplicitMeta La stratégie n'est pas prise en charge par Oracle Blockchain Platform

Si vous utilisez la CLI ou le SDK Hyperledger Fabric natif pour modifier la configuration d'un canal, certains des paramètres de configuration que vous indiquez ne peuvent pas être pris en charge par Oracle Blockchain Platform.

  • L'interface de ligne de commande et le SDK Hyperledger Fabric natifs utilisent la stratégie de canal ImplicitMeta pour les lecteurs et les rédacteurs. Lorsque le canal utilise ces stratégies, la console Oracle Blockchain Platform ne peut pas garantir que les opérations d'administration (par exemple, modifier l'organisation) peuvent être traitées.

    Solution : mettez à jour les stratégies des lecteurs et des rédacteurs avec les stratégies de signature et définissez les règles de stratégie selon vos besoins. Pour plus d'informations, reportez-vous à la section Access Control Lists (ACL) dans la documentation Hyperledger Fabric.

  • Si un canal utilise le type de stratégie ImplicitMeta et que, dans la configuration de canal, vous modifiez mod_policy dans la section des groupes en Administrateurs et qu'il existe plusieurs organisations dans le canal, vous ne pouvez pas utiliser Oracle Blockchain Platform pour gérer le canal. Par exemple, vous ne pouvez pas ajouter de nouvelles organisations au canal ni modifier la stratégie de liste de contrôle d'accès du canal, y compris restaurer sa valeur d'origine.

    Solution de contournement : utilisez la CLI ou le SDK Hyperledger Fabric natif pour gérer le canal.

Le créateur du canal ne peut pas mettre à jour la configuration du canal

Lorsque vous utilisez la CLI ou le SDK Hyperledger Fabric natif pour créer un canal, la stratégie de créateur n'est pas incluse dans le fichier configtx.yaml. Oracle Blockchain Platform nécessite que la stratégie de créateur autorise le créateur de canal à modifier la configuration d'un canal.

Solution : modifiez manuellement le fichier configtx.yaml pour ajouter la stratégie Creator.

Définition de blocktolive sur 0 dans l'adresse instantiateChaincode non prise en charge dans l'API REST

Si vous utilisez l'adresse instantiateChaincode de l'API REST et que, dans dataCollectionConfig, vous définissez la valeur blocktolive sur 0, vous recevez l'erreur suivante : {"respMesg" :"argument non valide"}.

Pour empêcher la purge des données de la base de données privée, Hyperledger Fabric exige que vous définissiez la valeur blocktolive sur 0. Cependant, l'API REST Oracle Blockchain Platform ne prend pas en charge la définition de cette configuration sur 0.

Solution : utilisez la console pour instancier le code chaîne et, dans la section Collections de données privées de la boîte de dialogue Instancier le code chaîne, définissez le champ blocktolive sur 0.

Le pair ne parvient pas à extraire les données privées d'un autre pair

Un homologue peut ne pas extraire les données privées d'un autre homologue si la valeur blocktolive d'une collecte de données privée est inférieure à 10 et que sa valeur maxPeerCount est inférieure au nombre total d'homologues, sans inclure le homologue approbateur. Cette valeur est définie lorsque vous utilisez la console pour créer une définition de collecte de données privée ou pour utiliser la CLI ou le SDK Hyperledger Fabric natif.

Solution : confirmez que la valeur blocktolive est supérieure ou égale à 10. Vous pouvez également confirmer que la valeur maxPeerCount est définie sur au moins le nombre total d'homologues, sans inclure le pair approbateur. Si nécessaire, vous pouvez réinstancier ou mettre à niveau le code chaîne pour réinitialiser ces valeurs.

Incohérence des paramètres de stratégie de canal et d'organisation du créateur de canal

Vous pouvez utiliser la console pour créer un canal et définir la liste de contrôle d'accès de votre organisation sur ReaderOnly. Une fois le nouveau canal enregistré, vous ne pouvez pas mettre à jour ce paramètre de liste de contrôle d'accès à partir de l'option Modifier les organisations de canal du canal.

Toutefois, vous pouvez utiliser l'option Gérer les stratégies de canal de la console pour ajouter votre organisation à la stratégie Writers, qui remplace le paramètre de liste de contrôle d'accès ReaderOnly du canal.

Solution : il n'existe aucune solution à ce problème.

Incompatibilité du traitement Fichier exporté et importé

Vous ne pouvez pas exporter et importer des fichiers (LRC, certificats, paramètres de service de commande et homologues) entre la console et les API REST.

Les fichiers exportés par la console et les API REST sont uniquement compatibles pour l'import avec le même composant. Par exemple, si vous exportez un homologue à l'aide de la console, vous ne pouvez pas l'importer avec l'API REST (vous pouvez uniquement l'importer avec la console). De plus, si vous exportez un homologue avec l'API REST, vous ne pouvez pas l'importer avec la console (vous pouvez uniquement l'importer avec l'API REST).

Solution : il n'existe aucune solution à ce problème.

Exigences relatives aux noms de code chaîne

Les exigences relatives au nom et à la version du code chaîne Oracle Blockchain Platform sont différentes des exigences relatives à Hyperledger Fabric. Vous devez utiliser les exigences d'Oracle Blockchain Platform lorsque vous déployez un code chaîne à partir de la console ou du client Hyperledger Fabric. Si vous ne respectez pas ces exigences lors du déploiement à partir du client Hyperledger Fabric, le code chaîne peut être répertorié de manière incorrecte dans la console.

Solution : utilisez les règles suivantes lors du déploiement d'un nom et d'une version de code chaîne.

  • Utilisez des caractères alphanumériques ASCII, des tirets (-) et des traits de soulignement (_).
  • Le nom doit commencer et se terminer uniquement par des caractères alphanumériques ASCII. Par exemple, vous ne pouvez pas utiliser de noms tels que _mychaincode ou mychaincode_.
  • Les tirets (-) et les traits de soulignement (_) doivent être suivis de caractères alphanumériques ASCII. Par exemple, vous ne pouvez pas utiliser de noms tels que my--chaincode ou my-_chaincode.
  • Le nom et la version peuvent comporter chacun jusqu'à 64 caractères.
  • La version du code chaîne peut également contenir des points (.) et des signes plus (+).

Comportement du sélecteur de date et heure

Le sélecteur de date et d'heure Oracle Blockchain Platform ne se comporte pas comme prévu. Vous utilisez le sélecteur de date et d'heure pour filtrer les éléments tels que les fichiers journaux ou l'activité du livre.

Solution : utilisez les informations suivantes pour utiliser le sélecteur de date et d'heure.

  • Si vous sélectionnez une période spécifique (par exemple, Dernier jour), puis que vous la sélectionnez à nouveau pour réexécuter la requête, celle-ci ne sera pas réexécutée. Pour obtenir les dernières informations, cliquez sur le bouton Actualiser.
  • Si vous n'avez pas défini le fuseau horaire sur votre ordinateur, lorsque vous sélectionnez l'option Personnalisé, vous devez indiquer l'heure de début et l'heure de fin dans GMT. Toutefois, si vous définissez le paramètre de fuseau horaire sur GMT dans les préférences (dans la console, sélectionnez le nom de votre instance, puis cliquez sur Préférences, puis sur Paramètre de fuseau horaire), le fuseau horaire de la console est automatiquement converti en GMT.

Accessibilité de la documentation

Accès aux services de support Oracle