Ontology Oracle开源版本上线,收获你的第一桶金

来自:bihu.com 归档时间:2019-03-31

区块链预言机(Blockchain Oracle)由来已久,这项技术的提出主要是为了解决区块链协议自身存在的局限——去中心化网络中的智能合约没有外部数据有效连接,无法实现交互。然而,实际操作中又有很多场景需要甚至依赖外部的触发条件。 

Bob 在乘坐飞往苏黎世的航班前,买了一份延误险,条款中规定,如果航班晚于当地时间10:00 am 抵达,受保人将获得100 token 的补偿。

这个简单的案例中,如果智能合约无法与外部航班数据有效连接,则无法自如地实现上述过程。

因此,我们需要 Oracle 作为数据搬运工,保证智能合约中获取链外数据成为可能。在这样的背景下,Ontology Oracle 应运而生。

什么是 Ontology Oracle?

Ontology Oracle 由合约和 operator 组成。
合约负责管理链上用户请求,operator 根据链上请求获取数据,再返回给 Oracle 合约。


如何成为 Ontology Oracle?

Ontology Oracle 目前面向所有数据提供商开放,有以下两种方式:

Option 1:
1.数据提供商可以部署一本满足 OEP-34标准的 Oracle 合约,通过合约管理自己所提供的数据服务和用户的数据请求;

2.部署 Oracle Operator,监听自己的 Oracle 合约,处理用户请求,获取数据并将数据写入合约;

3.在 Ontology Oracle Market 上进行 KYC 注册,公布合约地址、所提供的数据服务和相应的请求格式,供用户调用。

Option 2:

1.数据提供商也可以自己不部署 Oracle 合约,而是将其数据服务注册到已经存在的 Oracle Platform 合约中,由合约进行用户请求以及收益的管理和分发。


2.部署 Oracle Operator,监听 Oracle Platform 合约,处理用户请求,获取数据并将数据写入 Oracle Platform 合约。


3.更新 Ontology Oracle Market 上这本 Oracle Platform 合约的信息,添加自己所提供的数据服务和相应的请求格式,供用户调用。

如何使用 Ontology Oracle 获得收益和外部数据?

Oracle 数据提供方根据自身数据价值设定每次调用的费用,用户支付该费用来获取数据服务。
所有 Oracle 合约都会在 Ontology Oracle Market 中详细列出,解释所提供的数据服务内容和数据请求格式。用户在写智能合约时若需要获取外部数据,可在 market 中查询相关信息,选择若干个符合自己要求的数据提供方,通过跨合约调用的方式发送数据请求并获取数据,完成剩下的逻辑。

目前第一个 Oracle 数据服务已经上线测试网和主网,合约地址为:

测试网
e0d635c7eb2c5eaa7d2207756a4c03a89790934a
主网
a6ee997b142b002d49670ab73803403b09a23fa0
详细使用文档参考
https://github.com/ontio/ontology-oracle
视频教程见
http://dev-docs.ont.io/#/docs-en/Punica/tutorials?id=_12-oracle-1
http://dev-docs.ont.io/#/docs-en/Punica/tutorials?id=_13-oracle-2
OEP-34协议参考
https://github.com/siovanus/OEPs/blob/master/OEPS/OEP-34.mediawiki

有关于Ontology Oracle开源版本上线,收获你的第一桶金