通过 Java 或 JavaScript 以外的语言使用 DAML Ledger API

2024-04-15

我想编写一个与 DAML 账本交互的应用程序,但从 SDK 0.11.3 开始,唯一记录的绑定是针对 Java 和 JavaScript 的。

有没有办法使用其他语言的 Ledger API?


The 账本API https://docs.daml.com/app-dev/ledger-api-introduction/index.html是一组通过以下方式公开的服务gRPC https://grpc.io/,它使用协议缓冲区 https://developers.google.com/protocol-buffers/作为自己的接口定义语言。

作为 SDK 一部分记录的绑定构建在 gRPC 生成的代码之上,以提供更多功能和更惯用的 API。

您仍然可以直接使用 gRPC 生成与 Ledger API 交互所需的代码。从 gRPC 1.15.1 开始,支持的语言(和/或平台)包括:

  • C++
  • Java
  • Python
  • Go
  • Ruby
  • C#
  • Node.js
  • 安卓Java
  • Objective-C
  • PHP
  • Dart

以下是所有语言创建示例项目的通用步骤。如果您已经有一个项目,并且想要添加绑定不可用的语言的绑定,请跳至步骤 4。

  1. 为您的项目创建一个新目录并cd into it

    mkdir daml-project && cd daml-project
    
  2. 为 DAML 模型创建一个目录并将模型放入其中。现在,一个空模型就可以了(您可以稍后放置您选择的模型)。

    mkdir daml && echo -e "daml 1.2\nmodule Empty where" > daml/Empty.daml
    
  3. 创建项目描述符(da.yaml文件)包含以下内容:

    project:
      sdk-version: 0.11.3
      name: daml-project
      source: daml/Empty.daml
    version: 2
    
  4. 运行以下命令将 Ledger API gRPC 服务定义添加到您的项目中:

    da add ledger-api-protos
    

此时目录protobuf应该已添加到您的项目中。您可以使用这些文件以 gRPC 支持的语言之一生成与 Ledger API 的绑定。

