-
Notifications
You must be signed in to change notification settings - Fork 7
Description
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.这个怎么判断是不是 钩子函数?有什么特殊的判断方法吗?
答:判断是不是钩子函数好像没什么好办法,就看类型了。