从 Java 或 JavaScript 以外的语言使用 DAML Ledger API
Using the DAML Ledger API from a language other than Java or JavaScript
我想编写一个与 DAML 分类帐交互的应用程序,但从 SDK 0.11.3 开始,唯一记录的绑定是 Java 和 JavaScript。
有没有办法使用其他语言的 Ledger API?
将Ledger API is a set of services exposed through gRPC, which uses Protocol Buffers作为自己的接口定义语言。
记录为 SDK 一部分的绑定建立在 gRPC 生成的代码之上,以提供更多功能和更惯用的 API。
您仍然可以直接使用 gRPC 来生成与 Ledger 交互所需的代码 API。从 gRPC 1.15.1 开始,支持的语言(and/or 平台)包括:
- C++
- Java
- Python
- 去
- Ruby
- C#
- Node.js
- Android Java
- Objective-C
- PHP
- 飞镖
以下是所有语言创建示例项目时通用的第一步。如果您已经有一个项目并且想要使用绑定不可用的语言添加绑定,请跳至步骤 4。
为您的项目创建一个新目录并将cd
放入其中
mkdir daml-project && cd daml-project
为您的 DAML 模型创建一个目录并将模型放入其中。现在一个空模型就可以了(你可以稍后放置一个你选择的模型)。
mkdir daml && echo -e "daml 1.2\nmodule Empty where" > daml/Empty.daml
创建一个包含以下内容的项目描述符(da.yaml
文件):
project:
sdk-version: 0.11.3
name: daml-project
source: daml/Empty.daml
version: 2
运行 以下命令将 Ledger API gRPC 服务定义添加到您的项目中:
da add ledger-api-protos
此时目录 protobuf
应该已经添加到您的项目中。您可以使用这些文件以 gRPC 支持的一种语言生成与 Ledger API 的绑定。
gRPC official documentation描述了如何为您的目标语言生成代码的过程。
我想编写一个与 DAML 分类帐交互的应用程序,但从 SDK 0.11.3 开始,唯一记录的绑定是 Java 和 JavaScript。
有没有办法使用其他语言的 Ledger API?
将Ledger API is a set of services exposed through gRPC, which uses Protocol Buffers作为自己的接口定义语言。
记录为 SDK 一部分的绑定建立在 gRPC 生成的代码之上,以提供更多功能和更惯用的 API。
您仍然可以直接使用 gRPC 来生成与 Ledger 交互所需的代码 API。从 gRPC 1.15.1 开始,支持的语言(and/or 平台)包括:
- C++
- Java
- Python
- 去
- Ruby
- C#
- Node.js
- Android Java
- Objective-C
- PHP
- 飞镖
以下是所有语言创建示例项目时通用的第一步。如果您已经有一个项目并且想要使用绑定不可用的语言添加绑定,请跳至步骤 4。
为您的项目创建一个新目录并将
cd
放入其中mkdir daml-project && cd daml-project
为您的 DAML 模型创建一个目录并将模型放入其中。现在一个空模型就可以了(你可以稍后放置一个你选择的模型)。
mkdir daml && echo -e "daml 1.2\nmodule Empty where" > daml/Empty.daml
创建一个包含以下内容的项目描述符(
da.yaml
文件):project: sdk-version: 0.11.3 name: daml-project source: daml/Empty.daml version: 2
运行 以下命令将 Ledger API gRPC 服务定义添加到您的项目中:
da add ledger-api-protos
此时目录 protobuf
应该已经添加到您的项目中。您可以使用这些文件以 gRPC 支持的一种语言生成与 Ledger API 的绑定。
gRPC official documentation描述了如何为您的目标语言生成代码的过程。