0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Migration Guide v0.25.0

Last updated at Posted at 2024-12-09

Previous << Flow Go SDK
Next >> Flow Dev Wallet

Go SDK バージョン 0.25.0 では、API とパッケージの命名に重大な変更が加えられました。新しい HTTP アクセスノード API の実装を利用可能にするために変更が必要でした。

すべての変更点を列挙し、マイグレーションの例を提示します。

  • パッケージの名称変更:client -> access: clientパッケージはaccessに名称変更されました。これにより、以前はgRPC実装のみを含んでいたgrpcパッケージと、新しいHTTP API実装を含んでいたhttpパッケージの両方が含まれます。
  • パッケージの削除:convert: convertパッケージは削除され、そのすべての関数はそれぞれ対応するgrpchttpパッケージに移動しました。また、そのメソッドはエクスポートされないように変更されたため、今後はパッケージ外で使用できなくなりました。
  • 新クライアント:新しいクライアントが追加され、それぞれがクライアントインターフェースの関数を実装し、それらを作成するためのファクトリーについても公開しました。
  • 新クライアントインターフェース: 新しいクライアントインターフェースが作成され、ネットワークに依存しないようになりました。つまり、gRPC固有のオプションを渡すために使用されていたAPIの追加オプションは公開されなくなりました。これらのオプションを渡すことは依然として可能ですが、以下の例で示されているように、ネットワーク固有のクライアントを使用する必要があります。このインターフェースでは、いくつかの関数も変更しました。
    • GetCollectionByID renamed to GetCollection
    • Close() error was added

Migration

Creating a Client

アクセスノードとの通信に使用するクライアントの作成方法は、HTTPとgRPCの通信プロトコルを自由に選択できるようになったため、変更されました。

Previous versions:

/* initialize a gRPC emulator client */
flowClient, err := client.New("127.0.0.1:3569", grpc.WithInsecure())

Version 0.25.0:

/* common client interface */
var flowClient access.Client

/* initialize an http emulator client */
flowClient, err := http.NewClient(http.EmulatorHost)

/* initialize a gPRC emulator client */
flowClient, err = grpc.NewClient(grpc.EmulatorHost)

Using the gRPC Client with Options

クライアントの使用方法はほとんどのケースで同じですが、gRPCクライアントに追加オプションを渡すという高度なケースでは、ベーシックのクライアントではもはや不可能です。高度な例で示されているように、ネットワーク固有のクライアントを使用する必要があります。

Previous versions:

/* initialize a gRPC emulator client */
flowClient, err := client.New("127.0.0.1:3569", grpc.WithInsecure())
latestBlock, err := flowClient.GetLatestBlock(ctx, true, MaxCallSendMsgSize(100))

Version 0.25.0:

/* initialize a grpc network specific client */
flowClient, err := NewBaseClient(
	grpc.EmulatorHost, 
	grpc.WithTransportCredentials(insecure.NewCredentials()),
)
latestBlock, err := flowClient.GetLatestBlock(ctx, true, MaxCallSendMsgSize(100))

Last updated on Nov 26, 2024 by Giovanni Sanchez

翻訳元


Previous << Flow Go SDK

Flow BlockchainのCadence version1.0ドキュメント (Migration Guide v0.25.0)

Next >> Flow Dev Wallet

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?