当事人生成规则

Posted 月夜魂归

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当事人生成规则相关的知识,希望对你有一定的参考价值。

笔记软件在2023/3/29 20:49:12推送该笔记

两种类型语法规则

// 变量定义
BtPerson:
    \'person\' name=ID
    // //当事人的属性可以有一般属性和资产属性
    (attributes+=Attribute|personAsset+=PersonAsset)*;

单行

ConstructorOrInit.Init.BtPerson.push(
                 "name": element.name,
                 "model":"Single",
                 "value": generateExpression(element.value, ctx)
             )

多行

ConstructorOrInit.Constructor.BtPerson.push(
                 "name": element.name,
                 "model":"multi",
                 "value": generateExpression(element.value, ctx)
             )

生成规则

  1. 如果当事人为单行规则(无属性),采用定义一个id:address的当事人结构体

  2. 如果当事人为多行规则(有属性),为当事人进行构造函数定义,在多行规则里,当事人的初始化或赋值,只能选择一种

  3. 不论是单行还是多行都会

    • 生成map(address=>number) pendingReturns​变量支持用户实现退款 (提供_asyncWithdraw(person,money)函数)

    • 如果当事人被初始化,为该当事人创建实例(只有合约创建者可以进行初始化)

    • 如果当事人被赋值

      • 如果是被赋值为_caller或_anyone,那么指代将_caller = msg.sender(没有必要)
      • 其他情况,在构造函数内部,进行构造说明
    • 如果当事人有资产存在,为该资产添加owner属性,并对该资产的所有变量进行初始化操作,且仅允许该当事人对资产进行添加和更改

标准语法:

当事人:person name [Attribute] [PersonAsset]

以上是关于当事人生成规则的主要内容,如果未能解决你的问题,请参考以下文章

状态机生成规则

区块链周报第 5 期——最高人民法院支持当事人通过区块链提交证据

《人民法院在线诉讼规则》正式实施,明确区块链数据存证效力范围

输入固定内容,自动生成word文档

Android开发之CriminalIntent项目开发(其一)

区块链头条 | 上海法院将区块链存储技术用于审判过程