Я прохожу учебный курс Corda R3 и добиваюсь успехов, но когда меня просят создать платную переменную, инициализированную 0, ответ таков:
package net.corda.training.state
import net.corda.core.contracts.Amount
import net.corda.core.contracts.ContractState
import net.corda.core.identity.Party
import java.util.*
/**
* This is where you'll add the definition of your state object. Look at the unit tests in [IOUStateTests] for
* instructions on how to complete the [IOUState] class.
*
* Remove the "val data: String = "data" property before starting the [IOUState] tasks.
*/
data class IOUState(val amount: Amount<Currency>,
val lender: Party,
val borrower: Party,
val paid: Amount<Currency> = Amount(0, amount.token) ):
ContractState {
override val participants: List<Party> get() = listOf()
}
Теперь я понимаю, что нам нужноприведите значение к типу Amount, но почему сумма. токен?Я взял решение от:
https://github.com/corda/corda-training-solutions/blob/master/kotlin-source/src/main/kotlin/net/corda/training/state/IOUState.kt
Кроме того, задачей было определить его как фунты, но я не могу понять, как это сделать.
Я нахожуссылка на фунты в:
https://docs.corda.net/api/kotlin/corda/net.corda.finance/kotlin.-int/index.html
Я просто не понимаю, как бы я определил функцию.
У кого-нибудь есть какие-либо указатели или предложения для меня?Этот код компилируется и тесты проходят, но я хочу понять, почему ... Спасибо!