SEER区块浏览器开发指南

区块浏览器基本功能

区块链浏览器是浏览区块链信息的主要窗口,每一个区块所记载的内容都可以从区块链浏览器上进行查阅。用户可以使用区块链浏览器查询记录在区块中的交易信息,包括转账、预测、账户管理和社区治理操作等。

DAPP内的信息展示部分,和区块浏览器的作用相似。

SEER基于石墨烯底层开发,区块链上记录的最小信息是操作(operations)。每个区块(block)里可能有多个交易(transactions),每个交易里可能包含多个操作

区块浏览器需要预先考虑到多语言版本的需求。

时间显示:区块链时间为GMT/UTC,即英国格林尼治时间/世界标准时,考虑到SEER的用户遍及世界各地,以年月日时分秒显示时间时需考虑到用户所在时区的问题,使用N分钟前、N小时前、N天前的表达形式也是一个不错的选择。

在提法上,有的地方称1.15.N为预测市场,有的地方又称为房间,其实是一样的。同时,1.14.N有时称为预测市场设立者,有的时候又称为平台或是房主资质,二者也是一样的,可根据场景来介绍。

区块浏览器的页面

首页

1、滚动区域显示最新区块链上的操作信息:包括类型 发起ID(链接) 内容 被操作ID(链接,如果有并便于排版) 时间 交易ID(链接)
例如:

类型说明时间交易链接
[派发奖励]shehuilongge2018 对 预测市场446 “刘强东在明尼苏达所涉…”派奖10天前160d9a381a21
[转账]okok 转账 1000SEER 给 else11天前70dd572e03f7

160d9a381a21为缩写,实际的交易ID是160d9a381a2152d55719b0e7e4aea4aaecce06e3,链接格式为:https://seerscan.com/tx/160d9… 。之所以建议使用交易ID而不使用区块高度,是因为最新区块的信息不同于不可逆块,理论上来说在区块浏览器显示的操作信息所属区块可能在入块后会改变。而交易id是通过本地算法求得的,具有唯一性,更适合作为即时出现的链接地址。

滚动区域需显示的最新操作信息,可以首先通过info获得当前块高,再通过get_block获得当前块信息,若当前块包含交易信息,则将交易内的最新操作按一定格式显示。每3秒以后,可以用在块号上+1的方法再get_block获取下一个块的信息。

若要显示历史交易信息,则需要不断存储最新块内的信息,并保存全部或一定时间范围内的非空块信息。

2、显示区块链状态:包括最新块生产时间当前块高链号`出块时间间隔下次数据维护时间区块生产参与度,这些信息都可以通过infoget_global_properties`获得;

例如:

网络状态
最新块生产时间0秒前
当前块高42421333
链号cea4fdf4f5c2278f139b22e782b308928f04008b0fc2c79970a58974a2a28f91
出块时间间隔3秒
下次数据维护时间8小时后
区块生产参与度100%

3、提供搜索功能:可以输入区块号帐号交易id资产名预测市场id等信息搜索相应的信息,进入相应的页面;

先检测填入的数据类型,若为纯数字,则检测相应的区块和房间是否存在,若存在则下拉提示[预测市场]321416和[区块]321416(只提示存在的);

分别通过get_blocklist_accountslist_assetsget_seer_room,以及查询本地存储交易信息中交易id获得。

若输入的是字符串,则检测相应的帐号、交易id、资产名是否存在,若存在则下拉提示[帐号]opc、[帐号]opc002和[资产]opc,或[交易id]160d9a381a2152d55719b0e7e4aea4aaecce06e3(只提示存在的)。

his
HIS(UIA)1.3.1
IOU.HIS(UIA)1.3.21
hiseer(账号员)1.2.59
hise01(账号)1.2.8872
hello-his(账号)1.2.10231
shis1(账号)1.2.56782
160d9a381a2152d55719b0e7e4aea4aaecce06e3(交易)856782块高

用户点击后跳转到相应的页面。

