区块浏览器基本功能
区块链浏览器是浏览区块链信息的主要窗口,每一个区块所记载的内容都可以从区块链浏览器上进行查阅。用户可以使用区块链浏览器查询记录在区块中的交易信息,包括转账、预测、账户管理和社区治理操作等。
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 给 else | 11天前 | 70dd572e03f7 |
160d9a381a21
为缩写,实际的交易ID是160d9a381a2152d55719b0e7e4aea4aaecce06e3
,链接格式为:https://seerscan.com/tx/160d9... 。之所以建议使用交易ID而不使用区块高度,是因为最新区块的信息不同于不可逆块,理论上来说在区块浏览器显示的操作信息所属区块可能在入块后会改变。而交易id是通过本地算法求得的,具有唯一性,更适合作为即时出现的链接地址。
滚动区域
需显示的最新操作信息,可以首先通过info
获得当前块高,再通过get_block
获得当前块信息,若当前块包含交易信息,则将交易内的最新操作按一定格式显示。每3秒以后,可以用在块号上+1的方法再get_block
获取下一个块的信息。
若要显示历史交易信息,则需要不断存储最新块内的信息,并保存全部或一定时间范围内的非空块信息。
2、显示区块链状态
:包括最新块生产时间
、当前块高
、链号
`出块时间间隔、
下次数据维护时间、
区块生产参与度,这些信息都可以通过
info和
get_global_properties`获得;
例如:
网络状态 | |
---|---|
最新块生产时间 | 0秒前 |
当前块高 | 42421333 |
链号 | cea4fdf4f5c2278f139b22e782b308928f04008b0fc2c79970a58974a2a28f91 |
出块时间间隔 | 3秒 |
下次数据维护时间 | 8小时后 |
区块生产参与度 | 100% |
3、提供搜索
功能:可以输入区块号
、帐号
、交易id
、资产名
、预测市场id
等信息搜索相应的信息,进入相应的页面;
先检测填入的数据类型,若为纯数字,则检测相应的区块和房间是否存在,若存在则下拉提示[预测市场]321416和[区块]321416(只提示存在的);
分别通过get_block
、list_accounts
、list_assets
、get_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 获得10000SEER | 10天前 | 160d9a381a21 |
[转账] | okok 转账 1000SEER 给 else | 11天前 | 70dd572e03f7 |
[参与预测] | else 参与 预测市场446 “刘强东在明尼苏达所涉...”,预测选项“不起诉”,支出1000SEER | 15天前 | 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
公钥,若此用户具有预测市场设立者
、预言机
、见证人
、理事会
等角色,或是投票给某个理事会成员/设置了投票代理,也将其属性值列出。以侧边栏的形式出现
例如:
资产余额 | |
---|---|
SEER | 1000000 |
OPC | 120000 |
PFC | 8700 |
通过list_account_balances
获取
账户属性 | |
---|---|
帐户名 | okok |
Object_ID | 1.2.30 |
是否终身会员 | 是 |
推荐人 | seer |
注册人 | seer |
权限 | |
---|---|
OwnerKey | SEER7SQVh85z8N38jvcmYTtE7JifoRsGH5DEea6HixVdxVHTezDfHv |
ActiveKey | SEER7WyPH3aCQkGfWZkQnXuYPQNZ4ppC2n3tfA87hpAVtoqzXFh5gx |
MemoKey | SEER7WyPH3aCQkGfWZkQnXuYPQNZ4ppC2n3tfA87hpAVtoqzXFh5gx |
通过get_account
获取
3、预测市场设立者
属性包括:Object_ID、描述、脚本、保证金、信誉度、参与量,以及当前正在进行的房间和历史房间前N位(信息格式见预测市场列表);
例如:
预测市场设立者信息 | |
---|---|
Object_ID | 1.14.6 |
描述 | 请叫我社会哥 |
脚本 | - |
保证金 | 300000 |
信誉度 | 2 |
参与量 | 2 |
通过get_house_by_account
获取以上信息,同时可以用rooms
、finished_rooms
作为get_seer_room
的参数获得以下数据:
正在进行的房间
类型 | 设立者 | 市场编号 | 描述 | 总参与量 | 开启时间 | 结束时间 | 创建者权重 | 标签 |
---|---|---|---|---|---|---|---|---|
[PVP] | okok | 446 | “BTC 2018年10月21日...” | 367万 SEER | 5天前 | 5分钟后 | 70% | 币比 币圈 经济 BTC |
[高级] | okok | 486 | “曼城 VS 恒大 胜负” | 188万 OPC | 3天前 | 3小时后 | 80% | 章鱼宝 体育 赛事 足球 欧亚杯 2018 |
已结束的房间
| 类型 | 设立者 | 市场编号 | 描述 | 总参与量 | 开启时间 | 结束时间 | 创建者权重 | 标签 |
| [PVD] | okok | 526 | “刘强东在明尼苏达所涉...” | 42万 ABC | 13天前 | 2天前 | 30% | 热门 社会 大佬 |
4、预言机
属性包括:Object_ID、描述、脚本、保证金、信誉度、参与量。
例如:
预言机信息 | |
---|---|
Object_ID | 1.13.1 |
描述 | 最帅预言机 |
脚本 | - |
保证金 | 16000 |
信誉度 | 3 |
参与量 | 3 |
通过get_oracle_by_account
获取
5、见证人
属性包括:Object_ID、抵押数、待领取抵押收益、抵押清单(抵押ID+数额)、待领取出块收益、最近出块号、链接、丢块数、见证人签名公钥。
分别通过get_witness
和get_vesting_balances
获取,其中get_vesting_balances
返回信息中,object_id为1.11.N
的即出块收益,出块收益id通过get_witness
的pay_vb
获取。
例如:
见证人信息 | |
---|---|
Object_ID | 1.5.11 |
抵押数 | 14000000 |
待领取抵押收益 | 187865 |
待领取出块收益 | 318642 |
最近出块号 | 3216572 |
链接 | https://baidu.com |
丢块数 | 23 |
见证人签名 | SEER7QatX8TjD44ZHayfqBFYENUQQtvRU9b8ykgCBxBdaFRzqagKxc |
抵押清单 | 2.16.0、2.16.1、2.16.3 |
6、理事会信息
属性包括:Object_ID、总得票数、链接。
例如:
理事会信息 | |
---|---|
Object_ID | 1.4.7 |
总得票数 | 189765425 |
链接 | https://baidu.com |
通过get_committee_member
获取
链接格式为:https://seerscan.com/account/...
热门预测市场列表页面
1、列出当前活跃的预测市场(房间)列表:[市场类型(PVD/高级/PVP)] 创建者 房间号(Object_ID,链接) 描述(链接) 总参与量 开启时间 结束时间 创建者权重 标签(链接),默认按参与量排序,用户可按一定方式排序(排序方式包括总参与量、结束时间、创建者权重);
例如:
类型 | 设立者 | 市场编号 | 描述 | 总参与量 | 开启时间 | 结束时间 | 创建者权重 | 标签 |
---|---|---|---|---|---|---|---|---|
[PVP] | shehuige18 | 446 | “BTC 2018年10月21日...” | 367万 SEER | 5天前 | 5分钟后 | 70% | 币比 币圈 经济 BTC |
[高级] | octopaul | 486 | “曼城 VS 恒大 胜负” | 188万 OPC | 3天前 | 3小时后 | 80% | 章鱼宝 体育 赛事 足球 欧亚杯 2018 |
[PVD] | akira | 526 | “刘强东在明尼苏达所涉...” | 42万 ABC | 13天前 | 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_ID | 1.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 停止 预测市场1236 | 3天前 | 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持仓分布页面在首页提供链接;
排名 | 账户 | 数额 |
---|---|---|
1 | init0 | 8000000000.00000 |
2 | okok | 100000000.00000 |
3 | else | 300000.00000 |
4 | alice | 5400000.00000 |
属性:
资产代号 | ABC |
---|---|
Object_ID | 1.3.10 |
资产类型 | UIA |
当前供应量 | 8046234175 |
最大供应量 | 10000000000 |
发行人 | okok |
小数位数 | 5 |
| 手续费汇率 | 0.56 SEER/ABC |
| 资金池余额 | 88838 |
| 发行人未申领收入 | 171419 |
该资产持有人列表
可使用余额快照功能
,每隔一段时间对指定资产的所有用户持仓进行快照,获取持有人列表数据。
资产属性可通过get_asset
获得。
链接格式为:https://seerscan.com/assets/SEER
预测市场排行榜页面
1、显示预测市场设立者排行榜;
排名 | 账户名 | 声誉 | 保证金 | 参与量 | 未领手续费分成奖励 | 链接 |
---|---|---|---|---|---|---|
1 | okok | 135 | 1000000 | 135 | 345156 | http://baidu.com |
2 | alice | 98 | 700000 | 98 | 142343 | http://google.com |
3 | bob | 76 | 600000 | 76 | 267780 | http://facebook.com |
默认通过声誉排序,通过lookup_house_accounts
获得所有平台id,get_houses
可获得平台的详细信息列表。
2、显示预言机排行榜。
排名 | 账户名 | 声誉 | 保证金 | 参与量 | 链接 |
---|---|---|---|---|---|
1 | else | 95 | 100000 | 95 | http://baidu.com |
2 | tomato | 65 | 80000 | 65 | http://google.com |
3 | tom | 62 | 50000 | 62 | http://facebook.com |
默认通过声誉排序,通过lookup_oracle_accounts
获得所有预言机id,get_oracles
可获得预言机的详细信息列表。
链接格式为:https://seerscan.com/ranking
见证人信息页面
1、显示本轮活跃见证人列表:包括排名、账户名、上一个区块、上次生成块、缺失块数、抵押金、利息收入;
排名 | 账户名 | 上一个区块 | 上次生成块 | 缺失块数 | 抵押金 | 利息收入 |
---|---|---|---|---|---|---|
1 | okok | 1分钟前 | 456123 | 2 | 1205616145 | 1353345 |
2 | else | 1分钟前 | 456121 | 1 | 21456283 | 64562 |
3 | alice | 20秒前 | 456126 | 1 | 5981236 | 345343 |
4 | bob | 现在 | 456129 | 0 | 8123012 | 4081236 |
通过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、可以切换活跃理事会成员和所有(含竞选中)理事会成员页面
排名 | 账户名 | 得票数 | 竞选网页 |
---|---|---|---|
1 | okok | 65115531 | http://baidu.com |
2 | else | 54234798 | http://baidu.com |
3 | alice | 68633872 | http://baidu.com |
所有理事会成员列表通过list_committee_members
获得,活跃理事会成员列表通过get_global_properties
.result.active_committee_members 或 info
获得,详细信息通过get_committee_member
获得。