DEVCON2: Peter Szilagyi论“导入Geth: 以太坊从Go到以后” 赢得阵阵掌声! ...
记者:Lydia
Peter Szilagyi在演讲主题——“导入Geth: 以太坊从Go到以后”上做了非常详细和新颖的方案报告。演讲之后,他立马赢得了在座各位极客的连续不断的赞呼声和掌声。
Peter Szilagyi:
一个预告展示如何在其他项目中把Go-ethereum做为library运用:运行嵌入式节点;原生去中心化应用互动,安卓以及ISO支持等。
介绍构造方面的问题,可能会比较技术性。
go-ethereum、pye-ethereum和ethereum是我们三个原始客户端,在协议出现之前就有了。共识协议,以太坊诞生的时候,没有其他工具,客户端希望做到开发者希望做到的一切。我们想提供Javascript的环境,因为大家对此都比较熟悉。但是这很困难,快速模型需要大量时间,因此很难放弃一些特性,其他人会不开心。很难用在Java以外的语言。
我们的特点:
Geth1.5版本可以让任何开发者使用,而不用命令行界面。我们可以从不同的角度来看,人们不太分享自己的钥匙。为什么不是自己保存钥匙,而要放在节点上,这样不是更安全吗?但是自己做非常难。我们可以和以太坊协约进行沟通,这可以做到,我们可以开发自己的app。移动app下载这个app是非常奇怪的,这是Geth的问题。
客户端的管理会更加简单。
这里有四个代码,全账户生态周期管理,可以创建自己的账户,不需要以太坊节点的支持,这是全程序,基本上就精简了账户的管理,自己可以进行账户管理,要节点和账户进行互动,我们激起了远程API,可以拨入任何以太坊客户端,成熟的以太坊客户端,所有方法都是可用的,可以创建或查询当前的区块,而不是随意的区块,还可以查询状态,以及当前的以太坊有多少余额。我们有订购的功能,mist众筹有个问题,每秒都有大量请求,节点无法支撑就会崩溃。现在以太坊客户端可以调用新的请求,就不需要继续发送请求。
目前区块的高度是2200万,区块在主网上挖矿,有三个函数代码,所以可以进行状态查询,或链的探索,自己不需要实现什么东西,可以和远程节点互动管理钥匙。你的代码必须实行以太坊API,如果你想序列化WEB3节点的结构。Solidity为什么不用,因为要设计很多细节,如果有个代码库帮助我们解决这些问题不是很好吗?
最后一点,我有一个现有合约,可以通过代码执行合约,如果在开发这个合约时,我想让变更状态马上反应到我的代码上,确保代码不会被破坏。这是一个原始代码自解器,因此可以访问所有代码。如果是Solidity合约,就可以得到重新编译,代码就可以重新生成,部署时就不会发生任何出乎意料的结果,每个发布版本geth中,节点增加都能看到,可以提醒用户更新的新的节点,这个函数已经影响了目前的节点,大约有400行代码不用我们自己写。
我们有一个新的发布,告诉它如何应用到以太坊客户端,还可以调用目前的版本,我们已经更新了昨天的发布版本。基本上,我们可以调用命令行共用程序。
最有意思的是,常常在这个生态系统中没有太多请求是运行流程中节点的,但是很多时候你要运行这样的节点,但是你想在其他用户端运行,不需要下载节点,只需要下载应用。你可以建立空的点对点协议,在上面运行自己的协议。四个函数的调用可以建立整个以太坊分界点,需要10秒的时间,这就是go-ethereum的整个编译。
我在新的目录中创建了以太坊,这是一个完全的源代码,不用自己写代码,可以整合代码。
我们有很多很好的代码库,可以进行更改,如何在移动的平台支持它们呢?移动版本已经支持Geth1.3版本,在Android3上进行了代编译,虽然性能很差,但是确实解决了一些问题。
在今年的冬季,我们会提供一个让用户在移动平台上互动的代码库版本,这是我们支持的一切。我们没有轻客户端,研究手机应用没什么用,现在只是在PoC阶段,我们不准备发布但是有了geth3可能会有一些变化。
有人了解Java,可能会说geth不够新,我们会解决这个问题,但是现在请见谅。
你可以看到导入处,账户的所有的操作都可以看到,Java的代码库就可以做。
有了远程API,我们可以创建以太坊API,支持所有的函数,支持定义,只从RPC界面,基本上这都是免费的。
因此我们有账户管理功能,因此看能不能和合约进行互动,把Javafire可以创建合约对象,进行函数调用。如果你用的是安卓,不希望依赖外部app,可以运行流程中的节点,不需要到处所有的API go。
我们可以进行互动,把有以太坊客户端接在一起,两行代码就可以做到。
iOS也可以做到,大家不用看这个代码,
Go 和Geth可以在不同的平台上部署,如安卓、iOS,还可以提供一些代码库,可能未来会实现,但是目前,如果你想使用代码库可以进行下载。
作者:Lydia | 来源:Chainb
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場