我有几个关于cordite dgl 令牌的问题。我想对表示为 LinearState 的资产进行标记。
- 有没有办法只允许一次发行代币?
- 是通过 TokenSymbol 将令牌链接到其他状态的首选方式吗?
- 账户的预期设计是什么?每个用例一个帐户还是每个 TokenType 一个帐户?
- 如何查询特定令牌是否已存在?是不是只能查询一个账户,看看结果(所以没有通过TokenSymbol搜索余额的功能)?
提前致谢!
我有几个关于cordite dgl 令牌的问题。我想对表示为 LinearState 的资产进行标记。
提前致谢!
好问题,谢谢!
现在不可能,但它肯定被认为是可取的。这将需要对核心进行更改,这很好。我认为这项工作需要 Corda 4,尤其是引用状态和线性状态指针类型才能工作。值得注意的是,我们需要:
一个。限制发行的方式有很多:不仅是最终数量,还包括分配率、签署方(在需要发行多个的情况下)等。我们需要将有限发行的概念插入到代币中的方法类型,可选。这将向现有 TokenType 添加其他字段。或者更好的是,打开 TokenType 以便可以扩展它。另一种方法是为将编码合同规则的基本类型或接口提供一个字段。
湾。我们可以将令牌类型作为附加的 StateAndRef 传输,但我们需要注意这样做的每个 tx 存储、网络、签名和验证成本。更好的方法是使用我们急切等待的 Corda 4 中的参考数据功能。
如果其他状态是发出令牌的同一事务的一部分,则链接是隐式的。如果另一个状态与令牌不在同一个事务中,那么现在在 Corda 3 中链接需要使用 TokenType 描述符。或者,它也可以在生成另一个状态的 tx 中引用 StateAndRef。我们认为最有效的是使用 Corda 4 的参考状态(我相信定于今年 12 月/1 月)
账户旨在存储多种代币类型的代币。它们确实与业务用例保持一致,并且不受特定令牌类型的限制,除非您想在应用程序层中实现这一点。
你的意思是你想在所有账户中获得一个 TokenType 的余额?您当然可以使用 Corda 的 API 来定位令牌 - 这还没有通过 Braid 公开,但肯定可以。另一种方法是使用相同的标签标记/别名您的所有帐户,例如,{ category:'all-accounts', value:''}
您可以执行 aledger.balanceForAccountTag({ category: 'all-accounts', value:''})
以获取所有帐户的余额。但是,这会返回所有 TokenTypes 的余额。理想的 API 对您来说是什么样的?