4、链接到其他页面;

5、显示本轮活跃见证人:列表可以通过info获得,列表中的用户名(链接)点击跳转到账户相关页面;

6、显示本轮活跃理事会:列表可以通过info获得,列表中的用户名(链接)点击跳转到账户相关页面;

区块信息页面

1、显示该区块块号,时间,出块见证人。

2、该区块所包含的所有操作信息列表:包括类型 发起ID(链接) 内容 被操作ID(链接,如果有并便于排版) 时间 交易ID(链接)

3、格式化后的该区块json信息。

通过get_block获得相应信息。

链接格式为:https://seerscan.com/block/72…

账户相关页面

1、和该用户相关的操作列表(最近100个),可以通过get_relative_account_history获得:包括类型 发起ID(链接) 内容 被操作ID(链接,如果有并便于排版) 时间 交易ID(链接)

类型说明时间交易链接
[派发奖励]shehuilongge2018 对 预测市场446 “刘强东在明尼苏达所涉…”派奖,else 获得10000SEER10天前160d9a381a21
[转账]okok 转账 1000SEER 给 else11天前70dd572e03f7
[参与预测]else 参与 预测市场446 “刘强东在明尼苏达所涉…”,预测选项“不起诉”,支出1000SEER15天前19b0e7e4aea4

例如该账号参与过的房间房主派奖时,除显示房主派奖外,还应该显示该帐号余额的变动情况。通过op.result.deltas获取;

例如该账号参与预测时,除显示参与预测,该帐号余额的变动情况
(通过op.result.deltas获取)、输入结果(通过op.op.inputN获取),同时显示房间号(通过op.op.room 获取,链接)

交易id通过get_block op.block_num 获取该转账操作所在块的信息,再通过op.trx_in_block的数值来获取到块信息中transaction_ids数组里该转账操作对应的txid,同一个txid可能对应多个操作。

2、该账户属性:包含资产余额Object_ID帐户名推荐人注册人是否终身会员权限中显示该用户的资金账户MEMO公钥,若此用户具有预测市场设立者预言机见证人理事会等角色,或是投票给某个理事会成员/设置了投票代理,也将其属性值列出。以侧边栏的形式出现
例如:

资产余额
SEER1000000
OPC120000
PFC8700

通过list_account_balances获取

账户属性
帐户名okok
Object_ID1.2.30
是否终身会员
推荐人seer
注册人seer
权限
OwnerKeySEER7SQVh85z8N38jvcmYTtE7JifoRsGH5DEea6HixVdxVHTezDfHv
ActiveKeySEER7WyPH3aCQkGfWZkQnXuYPQNZ4ppC2n3tfA87hpAVtoqzXFh5gx
MemoKeySEER7WyPH3aCQkGfWZkQnXuYPQNZ4ppC2n3tfA87hpAVtoqzXFh5gx

通过get_account获取

3、预测市场设立者属性包括:Object_ID、描述、脚本、保证金、信誉度、参与量,以及当前正在进行的房间和历史房间前N位(信息格式见预测市场列表);
例如:

预测市场设立者信息
Object_ID1.14.6
描述请叫我社会哥
脚本
保证金300000
信誉度2
参与量2

通过get_house_by_account获取以上信息,同时可以用roomsfinished_rooms作为get_seer_room的参数获得以下数据:

正在进行的房间

类型设立者市场编号描述总参与量开启时间结束时间创建者权重标签
[PVP]okok446“BTC 2018年10月21日…”367万 SEER5天前5分钟后70%币比 币圈 经济 BTC
[高级]okok486“曼城 VS 恒大 胜负”188万 OPC3天前3小时后80%章鱼宝 体育 赛事 足球 欧亚杯 2018

已结束的房间

| 类型 | 设立者 | 市场编号 | 描述 | 总参与量 | 开启时间 | 结束时间 | 创建者权重 | 标签 |
| [PVD] | okok | 526 | “刘强东在明尼苏达所涉…” | 42万 ABC | 13天前 | 2天前 | 30% | 热门 社会 大佬 |

