什么是预言机?

从链外获得数据,提供区块链与现实世界事件之间的连接,提供外部信息的平台

预言机自身也是一种智能合约,它允许区块链连接到任何现有的API

是这个预言机去调用各种 WEB API的接口

这个接口提供各种各样的接口,如:

提供时刻的温度数据,市场的价格变化等

比如昨天 BTC 对 USD 的交换比率(根据价格最高的 5 笔交易)?

或是,明天你的航班会不会准时着陆?

这就是需要用到预言机的地方。智能合约需要预言机来获得那些在编写合约时无法准确知道的细节信息。

传统的web api

在传统的web api接口中,就有很多很多,随便上百度上一搜,就有很多做web接口的公司和平台

比如haoservice平台

做 最新VIN(车辆识别码)解析,空号检测的平台等等.

这些接口有的是付费的,有的是免费的.

这些接口有些是和存萃的软件相关,有的还和硬件进行了关联.

既然说到web api ,我觉得可以稍微多说一些:

服务器Web API是一个编程接口,由一个或多个公开公开的端点组成,这也就是说,web api后面是一个很大的生态群,一个web服务可以看成是一个集合了各种各样服务接口的集合,几乎有些名气的公司都会提供自己的服务接口,网络上也有各种各样的免费的接口平台.(https://www.showapi.com/)等等.

现在最常见的是通过基于HTTP的方式网络服务器。通常是用常见的JSON和XML表示的.

简而言之,Oracle介于外部世界数据或API与智能合约之间。 正如在Oraclize(这是一个专门做预言机的)网站上看到的:

怎么去使用预言机?

上面提预言机的时候说了,预言机是什么?预言机本质是个智能合约,什么样的智能合约呢? 是一个能够调用WEB API的智能合约.

1. 既然是智能合约,那就可以在自己编写的代码中调用该智能合约,然后根据API文档中描述的方法进行相关的调用即可;
2. 如果是用以太坊技术搭建了自己的私有链或者联盟链,预言机在Github上提供数据服务的开源智能合约代码,通过自己部署后,一样可以像公有链一样调用.

预言机的背后有多种数据源服务器,包括Url访问、数据搜索引擎、区块链内容数据、IPFS文件访问等等.

其中Url访问和区块链内容数据提供了基于TLSNotary的可信证明技术(安全传输层协议TLS的进一步改进,此证明不在本文的讨论范围内)或者其他的安全证明技术,是常见的数据访问需求。

来解释一些,这里的原因:

IPFS是一种分布式网络,但是分布式网络已经存在了很多年,使用分布式网络实现预言机的想法也存在很长时间了.

但是怎的呢?在其上找到共识很难,谁也不愿意没什么好处的去做这件事情.所以愿意加入该网络的人很少.没有一个比较好的激励机制.

个人以为:

预言机主要做了两件主要的事情:

  1. 调用接口
  2. 加验证给验证者(这个验证其实也是第三方提供的,比如TLSNotary),以保证安全性

参考目录:

[1]. 什么是预言机

[2]. 金色百科

[3]. 引介 | 预言机:让智能合约起飞

[4]. 各种wiki

以太坊预言机与WEB API(原创,转载请说明原址)的更多相关文章

  1. CORS support for ASP.NET Web API (转载)

    CORS support for ASP.NET Web API Overview Cross-origin resource sharing (CORS) is a standard that al ...

  2. 访问本机的WEB API 报400错误

    当时用的IP是127.0.0.1 报400错误,换成 localhost 后正常.

  3. java https tomcat 单双认证(含证书生成和代码实现) 原创转载请备注,谢谢O(∩_∩)O

    server: apache-tomcat-6.0.44 jdk1.7.0_79client: jdk1.7.0_79 jks是JAVA的keytools证书工具支持的证书私钥格式. pfx是微软支持 ...

  4. ABAP->内表数据下载到CSV格式(原创转载请注明)

    需求:将alv上面的数据计算到内表中区,然后通过自定义按钮进行下载到csv格式中 附加:现在基本不用csv导出了,但是有些变态需求强行要求,也只好研究出来了,excel与txt导出很简单,那就不多说了 ...

  5. Xamarin.Android 调用Web Api(通过ListView展示远程获取的数据)

    xamarin.android如何调用sqlserver 数据库呢(或者其他的),很多新手都会有这个疑问.xamarin.android调用远程数据主要有两种方式: 在Android中保存数据或调用数 ...

  6. 以太坊 web3.js 文档翻译及说明

    这些天,为了录制以太坊DAPP开发实战课程,我准备把web3文档全部翻译一下(并做适当的补充),目前web3.js 0.20.x 版本 已经翻译完成,欢迎大家前往查阅. 这里还几个实用DEMO,供大家 ...

  7. 以Self Host的方式来寄宿Web API

    Common类及实体定义.Web API的定义请参见我的上一篇文章:以Web Host的方式来寄宿Web API. 一.以Self Host寄宿需要新建一个Console控制台项目(SelfHost) ...

  8. Web API中的模型验证Model Validation

    数据注释 在ASP.NET Web API中,您可以使用System.ComponentModel.DataAnnotations命名空间中的属性为模型上的属性设置验证规则. using System ...

  9. 从实体框架核心开始:构建一个ASP。NET Core应用程序与Web API和代码优先开发

    下载StudentApplication.Web.zip - 599.5 KB 下载StudentApplication.API.zip - 11.5 KB 介绍 在上一篇文章中,我们了解了实体框架的 ...

随机推荐

  1. MySQL5.7+版本一些问题

    今天有一个需求.我要用本地的Java调用远程服务器的MySQL,因为我的MySQL版本为5.7.2,即比较新的版本.网上找的很多都比较旧,故贴此贴. 无密码: 初次安装MySQL可能没有设置密码,网上 ...

  2. Nullable<T>、Nullable、null、?修饰符的区别

    这章我们讨论一下Nullable<T>.Nullable.null.?修饰符的区别 原创文章 Nullable<T>的前世今生 讨论它们之前,我们有必要讨论一下Nullable ...

  3. Spring源码分析:Bean加载流程概览及配置文件读取

    很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事的都是Java Web的工作,对于程序员来说,一个Web项目用到Spring,只是配置一下配置文件而已 ...

  4. JS DOM 操作 项目总结 【超链接】【数列】【span】

      超链接   每次定义链接样式时务必确认定义的顺序,link--visited--hover-active,也就是我们常说到的LoVe HAte原则(大写字母就是它们的首字母). “爱恨原则”(Lo ...

  5. Java开发中常用的设计模式(一)---工厂模式

    一. 准备工作 1. 本文参考自  自己理解的工厂模式,希望对大家有所帮助 二. 开始 以汽车工厂为例,首先有个汽车类的接口 Car,里面有个开车的方法 drive(),然后有个宝马车的类 BMW 和 ...

  6. JAVA设计模式详解(五)----------适配器模式

    各位朋友好,本章节我们继续讲第五个设计模式. 在生活中,我们都知道手机内存卡是无法直接接电脑的,因为内存卡的卡槽比较小,而电脑只有USB插孔,此时我们需要用到读卡器.这个读卡器就相当于是适配器.这是生 ...

  7. EF数据库优先模式(一)

    C#中EF模式,讲述个人在做项目时用到的一些思路以及方法 EF数据模型有三种方式,database优先,model优先,Code优先,个人在做项目时用到的是database优先,以后再说其他的方式 d ...

  8. java基础进阶二:HashMap实现原理分析

    HashMap实现原理分析 1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二 ...

  9. POJ1458(KB12-L LCS)

    Common Subsequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 51319   Accepted: 21 ...

  10. 【 js 基础 】【 源码学习 】源码设计 (更新了backbone分析)

    学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析 第二部分:unders ...