Corda - Как использовать функции Token SDK с Java - PullRequest
0 голосов
/ 08 февраля 2020

Я работаю с Corda Token SDK в CorDapp, написанном на Java. У меня проблемы с некоторыми из служебных функций (например, "addMoveFungibleTokens").

Мой рабочий процесс 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 и т. д. c ..

Однако IntelliJ не может найти класс при попытке выполнить следующий импорт:

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

Looking во внешних пакетах я вижу, что файл .class (MoveTokensUtilitiesKt.class) действительно находится в JAR, но, в отличие от других классов в JAR, этот, кажется, имеет только скомпилированную версию в отличие от исходной версии.

Я предполагаю, что мне нужно добавить что-то в свой build.gradle, чтобы этот импорт работал.

1 Ответ

1 голос
/ 08 февраля 2020

Если вы откроете файл MoveTokensUtilities.kt (обратите внимание, что я использовал слово file, а не class) из Tokens SDK, вы увидите, что это набор функций, а не класс (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

...