版本比较

密钥

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

代码块
import { WasmFs } from '@wasmer/wasmfs'
import { MoveSandbox } from '@starcoin/move-js'

const subscribeState = async () => {
    const sandbox = initSandbox(modules, resources)
    let snapshot, ch = await sandbox.subscribe()
    console.log(snapshot)
    
    ch.on("change_set", function(changeSet){
         console.log(changeSet)
    })
}

subscribeState()

2.3.3 Proposals

2.3.3.1

...

结算状态通道提案

当状态通道节点检查到Leader不可达时,可以发起选主提案。超过2/3成员投票通过,选主成功。当有P2P成员希望离开状态通道时,需要发起结算状态通道提案。提案成功后方可离开状态通道,如果没有发起结算状态通道提案就离开状态通道,认为弃权,后续投票默认弃权。

提案参数:

参数

类型

描述

leader

state_

p2p

channel_

address

id

string

P2P地址地址类型

state_channel_id

string

状态通道ID

状态通道ID

from_height

u128

状态通道起始高度,需要和链上状态通道中的已结算高度匹配

to_height

u128

状态通道结算高度

change_sets

vector<u8>

起始高度到待结算高度的所有变更集

2.3.3.2 惩罚作弊者提案

当状态通道收到Leader发送过来的同步消息,并在MoveVM验证结果不对时,可以发起Leader作弊的惩罚提案,如果提案执行成功,发起人为新的Leader.

提案参数:

参数

类型

描述

state_channel_id

string

状态通道ID

参数

类型

描述

leadertarget_p2p_address

string

P2P地址地址类型

state_channel_id

string

状态通道ID

badraw_sync_messagetransaction

string

错误的同步消息,其中包括原始交易,验证者,验证结果

2.3.3.3 结算状态通道提案

当有P2P成员希望离开状态通道时,需要发起结算状态通道提案。提案成功后方可离开状态通道,如果没有发起结算状态通道提案就离开状态通道,认为弃权,后续投票默认弃权。

提案参数:

原始交易

change_sets

vector<u8>

改原始交易对应的变更集

target_sign

string

目标地址对该交易的签名

2.3.4 Sessions

2.3.4.1 开启会话

...