DEVCON2: Fabian Vogelsteller:全新的Web3.js
记者:Lydia
本文为大会演讲速记尝鲜版,给心急的小伙伴们先行浏览,精细校对版将会在大会后逐步发布。
Fabian Vogelsteller做了关于全新的Web3.js的演讲。
(背景介绍:Web3.js是整个体系的核心部分,Fabian Vogelsteller建立了开放库,是网站设计师,有15年的经验,参与建立了Mist。)
我的同事Jeffrey用简单的方式访问代码,和节点互动,建立了大多数项目,我是两年之前加入的,完善了API,加入了一些额外的特性,让代码更容易读区,我主要是维护Web3.js,还有其它贡献者,他们给了很大的帮助。
Json RPC2.0代码翻译成更容易在Javascript上使用的东西,EVM只能了解更简单的。
Web3.js对函数名翻译,经过二进制界面转移成EVM可以发送的东西,取前四个字节,把Javascript发送给节点,节点就知道智能合约是做什么的。
Web3.js还有其它工具还有公用程序函数,但是因为很混乱,大家都在执行,因此需要创建一个新的Web3.js。
随着不断发展,Json RPC2.0不太容易使用,有些部分没有意义,因此要重构代码,社区也希望如此,因此需要建立新的,不会完全改变,只会改变核心,目前是奏效的,但不是所有都适用。
之前的过滤器对很多人来说很混乱,可能会创建一个过滤器,然后进行记录,不是非常具有描述性。因此可以获得一个地址,但是这不是非常清晰,我们应该用订阅的方式来做,因此订阅日志,可以选一个主题,等数据变化。
Web3.js是一个非常庞大的库,未来会采用模块化的方式,需要什么都有,当人可以使用Solidity的功能或其它功能,函数调用同步这个功能不是非常好,会出现状况,节点回应很少,我们可以用其它方式来做,所有方式都会基于processes。
所有结果和事件整合在一起,对交易哈希,未来可以增添更多事件。还有其它也可以加入进来。
部署合约最大的变化是用了新的关键词,就像发送交易,就可以获得,交易被挖之后把对象附着在地址上,有两种方式,我们在考虑是否用回调。
基本上可以调用方法,给所有的参数,都可以视为参数,有不同的函数,ABI的调用,如果有代理合约也可以用上,返回或者事件,还有其它共有程式函数,要是自己做就要编码,如果有100个对象,还有构造函数,可以用编码做到,还有其它方式如pass和返回参数。
我希望社区给予反馈,希望发布Web3.js1.0,我们还有改变,只有必要情况才会变更,你们的意见非常重要,希望大家加入我们。
作者:Lydia | 来源:Chainb
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場