Пользовательский валютный FungibleAsset в Corda 3.4 - PullRequest
0 голосов
/ 10 апреля 2019

Я реализую пользовательский FungibleAsset, похожий на валюту, в Corda 3.4, токен является простым перечислением. Я застрял с generateSpend(...) методом. В net.corda.finance.contracts.asset.Cash.generateSpend(...) fun использует AbstractCashSelection.unconsumedCashStatesForSpending(...) (в общем), который под капотом называет VaultService.softLockReserve(...).

Вопросы: 1. Я никогда не находил использование VaultService.softLockRelease(...) для потока кэша, блокировка снята неявно? 2. Должны ли мы внедрить AbstractCashSelection -подобный CustomTokenSelection и создать копию денежного потока? 3. Готово ли текущее производство денежных потоков?

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Пожалуйста, рассмотрите возможность использования / участия в новом Tokens SDK https://github.com/corda/token-sdk который заменит экспериментальный финансовый модуль (и его текущий кассовый контракт)

0 голосов
/ 27 апреля 2019

Я не возился с Token SDK, но из истории Corda это выглядит примерно так:

override val amount: Amount<Issued<Equity>>

В которой Equity будет выглядеть так:

    @CordaSerializable
data class Equity(
    val isin: String,
    val defaultFractionDigits: Int = 0
) : TokenizableAssetInfo {
    override val displayTokenSize: BigDecimal
        get() = BigDecimal.ONE.scaleByPowerOfTen(-defaultFractionDigits)

}

Опять же, некоторые из приведенного выше кода могут быть немного устаревшими, так как я не возился с token-sdk, а просто с полезной ссылкой на то, как Fungible-состояния используются с Amount, вероятно, аналогичная вещь происходит внутри SDK.

...