4、预言机属性包括:Object_ID、描述、脚本、保证金、信誉度、参与量。
例如:

预言机信息
Object_ID1.13.1
描述最帅预言机
脚本
保证金16000
信誉度3
参与量3

通过get_oracle_by_account获取

5、见证人属性包括:Object_ID、抵押数、待领取抵押收益、抵押清单(抵押ID+数额)、待领取出块收益、最近出块号、链接、丢块数、见证人签名公钥。

分别通过get_witnessget_vesting_balances获取,其中get_vesting_balances返回信息中,object_id为1.11.N的即出块收益,出块收益id通过get_witnesspay_vb获取。

例如:

见证人信息
Object_ID1.5.11
抵押数14000000
待领取抵押收益187865
待领取出块收益318642
最近出块号3216572
链接https://baidu.com
丢块数23
见证人签名SEER7QatX8TjD44ZHayfqBFYENUQQtvRU9b8ykgCBxBdaFRzqagKxc
抵押清单2.16.0、2.16.1、2.16.3

6、理事会信息属性包括:Object_ID、总得票数、链接。
例如:

理事会信息
Object_ID1.4.7
总得票数189765425
链接https://baidu.com

通过get_committee_member获取

链接格式为:https://seerscan.com/account/…

热门预测市场列表页面

1、列出当前活跃的预测市场(房间)列表:[市场类型(PVD/高级/PVP)] 创建者 房间号(Object_ID,链接) 描述(链接) 总参与量 开启时间 结束时间 创建者权重 标签(链接),默认按参与量排序,用户可按一定方式排序(排序方式包括总参与量、结束时间、创建者权重);

例如:

类型设立者市场编号描述总参与量开启时间结束时间创建者权重标签
[PVP]shehuige18446“BTC 2018年10月21日…”367万 SEER5天前5分钟后70%币比 币圈 经济 BTC
[高级]octopaul486“曼城 VS 恒大 胜负”188万 OPC3天前3小时后80%章鱼宝 体育 赛事 足球 欧亚杯 2018
[PVD]akira526“刘强东在明尼苏达所涉…”42万 ABC13天前20天后30%热门 社会 大佬

标签一栏中,根据页面显示区域显示1个至全部个数标签。

2、根据用户标签历史纪录在侧边栏生成标签云,每个标签链接到相应的预测市场标签列表页面。

3、列出活跃的预测市场设立者(按参与量排名列出前N位)。

可通过lookup_house_accounts获得房主列表,再通过get_houses获得所有活跃房间和历史房间,再通过get_seer_room获得房间详细信息。

标签云通过本地存储数据中的标签,列出使用次数最多的标签。

| 排名 | 设立者 | 描述 | 保证金 | 信誉度 | 参与量 |
| – | – | – | – | – | – |
| 1 | okok | 请叫我社会哥 | 300000 | 3 | 3 |
| 2 | else | 输钱福利社,输了又来的就是我。 | 500000 | 15 | 15 |

链接格式为:https://seerscan.com/hotmarkets

预测市场标签列表页面

1、列出当前活跃的预测市场(房间)列表:[市场类型(PVD/高级/PVP)] 创建者 房间号(Object_ID,链接) 描述(链接) 总参与量 开启时间 结束时间 创建者权重 标签(链接),默认按参与量排序,用户可按一定方式排序(排序方式包括总参与量、结束时间、创建者权重);

2、显示已结束/输入中预测市场列表,格式同上。

3、显示标签云。

通过get_rooms_by_label获取相应标签的房间id,再通过get_seer_room获取这些房间的详细信息。

标签云通过本地存储数据中的标签,列出使用次数最多的标签。

链接格式为:https://seerscan.com/label/社会

预测市场详情页面

1、显示房间属性:

