5 分钟内编写一个简单的区块链预言机合约、预言机服务器和客户端

预言机网络是一个基本的web服务器,它允许信息从互联网传输到区块链层。

构建区块链预言机网络很容易。但是什么是预言机网络呢?让我们分别来理解为什么预言机网络是重要的,以及它是如何为区块链网络添加超能力的。

简而言之,预言机网络是一个基本的web服务器,它允许信息从互联网传输到区块链层。让我们来看看这个架构。

1

  • 预言机客户端是请求的发起者。客户端在智能合约上调用一个函数来触发一个事件。
  • 预言机服务器侦听该事件,并通过Internet执行外部定义的请求或操作。
  • 预言机服务器通过调用合约更新函数将其传递给预言机合约来更新信息。

让我们看看预言机合约的代码:

2

  • 客户端调用updateBTCCap()函数,该函数发出事件,以便服务器通过 Internet请求来获取BTCCap。
  • 一旦服务器完成请求并获得BTCCap,它将调用以Cap为参数的setBTCCap函数。
  • 完成后,客户端就可以调用getBTCCap函数来获取服务器更新的最新BTC上限。

下面是部分服务器代码:

3

  • 预言机合约有两个实例。一个是基于Websocket的连接,即oracleContractWss,另一个是带有 HTTPS 提供程序的简单实例oracleInstance。
  • web socket实例可以监听这些事件,我们从最新的区块中获取这些事件。这意味着它只能考虑即将发生的事件。如果你指定了任何一个旧的区块,那么从该区块开始的事件将被获取。
  • 对于来自事件的数据,我们请求一个API来获取BTCCap,并使用协议的HTTPS实例调用setBTCCap函数。

整个项目的源代码在下面的Github存储库中。

https://github.com/adityak74/blockchain-eth-simple-oracle

Source:https://levelup.gitconnected.com/writing-a-simple-blockchain-oracle-contract-oracle-server-and-client-in-under-5-mins-7ec8ee33df91

关于

ChinaDeFi - ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时ZigZag也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。

Layer 2道友 - 欢迎对Layer 2感兴趣的区块链技术爱好者、研究分析人与Gavin(微信: chinadefi)联系,共同探讨Layer 2带来的落地机遇。敬请关注我们的微信公众号 “去中心化金融社区”

点赞 0
收藏 3
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ChinaDeFi 去中心化金融社区
ChinaDeFi 去中心化金融社区
ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时我们也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。