team1's Issues
001-平行链 中继链和Birdge
昨天学习第一课有几个问题:
1: 平行链 中继链和Birdge的区别是什么?如果在实现的逻辑上,是不是实现了不同的模块或者接口?
2:kusama是中继链的一种实现,Bridge是实现有没有对应的项目实现?
感谢
002-Start a Private Network with Substrate
1- 创建完Alice节点,没有出块,等到Bob节点链接上之后开始出块;Alice节点和Bob节点的关系是什么,都是验证节点吗?
2- customSpec.json中的authorities授权地址写一个就可以了,还会需要多个地址?
3- 申请了2个账号,建立了syuukawa-1节点启动没问题;但是启动syuukawa-2节点报错;是什么问题;
Error: Error(Client(Backend("IO error: While lock file: /Users/zhouhe/Library/Application Support/node-template/chains/local_testnet/db/LOCK: Resource temporarily unavailable")), State { next_error: None, backtrace: InternalBacktrace { backtrace: None } })
第一周课程答疑整理
这个 Issue 下更新本周的问题与答疑
第二周课程答疑整理
第二周课程答疑记录
作业参考思路:
我review了这两天大家在群里的说法,感觉目前比较好的做法是用 random_seed
, nounce
,sender
三个内容拼起来再用sr_io::blake2_128方法进行hash,得到[u8; 16],最后用bytecodes的 read方法转成u128。 大家都是怎么考虑的?
其中random_seed代表来自区块的随机信息,sender代表了用户的信息,nounce感觉没啥大用,虽然说可以每次生成后都自增一下,但是下次调用时应该已经不是相同的区块高度了,那个random_seed应该已经不同了,不需要再用nounce来进行区别吧
003-验证人
Alice创建一个Node,然后Bob加入Alice的node,也作为验证节点,那么如果lucy也加入到Alice的节点,那么他们三个的地位是同等级别的吗?那么验证是怎么分配的?(我不知道我说明白了没[Facepalm])
test1
test1
10月12日答疑课
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.这个怎么判断是不是 钩子函数?有什么特殊的判断方法吗?
答:判断是不是钩子函数好像没什么好办法,就看类型了。
004 - 验证交易
-
假设波卡上线一年后, 我是新进来的一个validator, 我的节点在启动的时候是要从创始节点开始验证每一笔交易吗? 还是直接同步?
答:正常的都是从创始节点开始
-
想知道作为validator, 是怎么进行验证每一笔交易这个操作的?比如是5个block得到同样的结果就算验证成功吗?
答:有出块逻辑和确认逻辑。
出块的话就是打包交易出快。其他人要是验证失败的话这个快就会被丢弃。
确认finalize的话就是每个validator 签名投票,有2/3以上的票就认为这个block被finalize
了。 -
此时很多交易都已经被验证过了,算是有验证结果了,那么这个Validtor的验证结果意义在哪里?
答: trust but verify。其他人验证过了自己也要验证一遍保证安全性。
-
所以这么做只是保证自己的node的安全性 对历史交易验证结果其实不影响?
答: 嗯。在没有作恶的情况下是没区别的。可是你不验证你怎么知道有没有作恶。
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.