交易

交易有不同的分类,不同交易有不同的操作码。
这样做的好处就是明确用户行为,简化系统复杂度。

操作码列表

  • OpsTransfer:用于普通的链内转账
  • OpsMove:用于链间的转账
  • OpsNewChain:用于创建新的子链
  • OpsNewApp:用于创建智能合约
  • OpsRunApp:用于执行智能合约
  • OpsRegisterMiner:用于注册矿工
  • OpsUpdateAppLife:更新智能合约的生命周期

交易的数据结构

交易

成员说明:

  • Sign:交易的签名信息
  • Time:交易的时间戳
  • Address:交易的发起者
  • Chain ID:交易所属的链ID
  • Energy:交易手续费
  • Cost:交易的金额
  • Ops:交易的操作码
  • Others:不同交易携带的数据

交易时效性

区块只允许接收10天内的交易,超过时限的交易将被丢弃。
这是因为系统为了代理账户(本系统新增加的一种账户,可以降低账户过度签名的风险)而增加的限制。

链间转账

系统默认支持向相邻链(父链或子链)转账,系统处理该转账交易时,扣除发起人相应的代币,并将转账信息记录到logSync对象中。
相邻链处理区块时,会读取本链的logSync信息,如果信息的时间满足要求,且目标链为自己,则系统自动为转账人增加相应的代币。
链间转账交易被打包进区块后,转账完成时间为4-5分钟(链间信息同步时间)