Corda:如何在Java中使用令牌SDK实用程序函数



我正在用Java编写的CorDapp中使用Corda Token SDK。我对某些实用程序函数有问题(例如"addMoveFungibleTokens"(。

My worksflows build.gradle 具有以下依赖项:

cordaCompile "$tokens_release_group:tokens-contracts:$tokens_release_version"
cordaCompile "$tokens_release_group:tokens-workflows:$tokens_release_version"
cordaCompile "$tokens_release_group:tokens-money:$tokens_release_version"

这允许我成功地使用许多TokenSDK类,例如TokenType,IssueTokensFlow等。

但是,当我尝试以下导入时,IntelliJ 找不到该类:

import com.r3.corda.lib.tokens.workflows.flows.move.addMoveFungibleTokens;

查看外部包,我可以看到.class(MoveTokensUtilitiesKt.class(文件确实在JAR中,但与JAR中的其他类不同,这个类似乎只有编译版本而不是源版本。

我假设我需要向我的 build.gradle 添加一些东西才能让这个导入工作。

如果你从 Tokens SDK 中打开MoveTokensUtilities.kt文件(请注意,我使用了单词file,而不是class(,你会看到它是一个函数的集合,而不是一个类(Kotlin 允许这样做(。
为了在 Java 中使用它,您必须用kt作为后缀。
请参阅此处的示例(来自示例存储库(:

  1. 导入:https://github.com/corda/samples/blob/018502310b56bc1bb31440380af4b89e9bbd7ed8/dollartohousetoken-TokenSDK/workflows/src/main/java/net/corda/examples/dollartohousetoken/flows/HouseSaleInitiatorFlow.java#L7
  2. 使用以下函数之一:https://github.com/corda/samples/blob/018502310b56bc1bb31440380af4b89e9bbd7ed8/dollartohousetoken-TokenSDK/workflows/src/main/java/net/corda/examples/dollartohousetoken/flows/HouseSaleInitiatorFlow.java#L57

顺便说一句,这是一个很好的例子,说明你想要实现的目标(用Java编写(:https://github.com/corda/samples/tree/release-V4/dollartohousetoken-TokenSDK

最新更新