Corda 中的 Cash State 与 Fungible 代币

Cash State vs Fungible token in Corda

两者 Cash State and Fungible Token 都可以在 Corda 中用来表示货币。都可以发行,转移(移动)和赎回(退出)。

什么类型更适合用于表示分类账上的钱? 使用这两种类型有什么优缺点吗?

我们已经讨论过 (slack.corda.net) 这个问题,您已经找到的简短答案是,可替代代币是表示货币等可替代资产的更好工具。

我们在 youtube 上有一个关于令牌 SDK 的训练营:https://www.youtube.com/watch?v=IAViczRAEyU

以下是我们查看的一些关于 CorDapp 概念的文档,您会在其中看到令牌是推荐的方式:https://docs.corda.net/docs/corda-enterprise/4.7/cordapp-advanced-concepts.html#the-demo-finance-cordapp

您还可以在 GitHub 此处找到一些清晰的开发人员示例:https://github.com/corda/samples-java/tree/master/Tokens

大部分的困难在于修改你的状态,只是稍微改变你的流程来处理令牌:

            // Preparing the token type of the paying fiat currency
            Currency currency = Currency.getInstance(stockState.getCurrency());
            TokenType dividendTokenType = new TokenType(currency.getCurrencyCode(), currency.getDefaultFractionDigits());

            // Calculate the actual dividend paying to the shareholder
            BigDecimal yield = stockState.getDividend().multiply(BigDecimal.valueOf(claimNoticication.getAmount().getQuantity()));
            BigDecimal dividend = yield.multiply(stockState.getPrice()).multiply(BigDecimal.valueOf(Math.pow(10.0, currency.getDefaultFractionDigits())));

            // Create the dividend state
            Amount<TokenType> dividendAmount = new Amount(dividend.longValue(), dividendTokenType);

来源:https://github.com/corda/samples-java/blob/master/Tokens/stockpaydividend/workflows/src/main/java/net/corda/samples/stockpaydividend/flows/ClaimDividendReceivable.java#L127