有关如何生成目标语言代码的过程由gRPC 官方文档 https://grpc.io/docs/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Java 或 JavaScript 以外的语言使用 DAML Ledger API 的相关文章

  • 将 Jersey 日志输出到文件?

    我们已将这些添加到 web xml 中
  • 如何在 Ruby 中计算字符串的宽度?

    String length只会告诉我字符串中有多少个字符 事实上 在Ruby 1 9之前 它只会告诉我有多少字节 这更没有什么用处 我真的很想知道一个字符串有多少 en 宽 例如 foo width gt 3 moo width gt 3
  • git 将上游设置为原点

    我一直在阅读和使用 git 但仍然对 起源 一词感到困惑 我有一个本地存储库 并在其上创建了一个新分支 这个新分支是我主人的副本 我的主控是原始主控的分叉 是其他人制作的另一个存储库 并且在某些提交方面领先于原始主控 而在其他方面则落后于原
  • 在 64 位计算机上使用 Redemption dll (Outlook)

    我在 32 位机器上安装了一个 exe 它循环访问登录的用户收件箱并且工作正常 注意我仍然没有让它为另一个用户工作 see here https stackoverflow com questions 589254 using redemp
  • 防止隐藏状态栏重新布局(伪造 SYSTEM_UI_FLAG_LAYOUT_STABLE)

    我正在开发具有列表视图和详细信息视图的应用程序 并且我从列表视图到详细视图进行动画处理 在执行此操作时 我想在某个阶段隐藏状态栏 最好仍然在后台显示列表视图 问题是使用隐藏状态栏 getWindow setFlags WindowManag
  • 如何使用 java.nio.ByteBuffer 从 C++ 返回到 Java

    这几乎是问题的重复如何使 Swig 正确包装在 C 中修改为 Java Something or other 的 char 缓冲区 https stackoverflow com questions 2740068 how can i ma
  • 更新的标题:为什么 ICommand.CanExecute 一直被调用,而不是像事件一样工作?

    我在 WPF 中采用 MVVM 模式并学习了使用Command 但在我的实现中 我分配来实现的代表CanExecute总是被调用 我的意思是 如果我在委托函数内放置一个断点 它表明该函数不断被调用 根据我的理解 也是一种自然的思维方式 但我
  • 如何使用 CSS 实现这种视觉效果

    我需要仅使用 css 和一个高度和宽度为 300px 的 div 创建上述视觉效果 我尝试了渐变但无法得到任何相同的东西 有人可以帮忙吗 渐变是一个好主意 您甚至可以添加内容 无论渐变的大小如何 只要将其大小设置为正方形即可 div bac
  • 使用带有几个字符串的 Ionic Storage 的 QuotaExceededError

    我在离子存储方面遇到了这个问题 这是完整的堆栈跟踪 core es5 js 1084 ERROR Error Uncaught in promise QuotaExceededError at c polyfills js 3 at c p
  • 如何使用词袋进行训练和预测?

    我有一个文件夹 里面有汽车各个角度的图像 我想使用词袋方法来训练系统识别汽车 训练完成后 我希望如果给出那辆车的图像 它应该能够识别它 我一直在尝试学习 opencv 中的 BOW 函数 以便完成这项工作 并且已经达到了我现在不知道该怎么做
  • vue.js 可以绑定内联样式吗?

    我很好奇 Vue js 中是否可以绑定内联样式 我熟悉类绑定 但是如果有时由于某种原因您想要内联绑定样式语句 是否可以像对待类一样绑定它 例如
  • 枚举和字典<枚举,操作>

    我希望我能以每个人都清楚的方式解释我的问题 我们需要您对此的建议 我们有一个枚举类型 它定义了超过 15 个常量 我们收到来自 Web 服务的报告 并将其一列转换为此枚举类型 根据我们从该网络服务收到的信息 我们使用以下命令运行特定功能 字
  • 有什么例子可以说明了解 C 语言可以让我用任何其他语言编写更好的代码?

    在 Stack Overflow 播客中 Joel Spolsky 不断地抱怨 Jeff Atwood 不知道如何用 C 语言编写代码 他的说法是 了解 C 可以帮助你编写更好的代码 他还总是使用某种涉及字符串操作的故事 以及了解 C 如何
  • Azure 数据工厂 v2:活动执行管道输出

    有没有办法在活动 执行管道 中引用已执行管道的输出 即 主管道按顺序执行2个管道 第一个管道生成一个自己创建的 run id 需要将其作为参数转发到第二个管道 我已阅读文档并检查主管道是否记录了第一个管道的输出 但看起来这不可能直接实现 到
  • 断言:exportArchive:“Test.app”需要配置文件

    当我尝试在 Xcode9 中使用 Xcode 服务器集成持续集成时 我可以成功创建 BOT 并尝试集成 然后我总是收到类似的错误 断言 exportArchive Test app 需要配置文件 如何解决这个问题 我遇到了同样的问题 并按照
  • torch.mm、torch.matmul 和 torch.mul 有什么区别?

    阅读完 pytorch 文档后 我仍然需要帮助来理解之间的区别torch mm torch matmul and torch mul 由于我不完全理解它们 所以我无法简明地解释这一点 B torch tensor 1 1207 0 3137
  • Java 中保存最后 N 个元素的大小受限队列

    关于 Java 库的一个非常简单快速的问题 是否有一个现成的类可以实现Queue具有固定的最大大小 即它始终允许添加元素 但它会默默地删除头元素以为新添加的元素提供空间 当然 手动实现它很简单 import java util Linked
  • 如何检测 highcharts 中的缩放事件?

    是否可以检测 Highcharts 中的缩放事件 我的用例是 我有一些图表外部的状态 当用户放大其中的一部分时 我想检测 x 轴上的新时间范围并更新相应的外部状态 你有没有尝试过高图表API http api highcharts com
  • 需要帮助解决 sorl-thumbnail 错误:“‘thumbnail’不是有效的标签库:”

    我一直在绞尽脑汁试图解决这个问题 我已经尝试了一切 但我没有任何想法 我不断看到这个错误 异常值 thumbnail 不是有效的标签库 无法从 django templatetags thumbnail 加载模板库 没有名为 sorl th

随机推荐