Skip to content

10月12日答疑课 #49

@bitboy666

Description

@bitboy666

1.想问下老师offchain worker实现预言机功能的话,整个执行流程是怎么个样子的?是智能合约可以通过offchain work发起网络请求?
答:这个类似chainlink的方法,不过chainlink需要单独启动额外的节点,但如果用substrate实现的话,就普通的full node就可以有这个功能了。大概流程就是,全节点启动的时候可以配置一个session key,然后同步新区块的时候会执行offchain worker的wasm,做各种事情比如发http请求交易所数据,然后在把数据签名作为unsigned transaction发到链上,其中一种解决方法就是pos配合治理,发送正确的数据有奖励,但如果大部分人认为你发的数据是错误的,就有惩罚,和传统的方案相比的话,优点是避免了额外服务节点的部署,每一个普通的全节点都可以成为预言机节点,就能够更加的去中心化了,也可以做成只有验证人节点才是预言机节点,这样好处是验证人本身就质押了更多的资源到这个网络上来,经济方面可以更加稳健。智能合约通过offchain worker发送请求的话基本就是调用某个预言机模块申请请求,加入一个请求列队,然后下个区块offchain worker就执行请求列队里面的任务,发回到链上
2.链下数据如何可信传到链上?
答:可信这个问题substrate没办法解决。
3.预言机节点也可以用主链上的代币来做经济模型激励吧?
答:是的。
4.//! - vesting_balance - Get the amount that is currently being vested and cannot be transferred out of this account.Balances模块中的vesting到底要怎么理解呢?
答:不确定准确的中文翻译是什么,这个就是慢慢解冻冻结资金,比如筹钱的时候可能是,卖你100万代币,但是冻结住,每个月解冻5万个。
5.每个月解冻,这个时间是按照区块高度来推,还是有time这个模块?
答:我记得是区块高度。不过有timestamp 这个模块可以拿到时间所以按照时间也是可以的。其存储结构,时间就是BlockNumber。
6.我看Polkadot也重点研究和介绍了NPoS,staking模块跟NPoS是紧密结合的吗?我们开发的时候,要做治理的一些功能的话,后面课程会不会介绍这一块的案例呢?ChainX用NPoS了,感觉挺好的。
答:NPoS课程里没讲。staking模块自己结合了,所以除非你不想用NPoS,那你要自己写staking。
7.就是说要引入staking模块,又不想自己去写staking模块,就用NPoS共识,最终finality是Gradpa吗?
答:嗯。finality和staking没有太多耦合,所以理论上可以换别的。当然现在也没有什么别的算法,所以也就grandpa了。
8.这个怎么判断是不是 钩子函数?有什么特殊的判断方法吗?
答:判断是不是钩子函数好像没什么好办法,就看类型了。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions