老董答疑总结(第二周)

【课程相关】

  1. sol代码里面函数参数是uintjs传递参数是负数的话,sol那边无法识别是否负数吧,如果js传递-2000过去的话,sol那边应该只知道这是一个很大的正数才对吧?

    这个根据每一个web3的实现的不同,可能会出现不同的行为,我记得我之前用的时候,会变成一个正数,但现在的行为什么,就不确定了,总的来说web3没有什么标准,所以啥都可能发生哈哈

  2. 我感觉对JS单元测试中涉及框架和VM的错误信息很难解读,而且测试能通过的环境因素很多,提升这方面的Debug能力需要哪些知识?Celer Network内部开发也用Truffle, web3么?

    对 这个确实是很头疼的一件事情,尤其是开发比较复杂合约的时候,错误信息根本没卵用,那么能做的实际上就是两件事情:

    1. 利用truffledebug能力,做单步调试;
    2. 直接看汇编来分析问题所在。我们内部也用truffle,但也踩过不少坑
  3. 老师,EOS的开发和以太坊的开发有什么异同?您以后会出EOS的开发课程吗?

    基本的思想是一样的,语言不同,我之后可能没时间再出课程了哈哈

  4. 老师,使用truffle test,有时候可以通过,有时候又通不过,请问这是什么原因呢?

    这个具体情况具体分析,大概率是test没有考虑到js异步的属性

  5. 学习完课程后,老师有什么推荐的继续学习资源或者项目吗?

    可以多看开源的代码,比如open zepplin的代码,以及比较有名的项目的代码

【以太坊相关】

  1. 以太坊合约部署以后如何升级呢?

    这个问题好,智能合约升级这个事情,是一个难做的事情其实,尤其是在以太坊上面,智能合约的升级只能通过软件工程的方法来进行。就是做好各个库的隔离,然后在写的时候,尽量吧之后可能升级的合约写成外部合约,然后有办法改变这个外部合约的地址。但其实智能合约升级涉及到一个更核心的问题,就是智能合约治理。升级的技术好办,那么谁能决定一个大家都在用的智能合约的改变和升级,这才是真正核心的大问题。

    其实升级一个合约就是“硬分叉”这个合约,如果社区有共识的话,才可能完成,如果社区本身没有共识,或者共识割裂,都有可能导致出现两个版本的智能合约或者dApp,这个问题,其实是本身非常有意思的问题

  2. 请问董老师,web3是以太坊主要的JS API。那有没有一些常用的,支持别的语言的的API? 像比特币和一些新出现的公链,一般都提供什么样的API

    以太坊还有直接用go做的API,也有pythonjavaAPI,这些都有,支持程度不一样,python的最难用,javaokgo不错,js比较成熟

  3. 老师,以太坊最近好像在搞WASM虚拟机,以后是否会变换智能合约的语言?

    有可能,WASM的好处在于,可以用c,rust之类的语言去写合约,但路还比较长

【公链、私链相关】

  1. 请问一下董老师,联盟链和公链,你更看好哪个?公链应用场景广大,但是现在感觉技术局限性还比较大。

    很多人认为联盟链是一个伪命题,没什么用,但其实我不一定这么觉得,因为要看你如何去定义“联盟”,如果是一个供应链的上下游的话,联盟链是有他的用途的,只要把隐私之类的东西做好,能够不要让利益冲突的双方互相知道商业秘密,联盟链是有一定的空间的,但是公链的空间显然是更大的,公链现在性能差,没关系,有很多各种各样的方法去提升性能,我对未来还是有信心的

  2. 老师,我最近突然发现影响tps的不是pow,而是账本的大小,以后需求tps很高的话,账本基本上会很大很大,那么以后tps高的区块链项目,一般用户是否就没办法下载全节点了,还是说eos这种超级节点模式是趋势呢?

    超级节点肯定是一种趋势,还有一些其他的方法就是把tx从链上转移到链下去进行,比如plasma,raiden,celer这些

  3. 昨天肖磊在乌镇好像说,看区块链十年一周期,我认为区块链发展速度快的话,比特币十年后可能就不存在了,你怎么看待这个问题呢?

    十年之后,今天的99% token都会不存在,比特币也有可能,但是比特币的出现有其特殊的历史时期和历史地位,是一个不可以重复的事情,所以可能还会在相当长的时间存在,虽然理性地说,它所提供的功能非常的局限。

【合约相关】

  1. 上周答疑时,老师认为目前合约开发的流程有很大的提升空间,Celer Network支持的Dapp流程,会更接近于目前移动App开发?

    这个本身和Celer Network关系不是特别大,但确实,流程上面,有很大的缺陷,尤其是移动端不友好,很多移动端上面该有的开发框架其实都是没有的,大家还是一个web的思路。我们会做一些贡献和工作提高这方面

  2. 智能合约是否可以rolling update

    技术上可行,社区上,是一个非常有挑战性的问题

  3. 关于智能合约的用途,老师认为除了发币以外,哪个方向是最有可能广泛使用的呢?

    其实有很多,类似于域名注册,房产拍卖,预测市场,构架ETF,自组织机构,投票,等等

【技术相关】

  1. 老师对目前的分片技术怎么看?听说目前ZIL的分片不支持智能合约?

    分片技术是一个肯定会被区块链采用的技术,但是他更多的是对状态存储的划分,对效能的提升,实际上是相对有限的,里面有各种复杂的取舍问题,目前也相对来说很难解决。

  2. 老师最看好哪一种扩容技术?

    这个我必须要王婆卖瓜了,我们认为链下扩容才是区块链扩容的未来

【其他】

  1. POW的设计非常好 但是带来了无止境的能源消耗和算力竞争,有没有可能往清洁能源或者小型设备挖矿 来局部限制一下“军备竞赛” 老师可能对这方便了解和思考得更多 想听听你的高见

    对这方面有兴趣,可以看一下chia.network,所谓的“绿色挖矿”

你可能感兴趣的:(老董答疑总结(第二周))