Truora预言机
Truora 是 FISCO-BCOS 区块链平台的预言机服务解决方案,是在广泛调研的基础上针对联盟链场景设计的可信预言机服务。
应用场景
Truora预言机一键部署服务
1. FISCO-BCOS提供一个一键部署脚本(deploy-all.sh),我们可以直接使用这个脚本简化我们的部署步骤,脚本里面包括了FISCO-BCOS联盟链,WeBASE-Front智能合约可视化开发平台,Truora-Service预言机后端服务,Truora-Web预言机前端服务以及MySQL数据库。
部署架构
Truora一键部署工具特征
- 提供自动安装依赖服务功能,包括:OpenSSL, curl, wget, Docker, Docker Compose 等
- 调用 FISCO-BCOS 一键部署脚本 build_chain.sh,部署 4 个区块链底层节点
- 部署 WeBASE-Front 服务
- 部署 Truora-Service, Truora-Web 服务
- 部署 MySQL 服务
- 支持国密选项
获取部署脚本
## 从 GitHub 下载最新部署包
wget "https://github.com/WeBankBlockchain/Truora-Service/releases/download/v1.1.0/docker-deploy.zip"
## 解压部署包
unzip docker-deploy.zip
执行部署脚本
# 自动安装依赖服务,默认从 CDN 拉取 Docker 镜像# Docker Hub 官方仓库拉取镜像时,不仅速度比较慢,同时成功率也相对较低# # -d : 自动安装系统依赖# -g : 使用国密# -k : 从 Docker Hub 官方仓库拉取 Docker 镜像
bash deploy_all.sh -d
服务器启动命令
bash start.sh
注:显示Truora service start up SUCCESS !!!表示启动成功
服务器停止命令
bash stop.sh
访问Truora服务
预言机浏览器http://[IP]:5020
预言机节点控制台http://{IP}:5002/WeBASE-Front/
平台提供了三个数据源
(获取链下随机数API) plain(www.random.org/integers/?n…) (获取人民币对日元汇率)APIjson(api.exchangerate-api.com/v4/latest/C…
(查询某城市某天最高温度)json(devapi.qweather.com/v7/weather/…
预言机请求数据演示
这里我们使用自己查找的数据源进行演示(实时获取成都市气温、湿度等信息)
合约结构
编译并部署获取天气数据合约
先拿到预言机合约地址
部署获取天气数据合约(编译器v0.6.10)
部署完成后,先调用setUrl方法设置我们自己的数据源
调用request方法获取数据并存在链上(调用用户为dsl)
调用get方法查看数据
返回结果
此时我们可以看到成都市的天气数据
总结
预言机的作用就是可以使得区块链能实时调用链下数据,没有预言机的情况是人工去传数据,使用预言机后,直接调用预言机合约的接口就能拿到链下数据,并且预言机通过内部共识和数据筛选算法保证数据的可信性,值得一提的是,国内预言机现在使用的数据源都是权威机构或政府背书的,但是对于小型数据源或国外数据源就没有这个效果了,目前团队也正在攻坚预言机数据源可信板块。