通过get_seer_room获得房间详细信息,属性包括:市场Object_ID、设立者ID(链接)、标签(链接)、描述、市场类型(PVD/高级/PVP)、市场状态(进行中/未开始/已结束/结果输入)。

描述新加坡时间2019年1月2日0时整,比特币价格高于7000美元吗?以coinmarketcap.com显示价格为准。
类型PVD(LMSR)
Object_ID1.15.1236
设立者okok
标签币比 币圈 经济 BTC 币价 USD 美元 牛市

2、显示房间设置:接受资产、单次最小参与数额、单次最大参与数额;

接受资产SEER
单次最小参与数额100
单次最大参与数额10000

3、显示市场状态:开始时间、结束时间、结果输入时限、资金池(仅高级模式和PVD模式显示,PVD模式的资金池通过房主设定的L值和选项数,根据公式资金池F = L x ln(选项数量)计算出)、总参与量;

市场状态进行中
开始时间2018-12-22T02:36:29
结束时间2019-01-01T16:00:00
结果输入时限12小时
资金池12412984 SEER
总参与量98372123 SEER

4、显示预言机设置和门槛:市场设立者权重、预言机奖励、条件达到此门槛的预言机才能参与结果输入:(名誉、保证金、参与量)

市场设立者权重30%
每个预言机奖励100 SEER
条件达到此门槛的预言机才能参与结果输入
名誉3
保证金10000 SEER
参与量3

5、房间选项:包括选项描述、参与人数和参与数量(资产或份数),非LMSR显示奖金倍数。

选项内容参数人数参数量该选项发生概率
0归零0次0份0%
1小于7000美元8723次1234140份28.21%
2等于7000美元1次100000份0.1%
3大于7000美元7131次3453253份71.78%

6、最新参与滚动信息:

类型说明时间交易链接
[派发奖励]okok 对 预测市场1236 派奖2天前ZHayfqBF8QtvR
[输入结果]okok 对 预测市场1236 输入结果:选项1“小于7000美元”2天前fqBFYENUx9a3
[输入结果]else 对 预测市场1236 输入结果:选项1“小于7000美元”2天前d55719b0e7e4
[市场结算]okok 对 预测市场1236 结算3天前d9a381a2152d
[停止参与]okok 停止 预测市场12363天前4aecceds06e3
[参与预测]shehuilongge2018 参与 预测市场1236 ,预测选项1“小于7000美元”4天前a381a021520d
[参与预测]else 参与 预测市场1236 ,预测选项1“小于7000美元”5天前160d9a381a21

滚动信息包含房间参与数据,get_seer_room的参数包括房间object_id参与记录的开始索引start参与记录返回的最大数量limit。例如get_seer_room 1.15.236 0 100即表示返回236房间的前100个参与记录。若要显示更多记录,需要修改start,在当前start的基础上增加limit,例如若一个房间共200条记录,要全部显示需要get_seer_room 1.15.236 0 100,再get_seer_room 1.15.236 100 100

7、参与预测图表:参数包括时间、参与人次、参与数额、预测选项、选项赔率(PVD为单份成本);

链接格式为:https://seerscan.com/pm/3427 (PM = prediction market)

交易详细信息页面

1、显示该交易时间、所属区块。

2、显示该交易id下所有操作列表;

类型说明
[转账]okok 转账 1000ABC 给 else
[转账]okok 转账 1000ABC 给 alice
[转账]okok 转账 1000ABC 给 bob

3、显示格式化后的该交易json信息。

通过交易id和本地存储数据中的交易id匹配,显示该交易id对应的交易信息。

交易id有多重获取方式:

A 通过get_block获取区块信息中该交易所在transactions中的顺序位置,对应该区块信息中”transaction_ids”字符串中该交易对应的transaction_id

B 用户在转账操作时可以用transfer2替代transfer,这样在交易广播后,会在返回信息中直接给出该交易对应的transaction_id

C 用户可以使用get_transaction_id在参数中传入该交易的json格式内容,即可生成对应的transaction_id

