Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
share
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张振华
share
Commits
0d535848
Commit
0d535848
authored
Dec 11, 2018
by
张振华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oracle
parent
84a2af0e
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
40 additions
and
0 deletions
+40
-0
Oracle-Seq.jpg
resource/oracle/Oracle-Seq.jpg
+0
-0
Oracle-Seq.mdj
resource/oracle/Oracle-Seq.mdj
+0
-0
Oracle-Seq.png
resource/oracle/Oracle-Seq.png
+0
-0
Oracle-State.jpg
resource/oracle/Oracle-State.jpg
+0
-0
Oracle-State.mdj
resource/oracle/Oracle-State.mdj
+0
-0
Oracle-State.png
resource/oracle/Oracle-State.png
+0
-0
数据发布预言机合约.md
数据发布预言机合约.md
+40
-0
No files found.
resource/oracle/Oracle-Seq.jpg
0 → 100644
View file @
0d535848
197 KB
resource/oracle/Oracle-Seq.mdj
0 → 100644
View file @
0d535848
This diff is collapsed.
Click to expand it.
resource/oracle/Oracle-Seq.png
0 → 100644
View file @
0d535848
285 KB
resource/oracle/Oracle-State.jpg
0 → 100644
View file @
0d535848
41.9 KB
resource/oracle/Oracle-State.mdj
0 → 100644
View file @
0d535848
This diff is collapsed.
Click to expand it.
resource/oracle/Oracle-State.png
0 → 100644
View file @
0d535848
72 KB
数据发布预言机合约.md
0 → 100644
View file @
0d535848
# 一、需求描述
## 1.需求背景:
为保证数据的公平公正性,在区块链上提供权威数据发布合约。满足以下需求:
合约提供录入和查询接口。
合约录入时对数据的key和value定义好标准的格式。
合约是否要满足一定的经济模型,惩罚机制(一期可以不实现,后面再加入)
## 2.实现点:
发布者的地址需要通过superManager添加,调用我们系统manage合约。
数据发布的key要遵循一定的格式,比如游戏类的格式要满足一定的前缀(发布者地址+ 运营特征值+游戏类别 等)
数据发布的时候要能输入数据来源描述(比如:数据来源于新浪体育)
数据发布的value要根据现有的业务做一定的抽象,这块一期可以先考虑下,不用实现的很完备。 一期可以用json格式,数据提供方和开发方可以事先先约定好。
合约对外提供查询接口供具体的应用合约调用, 具体的应用合约只查询满足条件的key,获取数据做相应的运算。
数据的发布需要先预发布,再审核后切换成正式发布。(类似于token的预创建和完成这两步)
# 二、流程及状态机示意
## 1.流程时序图

## 2.状态机图

## 3.说明
1.
合约提供基础的数据受限发布上链的能力,通过授权特定地址,保证数据正确可靠。(运营方为自身业务持续发展考虑,会保证数据正确,并为数据失误负责)
2.
事件发布和结果发布分为两个过程,这样可以方便运营方从事件发布中获取竞猜或者菠菜的事件源,在结果出现时,提供正确结果,供菠菜合约自动开奖。
3.
事件多来自现实世界,结果可验证,如果出现结果错误,运营方需要承担责任。
4.
考虑现实世界,有些事件会因为不可抗力(自然灾害、战争等),导致事件最终未发生,没有结果,则Oracle合约提供撤销事件的接口。
5.
对于结果预发布到链上供检验,如果有问题,会有人提出来,管理员或者特定权限的地址可以撤销预发布结果。
6.
对于预发布结果确认正确无误,可由管理员或者特定权限的地址正式发布。正式发布后的结果不能修改。
7.
数据结果发布中,json格式中可以通过字段标记数据来源等必要信息。
8.
第一期合约存储数据主要是json格式,json格式的具体字段可以根据具体的事件类型来进行设计,以满足不同的菠菜、竞猜合约的需要。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment