FaaS +区块链:使用以太坊NodeJS oracle与无服务架构连接
万象争辉1
发表于 2022-12-21 16:40:22
117
0
0
早在2018年8月,Forrest Brazeal接受了前AWS Lambda GM Tim Wagner的采访,名为“从无服务架构到区块链”。他们讨论了合并无服务器计算和区块链技术的好处。这是两个主要陈述:
我真的认为有两种颠覆性技术正在改变我们建立和运营业务的方式。当然,其中一个是无服务架构。2 J1 B l: u( ?1 ~- f
我认为第二种技术非常具有破坏性,并具有惊人的影响潜力,是区块链。) B1 J6 U% z% c5 G ]/ @$ w
根据Tim的说法,区块链和无服务架构计算的功能将使组织能够为各种商品和服务创建“相互信任和可执行的合同”。4 F" N4 P+ X5 v$ `" S# A& |
虽然区块链提供了具有真正独特信任模型的透明分布式数据存储,但无服务架构计算提供了可扩展且可靠的第三方代码执行,而无需创建合同协议的机制。
无服务架构存在哪些已知方法?7 S D! W; c/ P
使用区块链进行FaaS最明显的方法是重用现有的合同方法。为了简化操作,您现在可以看到以太坊平台上提供的选项: P9 @ X9 F- o1 e2 }" o- l* P* Y, m
智能合约库% W1 s* Z& |, O6 N
Sarvesh Jain在使用Solidity的库合同重新使用代码时完美地获得了所有选项:您可以通过调用API来重新使用已部署的合同,而不是将代码库链接到您自己的智能合约代码中。该模式类似于非区块链世界中的微服务结构。4 f9 V$ c3 [& r) v f( ]) t
这种方法的另一面是用于实现智能合约的编程语言的限制。而以太坊的稳定性是可以发展的。只是尝试计算年,月和日的当前日期,你会写出大量的Solidity代码。8 R/ s8 _7 U1 ^0 g9 s
Oraclizing 外部资源
扩展以太坊区块链边界的一种更为着名的方法是使用oracle。 oracle允许开发人员访问真实的(即非区块链)服务器。 Oraclize是以太坊世界中最常用的。7 l& j1 P, H; }4 {8 n3 }
通常,Oraclize用于读取汇率,天气信息等公共数据。
]% R5 { |! ~) ?1 d8 }/ B4 U
在这种情况下,您将开发Java,.NET,NodeJS等。 AWS lambda中的函数,使用Oraclize发布它并调用它的URL。
这种方法的另一面是属于智能合约的代码部署在区块链之外。- Z0 a$ R% @3 r. g( B( B2 O
新功能:使用NodeJS Oracle进行FaaS1 A" S6 ?5 l3 x7 L; q( p0 M; r: K( R
最近我遇到了一个新的解决方案,如何在以太坊的Solidity语言中使用无服务架构。 它是一个名为#SkriptIt的基于以太坊的oracle,允许开发人员将NodeJS代码整合到Solidity中,并在区块链外部FaaS服务中调用它。/ N1 T" a, `! @- q4 Q) K+ h
) A, s Z0 E( ]% C$ p
它的工作方式与Oraclize类似,但允许开发人员将JavaScript代码直接嵌入到他们的合同中。
总结7 I# H% p2 e ~% b
我个人认为区块链,尤其是以太坊对各个行业都非常重要。 它们与数据库一样重要,对于经典商业模式非常重要。 唯一的问题是像以太坊这样的区块链平台在功能上尤其是编程语言方面受到限制。 但是,在过去几十年中,存储过程丰富了数据库,我相信FaaS扩展将丰富公共区块链平台。3 o% w! Z3 T$ b
因此,当Tim Wagner说,合并区块链和无服务架构计算的能力将使组织能够为各种商品和服务创建“相互信任和可执行的合同”,那么基于以太坊的FaaS oracle将是最佳选择。
成为第一个吐槽的人