【问题标题】:How Do I Add Extra Info To A Corda Account?如何向 Corda 帐户添加额外信息?
【发布时间】:2020-07-07 04:08:17
【问题描述】:

我已将各方作为节点上的帐户来解决销售成本。

我可以从节点检索帐户列表,但我无法识别帐户类型,因为 AccountInfo 类中没有这样的字段。

例如,我需要确定哪些帐户是“供应商”,哪些是“分销商”。

由于我无法扩展帐户并添加“accountType”属性,唯一的选择似乎是创建一个额外的表,其中包含链接到帐户表的 UUID 的外键约束。

  1. 使用 Corda SDK 会是什么样子?
  2. 假设我有一个额外的表,如何确保在创建帐户时创建此数据?
  3. 当我与其他节点共享帐户时,如何确保复制这些数据?

【问题讨论】:

    标签: corda


    【解决方案1】:

    都是很好的问题,

    在我的头顶:

    1. 创建一个状态UserProfile,它具有:
      一个。 UUID
      湾。 issuer
      C。 accountType

    2. 它应该有 2 个命令:Create / Update。

    3. 合约应该检查(两个命令):
      一个。事务中应该有AccountInfo 类型的引用状态。
      湾。 UserProfile.UUID 必须匹配 AccountInfo.UUID。

      因此,上述 2 个条件确保您无法创建/更新 UserProfile,除非先创建相关的 AccountInfo。

    4. CreateUserProfile 流将:
      一个。致电CreateAccount 流程并获取UUID。
      湾。使用该帐户作为参考状态及其UUID 来构造和创建相关的UserProfile。
      C。显然,如果您需要上述 2 个动作是原子的,则不能使用帐户库就绪流程,您必须查看 CreateAccount 流程的作用(即创建输出 AccountInfo,生成 UUID 之间的映射以及帐户的公钥等...)并在您的流程中执行。

    5. 共享UserProfile 时也是如此,您必须调用共享帐户及其密钥的帐户库子流程,然后添加共享UserProfile 状态的代码。

    6. 这样你可以添加任何你想要的字段到UserProfile并通过它们查询,因为UUID在UserProfile和帐户之间匹配(即AccountInfo),你总是知道哪个@ 987654347@属于哪个账号,反之亦然。

    7. 显然,您的UserProfile 发行人必须确保每个帐户只能有一个UserProfile。

    要实现您的简单要求需要做很多工作:-/
    希望我们能得到其他答案,因为我也很好奇。

    【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 2017-05-26
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多