翻译笔记:视频讲解 Corda 核心概念 – Commands

翻译整理自 Corda 官方核心概念 Commands 介绍视频,视频如下

  • Transaction 对于一个指定的 input state 通常会有多个对应的 output states。但是想要确定如何确认一个 transaction 的话,除了 State 中包含的信息外,Corda 还需要更多其他的信息,比如一个已经发布(issued)了的 IOU state,它可能被全部偿还(settled),部分偿还(partially settled)或者被拖欠了(defaulted) ,那我们就需要通过 commands 来知道一个 Transaction 的意图/目的(intent)是什么。
  • Commands 是一些动词(verbs)
  • Commands 将 transaction 进行参数化(parameterise),这样除了从 State 中能够获取的信息外,commands 又能提供了更多的一些信息
  • Commands 也提示(hint)了 transaction 的意图(intent)
  • Commands 也可能包含通过 Oracle Service 提供的数据(off-ledger data)

一些 Commands 典型的例子:

  • 发布(issue)新的 State 到账本上
  • 交换(transfer)资产到账本中的另一方
  • 付钱(pay)给账本中的另一方
  • 偿还(redeem)一笔资产并结束/清除代表该资产的state
  • 尝试(exercise)一个选项 option
  • 履行(settle)一个义务来递交一个资产

如何知道一个 transaction 都需要谁来提供签名呢?我们会把一个公钥列表关联至一个 command,来说明都谁需要对这个 command 提供签名。

  • 一个 command中会包含一个公钥列表(public key list),通过这个列表就知道了都会涉及哪些人来确认/签名该 state transaction
  • 在 transaction中,input 和 output states 经常会被按照类别分组(还可能根据其他的条件进行分组)
  • 每一组 state 都需要有一个 command

发表评论

电子邮件地址不会被公开。 必填项已用*标注