当事人生成规则
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)
)
生成规则
-
如果当事人为单行规则(无属性),采用定义一个id:address的当事人结构体
-
如果当事人为多行规则(有属性),为当事人进行构造函数定义,在多行规则里,当事人的初始化或赋值,只能选择一种
-
不论是单行还是多行都会
-
生成
map(address=>number) pendingReturns
变量支持用户实现退款 (提供_asyncWithdraw(person,money)函数) -
如果当事人被初始化,为该当事人创建实例(只有合约创建者可以进行初始化)
-
如果当事人被赋值
- 如果是被赋值为_caller或_anyone,那么指代将_caller = msg.sender(没有必要)
- 其他情况,在构造函数内部,进行构造说明
-
如果当事人有资产存在,为该资产添加owner属性,并对该资产的所有变量进行初始化操作,且仅允许该当事人对资产进行添加和更改
-
标准语法:
当事人:person name [Attribute] [PersonAsset]
以上是关于当事人生成规则的主要内容,如果未能解决你的问题,请参考以下文章
区块链周报第 5 期——最高人民法院支持当事人通过区块链提交证据
《人民法院在线诉讼规则》正式实施,明确区块链数据存证效力范围