Oracle Blockchain Platformの既知の問題
Oracle Blockchain Platformを使用する際に発生する可能性のある問題とその回避方法について学習します。
トピック:
- サポートされるHyperledger Fabricのバージョン
- サポートされるブラウザ
- パッチ適用後にブロック検証が失敗する場合がある
- ZooKeeperタイムアウトのためにパッチ適用が失敗する場合がある
- リッチ履歴が新しいピアに対して自動的に機能しない
- REST APIコールから不正確なエラー・メッセージが返される
- コンソールにピア管理について無効なオプションが表示される
- ネットワークのOracle Blockchain Platformインスタンスで失効した証明書を管理できない
- ImplicitMetaポリシーがOracle Blockchain Platformでサポートされない
- チャネル作成者がチャネルの構成を更新できない
- ピアおよびクライアントのロールがOracle Blockchain Platformでサポートされない
- instantiateChaincodeエンドポイントでのblocktoliveの0 (ゼロ)設定がREST APIでサポートされない
- ピアが別のピアからプライベート・データをプルできない
- チャネル作成者の組織およびチャネル・ポリシー設定が矛盾する
- エクスポートおよびインポートされたファイルに互換性がない
- チェーンコード名の要件
- 日時ピッカーの動作
- チェーンコードとともにshimを手動でベンダリング
サポートされるHyperledger Fabricのバージョン
Oracle Blockchain Platform 19.3.5では、Hyperledger Fabric 1.4.1がサポートされます。
サポートされるブラウザ
コンソールが所定の動作をしない場合は、サポート対象のブラウザを使用していることを確認します。次の表に、Oracle Blockchain PlatformでサポートされるWebブラウザを示します。
オペレーティング・システム | サポートされるブラウザ | 32ビット/64ビット | バージョン |
---|---|---|---|
Windows 7 - 64ビット - SP1 | Firefox Quantum ESR | 32 | 60.2.2esr |
Windows 7 - 64ビット - SP1 | Chrome | 64 | 72.0.3626.121 (公式ビルド) |
Windows 10 Professional - 64ビット - バージョン1803 | Firefox Quantum ESR | 32 | 60.5.0esr |
Mac OS 10.12.6 - 64ビット - 16G29 | Safari | 64 | 12.0.3 (12606.4.5.3.1) |
Mac OS 10.12.6 - 64ビット - 16G29 | Chrome | 64 | 72.0.3626.121 (公式ビルド) |
Mac OS 10.13.4 - 64ビット - 17E199 | Chrome | 64 | 72.0.3626.121 (公式ビルド) |
Mac OS 10.13.4 - 64ビット - 17E199 | Firefox Quantum ESR | 64 | 60.5.2esr |
Mac OS 10.13.4 - 64ビット - 17E199 | Safari | 64 | 11.1 (13605.1.33.1.2) |
Mac OS 10.13.6 - 64ビット - 17G5019 | Chrome | 64 | 72.0.3626.121 (公式ビルド) |
Mac OS 10.13.6 - 64ビット - 17G5019 | Safari | 64 | 12.0.3 (13606.4.5.3.1) |
パッチ適用後にブロック検証が失敗する場合がある
ERROR: The versions of the multiple hosts are not consistent. All hosts of an instance must have the same version.
これは、インスタンスを再起動することで解決できます。
ZooKeeperタイムアウトのためにパッチ適用が失敗する場合がある
patch [zookeeper] nodes failed with StatusCode=500 Internal Server Error,
Body:\n==========================================\nscript zktest timed out,
これは、パッチ適用プロセスが正常に完了する時間内にZooKeeperクラスタが作成されなかったことを意味します。これは、パッチ適用プロセスを再度実行することで解決できます。
リッチ履歴が新しいピアに対して自動的に機能しない
リッチ履歴データベースの構成後、ピアをスケール・アウトしてから、この新しいピアのみを含むチャネルを作成してからリッチ履歴の有効化をクリックすると、リッチ履歴データベースが正常に設定されなかったことを示すエラーが表示されます。このチャネルでインスタンス化またはチェーンコードを呼び出すと、この時点でリッチ履歴データベースは生成されません。
ピアのスケール・アウト後にリッチ履歴データベースを有効にするには、新しいピアの作成後、チャネル・ページに移動して、リッチ履歴データベースを再度構成します。
REST APIコールから不正確なエラー・メッセージが返される
Unauthorized
の401
コードが返されます。そうではなく、次のようなエラーが表示されることがあります:Could not get any response
There was an error connecting to servername.
または HTTP/1.1 302 Moved Temporarily
修正可能な潜在的な原因がいくつか考えられます:- 自己署名SSL証明書がブロックされています。
これを修正するには、「設定」→「一般設定」でSSL証明書の検証の選択を解除します。
- プロキシが正しく構成されていません。
「設定」→「プロキシ」でプロキシが正しく構成されていることを確認します。
- リクエストがタイムアウトしました。
「設定」→「一般設定」でリクエストのタイムアウトを変更します。
コンソールにピア管理について無効なオプションが表示される
- プロセスの実行中にピアを起動または停止して処理メニューを開くと、ピアの削除オプションが表示されることがあります。
- プロセスの実行中にピアを起動または停止して処理メニューを開くと、「構成の編集」オプションが表示されることがあります。
ネットワークのOracle Blockchain Platformインスタンスで失効した証明書を管理できない
Oracle Blockchain PlatformネットワークにHyperledger Fabricの組織が含まれており、それらの証明書が失効している場合、失効した証明書は適用されず、表示されず、ネットワークのOracle Blockchain Platformインスタンスから取り消すことができません。
回避策: ネイティブのHyperledger Fabric CLIまたはSDKを使用して、組織の証明書失効リスト(CRL)ファイルをインポートします。
ImplicitMetaポリシーがOracle Blockchain Platformでサポートされない
ネイティブのHyperledger Fabric CLIまたはSDKを使用してチャネルの構成を変更する場合、指定した構成設定の一部がOracle Blockchain Platformでサポートできません。
-
ネイティブのHyperledger Fabric CLIおよびSDKでは、リーダーおよびライターにImplicitMetaチャネル・ポリシーを使用します。チャネルでこれらのポリシーを使用すると、Oracle Blockchain Platformコンソールでは、管理操作(組織の編集など)が正常に処理されることを保証できません。
回避策: リーダーおよびライターのポリシーを署名ポリシーに更新し、必要に応じてポリシー・ルールを定義します。https://hyperledger-fabric.readthedocs.io/en/release-1.4/access_control.htmlを参照してください
-
チャネルがImplicitMetaポリシー・タイプを使用していて、チャネル構成でグループ・セクションのmod_policyをAdminsに変更した場合にチャネルに複数の組織が存在すると、Oracle Blockchain Platformを使用してチャネルを管理できません。たとえば、新しい組織をチャネルに追加したり、チャネルのACLポリシーを変更(元の値を復元するなど)できません。
回避策: ネイティブのHyperledger Fabric CLIまたはSDKを使用してチャネルを管理します。
チャネル作成者がチャネルの構成を更新できない
ネイティブのHyperledger Fabric CLIまたはSDKを使用してチャネルを作成すると、作成者ポリシーがconfigtx.yamlファイルに組み込まれません。Oracle Blockchain Platformでは、チャネル作成者がチャネルの構成を編集できるようにするために作成者ポリシーが必要です。
回避策: configtx.yamlファイルを手動で編集して、作成者ポリシーを追加します。
ピアおよびクライアントのロールがOracle Blockchain Platformでサポートされない
ネイティブのHyperledger Fabric CLIまたはSDKを使用するブロックチェーン・アプリケーションでは、ピアおよびクライアントのロールを使用できます。これらのロールは、アプリケーションのx509証明書の組織単位(OU)に追加できます。ただし、Oracle Blockchain Platformではこれらのロールはサポートされません。
回避策: ピアまたはクライアントのロールをメンバーに変更します。また、ピアまたはクライアントのロールで証明書に署名していないことと、ネイティブのHyperledger Fabric SDKを使用してピアまたはクライアントのロールに基づきエンドースメント・ポリシーを設定していないことを確認してください。
instantiateChaincodeエンドポイントでのblocktoliveの0 (ゼロ)設定がREST APIでサポートされない
REST APIのinstantiateChaincode
エンドポイントを使用し、dataCollectionConfig
でblocktolive
を0 (ゼロ)に設定すると、エラー: {"respMesg":"invalid argument"}
が表示されます。
プライベート・データベースからデータがパージされないようにするには、Hyperledger Fabricではblocktolive
を0 (ゼロ)に設定する必要があります。ただし、Oracle Blockchain Platform REST APIでは、この構成を0 (ゼロ)に設定することがサポートされません。
回避策: コンソールを使用してチェーンコードをインスタンス化し、チェーンコードのインスタンス化ダイアログのプライベート・データ・コレクション・セクションで、blocktoliveフィールドを0 (ゼロ)に設定します。
ピアが別のピアからプライベート・データをプルできない
プライベート・データ・コレクションのblocktolive
値が10未満で、maxPeerCountがピアの総数(エンドース・ピアを含まない)を下回る場合、ピアは別のピアからプライベート・データをプルできません。この値は、コンソールを使用してプライベート・データ・コレクション定義を作成するか、ネイティブのHyperledger Fabric CLIまたはSDKを使用すると設定されます。https://jira.hyperledger.org/browse/FAB-11889を参照してください。
回避策: blocktolive
値が10以上に設定されていることを確認します。あるいは、maxPeerCount
がピアの総数(エンドース・ピアを含まない)以上に設定されていることを確認します。必要な場合は、チェーンコードを再インスタンス化またはアップグレードしてこれらの値をリセットできます。
チャネル作成者の組織およびチャネル・ポリシー設定が矛盾する
コンソールを使用して、チャネルを作成したり、組織のACLをReaderOnlyに設定できます。新しいチャネルを保存した後に、このACL設定をチャネルのチャネル組織の編集オプションから更新することはできません。
ただし、コンソールのチャネル・ポリシーの管理オプションを使用して組織をライター・ポリシーに追加することが可能で、これにより、チャネルのReaderOnly ACL設定が上書きされます。
回避策: この問題の回避策はありません。
エクスポートおよびインポートされたファイルに互換性がない
コンソールとREST APIの間で、ファイル(CRL、証明書、オーダリング・サービス設定およびピア)はエクスポートおよびインポートできません。
コンソールおよびREST APIによってエクスポートされたファイルは、同じコンポーネントを使用したインポートに対してのみ互換性があります。たとえば、コンソールを使用してピアをエクスポートした場合、REST APIでインポートすることはできません(コンソールでのみインポートできます)。また、REST APIを使用してピアをエクスポートした場合、コンソールでインポートすることはできません(REST APIでのみインポートできます)。
回避策: この問題の回避策はありません。
チェーンコード名の要件
Oracle Blockchain Platformのチェーンコード名およびバージョンの要件は、Hyperledger Fabricの要件とは異なります。コンソールまたはHyperledger Fabricクライアントからチェーンコードをデプロイする場合は、Oracle Blockchain Platformの要件を使用する必要があります。Hyperledger Fabricクライアントからのデプロイ時にこれらの要件に従わない場合、チェーンコードがコンソールに正しく表示されないことがあります。
回避策: チェーンコード名およびバージョンをデプロイする際には、次のルールを使用します。
- ASCII英数字、引用符('')、ダッシュ(-)およびアンダースコア(_)を使用します。
- 名前の先頭および末尾には、ASCII英数字のみを使用する必要があります。たとえば、_mychaincodeやmychaincode_のような名前は使用できません。
- ダッシュ(-)およびアンダースコア(_)の後には、ASCII英数字を続ける必要があります。たとえば、my--chaincodeやmy-_chaincodeのような名前は使用できません。
- 名前の長さは1から64文字までにする必要があります。
- チェーンコード・バージョンには、ピリオド(.)を含めることができます。
日時ピッカーの動作
Oracle Blockchain Platformの日時ピッカーは所定の動作をしません。日時ピッカーは、ログ・ファイルや台帳のアクティビティなどの項目をフィルタ処理するために使用します。
回避策: 次の情報を使用して、日時間ピッカーを使用できるようにします。
- 特定の期間(「過去1日」など)を選択してから、それを再度選択して問合せを再実行すると、問合せは再実行されません。最新情報を取得するには、リフレッシュ・ボタンをクリックします。
- コンピュータでタイムゾーンを設定していない場合は、「カスタム」オプションを選択するときに、開始時間および終了時間をGMTで指定する必要があります。ただし、「プリファレンス」で「タイムゾーン設定」を「GMT」に設定(コンソールでインスタンス名を選択してから、「プリファレンス」、「タイムゾーン設定」の順にクリック)すると、コンソールのタイムゾーンは自動的にGMTに変換されます。
チェーンコードとともにshimを手動でベンダリング
Hyperledger Fabricでは、fabric-ccenvイメージにgithub.com/hyperledger/fabric/core/chaincode/shim
(shim)パッケージが含まれています。そのため、shimを含めずにチェーンコードをパッケージ化できます。ただし、これが原因で今後のHyperledger Fabricリリースで問題が発生する可能性があり、shimが含まれているパッケージを使用すると問題が発生することがあります。
回避策: 潜在的な問題を回避するには、チェーンコードのパッケージ化およびインストールにpeer
コマンドライン・インタフェースを使用する前に、またはチェーンコードをパッケージ化およびインストールする前に、shimパッケージをチェーンコードとともに手動でベンダリングする必要があります。https://jira.hyperledger.org/browse/FAB-5177を参照してください。
ドキュメントのアクセシビリティについて
Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWeb サイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。
Oracleサポートへのアクセス
サポート契約がある場合には、My Oracle Supportを通して電子支援をご利用いただけます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。
Oracle Database Oracle Blockchain Platformの既知の問題, リリース19.3.5
F22463-04
2021年1月
Copyright © 2019, 2021, Oracle and/or its affiliates.
原本著者: Kate Price
このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。
ここに記載された情報は予告なしに変更される場合がありますまた、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。
このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。
米国政府機関エンド・ユーザー: オラクル社のプログラム(オペレーティング・システム、統合ソフトウェア、提供されたハードウェアに対して組み込まれたか、インストールされたか、アクティブ化されたプログラム、およびそのようなプログラムの変更版など)、およびオラクル社によるコンピュータ・ドキュメント、または米国政府機関エンド・ユーザーに提供されたかそれらがアクセスしたその他のOracleデータは、適用可能な連邦政府調達規則および政府機関固有の補足規則に準拠した「商用コンピュータ・ソフトウェア」または「商用コンピュータ・ソフトウェア・ドキュメント」です。そのようなものとして、i)オラクル社のプログラム(オペレーティング・システム、統合ソフトウェア、提供されたハードウェアに対して組み込まれたか、インストールされたか、アクティブ化されたプログラム、およびそのようなプログラムの変更版など)、ii)オラクル社によるコンピュータ・ドキュメントまたはiii)その他のOracleデータ(またはそれらすべて)の使用、模造、複製、リリース、表示、開示、変更、派生物の準備、または改作(またはそれらすべて)は、適用可能な契約に含まれているライセンスで指定された、権利および制限の対象となります。Oracleクラウド・サービスを米国政府機関がどのように使用するかに影響する条件は、当該サービスについての適用可能な契約によって定められます。No other rights are granted to the U.S. Government.
このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。
OracleおよびJavaはOracle およびその関連企業の登録商標です。その他の名称は、それぞれの所有者の登録商標です。
Intel、Intel Insideは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Epyc、AMDロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXはThe Open Groupの登録商標です。
このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。