Git Product home page Git Product logo

team1's People

Contributors

yi-kuai-lian-xi avatar

Stargazers

 avatar

Watchers

 avatar  avatar

team1's Issues

第二周课程答疑整理

第二周课程答疑记录

作业参考思路:

我review了这两天大家在群里的说法,感觉目前比较好的做法是用 random_seed , nouncesender三个内容拼起来再用sr_io::blake2_128方法进行hash,得到[u8; 16],最后用bytecodes的 read方法转成u128。 大家都是怎么考虑的?

其中random_seed代表来自区块的随机信息,sender代表了用户的信息,nounce感觉没啥大用,虽然说可以每次生成后都自增一下,但是下次调用时应该已经不是相同的区块高度了,那个random_seed应该已经不同了,不需要再用nounce来进行区别吧

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 } })

004 - 验证交易

  • 假设波卡上线一年后, 我是新进来的一个validator, 我的节点在启动的时候是要从创始节点开始验证每一笔交易吗? 还是直接同步?

    答:正常的都是从创始节点开始

  • 想知道作为validator, 是怎么进行验证每一笔交易这个操作的?比如是5个block得到同样的结果就算验证成功吗?

    答:有出块逻辑和确认逻辑。
    出块的话就是打包交易出快。其他人要是验证失败的话这个快就会被丢弃。
    确认finalize的话就是每个validator 签名投票,有2/3以上的票就认为这个block被finalize
    了。

  • 此时很多交易都已经被验证过了,算是有验证结果了,那么这个Validtor的验证结果意义在哪里?

    答: trust but verify。其他人验证过了自己也要验证一遍保证安全性。

  • 所以这么做只是保证自己的node的安全性 对历史交易验证结果其实不影响?

    答: 嗯。在没有作恶的情况下是没区别的。可是你不验证你怎么知道有没有作恶。

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.这个怎么判断是不是 钩子函数?有什么特殊的判断方法吗?
答:判断是不是钩子函数好像没什么好办法,就看类型了。

003-验证人

Alice创建一个Node,然后Bob加入Alice的node,也作为验证节点,那么如果lucy也加入到Alice的节点,那么他们三个的地位是同等级别的吗?那么验证是怎么分配的?(我不知道我说明白了没[Facepalm])

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.