D 用户在使用RPC方式调用get_relative_account_history时,返回信息中op.block_num即该操作的入块高度,op.trx_in_block 该操作所属交易的transaction_id在该区块transaction_ids字符串中的位置。

链接格式为:https://seerscan.com/tx/160d9…

资产介绍页面

1、该资产持有人列表(链接),持有占比;
2、持有分布统计饼图;
3、该资产的属性:资产代号、资产类型(CORE/UIA)、当前供应量、发行人(链接)、Object_ID、小数位数、最大供应量等(侧边栏)。
4、SEER的资产介绍页面可以作为SEER持仓分布页面在首页提供链接;

排名账户数额
1init08000000000.00000
2okok100000000.00000
3else300000.00000
4alice5400000.00000

属性:

资产代号ABC
Object_ID1.3.10
资产类型UIA
当前供应量8046234175
最大供应量10000000000
发行人okok
小数位数5

| 手续费汇率 | 0.56 SEER/ABC |
| 资金池余额 | 88838 |
| 发行人未申领收入 | 171419 |

该资产持有人列表可使用余额快照功能,每隔一段时间对指定资产的所有用户持仓进行快照,获取持有人列表数据。
资产属性可通过get_asset获得。

链接格式为:https://seerscan.com/assets/SEER

预测市场排行榜页面

1、显示预测市场设立者排行榜;

排名账户名声誉保证金参与量未领手续费分成奖励链接
1okok1351000000135345156http://baidu.com
2alice9870000098142343http://google.com
3bob7660000076267780http://facebook.com

默认通过声誉排序,通过lookup_house_accounts获得所有平台id,get_houses可获得平台的详细信息列表。

2、显示预言机排行榜。

排名账户名声誉保证金参与量链接
1else9510000095http://baidu.com
2tomato658000065http://google.com
3tom625000062http://facebook.com

默认通过声誉排序,通过lookup_oracle_accounts获得所有预言机id,get_oracles可获得预言机的详细信息列表。

链接格式为:https://seerscan.com/ranking

见证人信息页面

1、显示本轮活跃见证人列表:包括排名、账户名、上一个区块、上次生成块、缺失块数、抵押金、利息收入;

排名账户名上一个区块上次生成块缺失块数抵押金利息收入
1okok1分钟前456123212056161451353345
2else1分钟前45612112145628364562
3alice20秒前45612615981236345343
4bob现在456129081230124081236

通过list_witnesses获得所有见证人id,get_witness可获得每个见证人的详细信息。

按抵押金额排名前101位的为获息见证人,通过get_global_properties.result.active_collateral_witnesses可以获得获息见证人列表。

通过info获得本轮出块的21位活跃见证人和参与率等信息,每块奖励通过get_global_properties获得,本期剩余见证人奖励通过get_dynamic_global_properties中的witness_budget本期见证人预算总额 – 本期已出块数 * 每块奖励得出。

2、区块生产状态:包括当前见证人、活跃见证人、参与率、每块奖励、剩余预算、计票更新时间(侧边栏显示);

当前见证人bob
活跃见证人21
参与率100%
每块奖励3SEER
本期剩余预算23127SEER
计票更新时间8小时后

3、可切换主力见证人、主力及候选见证人(获息见证人)、所有见证人(所有注册见证人资格的用户,包括未入选获息见证人的用户)。

理事会信息页面

1、显示排名、账户名、得票数、竞选网页。

2、可以切换活跃理事会成员和所有(含竞选中)理事会成员页面

排名账户名得票数竞选网页
1okok65115531http://baidu.com
2else54234798http://baidu.com
3alice68633872http://baidu.com

所有理事会成员列表通过list_committee_members获得,活跃理事会成员列表通过get_global_properties.result.active_committee_members 或 info 获得,详细信息通过get_committee_member获得。

    原文作者:SEER小助手
    原文地址: https://segmentfault.com/a/1190000016824737
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