Lens v0.1.2 新功能:市场订单记录、快速交易记录查询、转账记录、代理详情和记录 | Lens v0.1.2 new features: Order History, Improved Trade History, Transfer and Delegation Details and History

本文介绍 Lens 项目的最新功能:

  1. 市场订单记录
  2. 更快的交易记录查询
  3. 转账记录
  4. 代理详情、代理记录

关于 Lens 项目的简单介绍,可以参考文章:Lens: 用数据看清世界 | Lens: A Clear World via Data,用基于 Steem Smart Contract、Scotbot 的数据,看清项目、组织、市场等的真实情形,了解过去、预测未来。


image source: Pixabay

Lens 项目的链接为: https://tribes.rocks/lens/

新功能 New Features

本次我们开发了一些之前计划中的功能,并使用了最新的Steem Engine的API提高了查询的效率。

1. 我的订单记录 My Orders History

前一个版本的更新中,我们就已经添加了未完成的订单的功能,这次更新中为了方便查询历史上提交过的订单,我们也添加了订单记录这个功能。

比如我们想学习某一个用户的挂单策略,甚至查看某个挂单的用户是不是交易机器人,我们可以通过Order History 的功能来进行分析。

以下为一些案例:

第一个例子。以 @aggroed 为例,我们可以看到他的PAL挂单是买单多于卖单,我们可以看到他的挂价随着市场价格的变化也在不断进行调整,并对市场价格的稳定有一定的影响力。


image.png
screenshot from https://tribes.rocks/lens/?account=aggroed&page=order&token=PAL

第二个例子。之前很多人对于 SCT 的价格快速上升到 4~5 Steem 觉得很兴奋,当然这背后是离不开团队的护持的。实际上,我们可以直接看到 Jack 的挂单细节,结合交易记录,还可以看到是谁在对应的价格卖出了 SCT。


image.png
screenshot from https://tribes.rocks/lens/?account=jack8831&page=order&token=SCT

image.png
screenshot from https://tribes.rocks/lens?page=trade&account=jack8831&token=SCT

第三个例子。之前村长 @ericet 提到过 MEEP 背后有交易机器人的影子,通过观察 此账户的MEEP 交易记录,我们可以看到在6月29日至7月2日之间,有接近500个买单+卖单被生成,确实比较像机器人操控市场的行为。交易频率是识别机器人的重要特征之一。


image.png
screenshot from https://tribes.rocks/lens?page=order&account=inertia&token=MEEP

2. 更快的交易记录查询 Faster Trade History Query

上一篇中,我们已经推出了交易记录查询的功能,但由于受依赖服务的稳定性影响较大,有时会不可用。所以,对于个人交易记录的查询,我们采用了新的Steem Engine API,查询效率和稳定性都有了很大的提高。

譬如,我们要查看某位曾经在ZZAN空投中采用大量小号领取空投的攻击者的市场行为,可以查看她/他的交易记录。原来她/他已经出售了 80K+ 的ZZAN(出售价格为 3K+ Steem)。(表格之下的总和统计的是所有交易记录的总和,而不只是当页的综合。)


image.png
screenshot from https://tribes.rocks/lens/?account=mcenoramle&page=trade&token=ZZAN

目前交易记录的查询,比之前已经快了很多,应该可以正常使用了。

3. 转账记录 Transfer History

转账记录在 Steem Engine 中应该也可以查看。这里的转账记录可以查看多种 Token 的记录,同时将转出与转入分离,可能使用时会更灵活一些。

比如,我们想看上面提到的这位攻击者主要从哪些小号转账,以及她/他的主要关联账户是哪些,我们可以通过转账记录查询到一些蛛丝马迹。

如果可以加上一些转账的数额和分布的统计信息,或许会更容易发现其中的关联。这一功能我们可能会在 Affinity 账户关联的功能中实现。


image.png
screenshot from https://tribes.rocks/lens?page=transfer&account=mcenoramle&token=ZZAN

4. 代理详情和记录 Delegation Details and Records

代理是一个十分有趣的功能,但有时候我们希望查看代理给了谁以及谁代理跟了我时,在Steem Engine中不是很方便。
所以代理详情主要是展示代理者和被代理者的基本信息。例如,我们可以看看CN区的集资号的代理情况。



screenshot from https://tribes.rocks/lens/?account=cn-zzang&page=delegation

image.png
screenshot from https://tribes.rocks/lens/?account=cn-sports&page=delegation

使用代理历史记录的功能,我们还可以看到用户逐步代理的记录,即每一次新代理的数量是多少。


image.png
screenshot from https://tribes.rocks/lens/?account=cn-zzang&page=delegation

以上便是代理详情和代理记录的页面。

计划 Plan

本次的更新的4个功能都和历史信息有一些关系,帮助我们看清事物的变化。

Lens 的服务的页面交互、功能的完善度和友好度还存在很多缺陷,我们会继续优化。以下是更新的计划:

  1. 添加更多信息查询功能:如账户关联 Affinity、共享黑名单、排行榜等。
  2. 完善对 token 市场和项目的分析:投资价值(投资回报比例)、持有者的动态、项目动态等等,以辅助投资决策;
  3. 有趣的数据科学专题,如 steemspeak 的价格波动分析。目前我们有一个“数据科学”小组正基于兴趣进行这方面的研究和探索。如有兴趣,欢迎加入我们。
  4. 改进服务界面,添加 token 的选择、用户登录、改进整体的页面风格和交互等。

如果你对这个工具感兴趣,或者有别的想要看到的信息,不妨留言告知我们。

Lens 的地址是:https://tribes.rocks/lens/

目前如果要查看token和账户相关信息,请修改token和account相关的参数。


This page is synchronized from the post: ‘Lens v0.1.2 新功能:市场订单记录、快速交易记录查询、转账记录、代理详情和记录 | Lens v0.1.2 new features: Order History, Improved Trade History, Transfer and Delegation Details and History’

Steem Engine Threat Model (1) | Steem Engine 安全威胁模型(一)

区块链安全威胁模型 | Blockchain Threat Model

互联网平台和金融市场,从来不缺乏投机者和攻击者。在区块链领域,由于结合了互联网和金融的特点,除了其带来的技术创新之外,也激发了大量的金融犯罪,包括洗钱、经济诈骗、安全攻击等等,不可胜数。犯罪者总是走在科技创新的前沿,这是技术史上的常例。

由于 Steem 等区块链平台存在数据公开、资金敏感的特点,与其他常见的网络安全模型相比,如 OWASP 等,存在很大的差异。这也提出了在此领域建立针对性的安全模型的必要。

此前,我们在其他的文章中介绍过 SportsTalkSocial 等平台发生过的创世攻击(Genesis Attack)的典型案例。本文简要介绍 Tunes 项目( https://www.tunestoken.com/ )面对的较为严重的 空投攻击 | Airdrop Attack 的情况。



image source Pixabay

空投攻击 | Airdrop Attack

在文章 A New Tribe Is Born!!! Welcome To The Tunes Tribe!!!!! 中,Tunes 平台将对添加评论的用户进行空投。



这与之前的 ZZAN 空投的情形类似。

由于 Tunes 并没有明确表示针对申请者的申请条件,很快有大量用户进行申请。昨天在浏览申请留言时,我们发现有一位有约 500 个小号的用户,动用了他的大量小号(或许不是全部)进行了空投认领,很快将评论的总数刷到了 1000+。

具体情况可以参见上文中的评论部分,我们会发现有大量模式相同的账户名称与相似与反复出现的留言格式。通过 steemd 的简单查看,我们可以发现这些账户都由同一个主账户控制。


image.png
screenshot from A New Tribe Is Born!!! Welcome To The Tunes Tribe!!!!!

毫无疑问,在通过留言进行空投的形式中,这类攻击很容易被引发。

在之前的 ZZAN 空投中,也不乏有用户通过大量小号留言来领取空投。我们发现这同一位攻击者在 ZZAN 的空投活动中也同样领取了大量ZZAN空投,并在市场上卖出了大量ZZAN。除了这类恶意的攻击者,也不乏一些存在多账号的用户,通过自己的多账户,领取空投的情况。

以上的空投攻击(Airdrop Attack)的情况目前已经告知了 Tunes 团队,他们将采取措施对申请者进行更为严格的审查。

如何防御 | Countermeasures

Tunes 和 ZZAN 在空投时,都采用了回复留言并发放空投的形式。这种形式,这对于投机者而言是极为廉价和可控的发动空投攻击的方式。作为防范,空投一方有必要进行账户信息、账户关联验证、黑名单验证等方式来进行过滤,以提高空投的有效性和安全性。

账户信息验证 | Account Info Validation

首先,在平台自主空投模式下,运营方通常会根据账户的 Stake情况、账户年龄、声望、发帖频率、活跃度等信息,来生成一个基本的名单,进行空投。

在“留言回复模式”下,虽然不会主动搜寻名单,但同样需要加入一层审查机制,对申请的账户进行基本的信息排查与验证,以防止被投机者利用。

账户关联查询 | Accounts Affinity

在相对匿名的平台上,小号泛滥是无法遏制的行为。但账户间存在的互动、转账等社会与经济联系有时难以避免;而且,当账户要套现时,也经常不得不使用同一个交易所账户:这些都是鉴别小号的有效手段。

目前的挑战可能在于进行关联分析的成本较高。针对这一问题,Lens工具原来就打算提供一个展示账户关联的工具,以防范攻击者,将在近期推出。

黑名单共享 | Shared Blacklist

此外,对于存在“犯罪记录”的用户,各Tribes和 Steem Engine 方面应该使用一个共享的黑名单,用于帮助各社区的运营者和用户们,发现和识别“犯罪分子”,清除负面影响。

对此,Lens 可能也会提供一个黑名单的入口,帮助用户识别常见的社区扰乱者。

最后

本文是【Steem Engine 安全威胁模型】系列文章之一,用于介绍于 Steem 等区块链平台中常见的安全攻击范式,帮助平台的运营者和使用者们,更好的使用平台、获取价值。

安全攻击难以彻底扼制和避免的,但通过有效的学习和使用防范机制,可以帮助各方共同遏制常见的攻击者和投机者的行为。


This page is synchronized from the post: ‘Steem Engine Threat Model (1) | Steem Engine 安全威胁模型(一)’

功过与是非

上一期《贺寿与建祠》中,我们谈到了写人物的对联,如寿联与祠联。今日继续人物的话题,谈一谈“挽联”。

梁启超在《李鸿章传》中说:“天下唯庸人无咎无誉”。千古之下,本无完人,也无须完人。

大人物的功过是非,自来不易评价。庸碌之人评论其人,虽多巷议,实无定论:其一,未曾有大人物的境界与视野,以己度人,未免失之偏狭;其二,其评价多依据“风闻”,不力求史实与证据,颇多臆测。

正如赵翼所说:

只眼须凭自主张,纷纷艺苑漫雌黄。
矮人看戏何曾见,都是随人说短长。

挽联,多由亲朋所赠,比之媒体的捕风捉影,更有可信之处、更多真情实感,也是我们观看世间的一道窗口。

功过

上一篇中我们曾提到一副讽袁世凯的寿联,这里以袁氏为例,继续谈”挽联“。

今人对袁氏的“差评”,在于其“洪宪复辟称帝”,在历史教科书中被盖棺定论为“独夫民贼“。但历史进程中的细节,不该如此简单观看:至少“洪宪”本是“洪扬宪法”之意;所谓“复辟帝制”,是以日德等“君主立宪”为模仿的对象;所谓“宋教仁案”,史料也多认为非袁所指使。

当时的“共和”与“君宪”两派,针锋相对。在军政实力上,以“君宪”派为强(“非袁不可”,其意在此),但在舆论和谋略上,似乎“共和”派更高一筹(如蔡松坡之反复)。“君宪”的眼光,确不如“共和”激进与长远,但动荡之中的“保守”与“统一”,也有广大的支持者。“共和”既然最终获胜,则“君宪”一派的袁项城、杨度、严复、刘师培、康有为等人,自然被历史进程所抛弃;只是所谓“胜败”,从历史的节点来看,却本非注定的。

且看杨度挽袁项城联:袁氏死后,群龙无首、军阀割据,正在情理之中。至此30余年后,方定于一。

民国误共和,共和误民国,百年之后,再评是案;
君宪负公明,公明负君宪,九泉之下,三复斯言。

讽袁氏的挽联,则多为“无名氏”所作为佳。例如讽袁氏的生平,确是当时舆论:

刺遁初而遁初死,鸩智庵而智庵死,最后杀夔丞而夔丞又死。死者长已矣,阴府三曹谁折狱?
使朝鲜则朝鲜亡,臣满清则满清亡,及身帝洪宪则洪宪亦亡。亡之命也夫,轻舟两岸不啼猿。

总得来说,袁世凯一时之国柱、数十年之雄,执掌天下之时,也并非毫无作为;于家国,既有功、亦有过。然国体之争既败,身死名灭、为他人笑者,此乃作史者之无情也。



image source: Wikipedia - 袁世凯

是非

袁项城的对立面,正是孙中山,今人称之“国父”者也。

孙中山的生平,无须赘言。然公之事业,未能亲手完成,及先生逝世,仍然军阀混战、“天下三分”,所以“革命尚未成功,同志仍需努力”,其意在此。孙文虽有“国父”之名,却无“国父”之实,此其所不及华盛顿者。

1925年3月12日,孙先生逝世,自有各方名流所赠之联,也有政敌所赠之联。

国民党元老于右任作挽联:

总四十年胼手胝足之工,直是为生民立命,为天地立心,历程中,揖让征诛举同尘土;
流九万里志士劳民之泪,始知其来也有因,其生也有自,瞑目后,精神肝胆犹照人寰。

蔡元培赠联:

是中国自由神,三民五权,推翻历史数千年专制之局;
愿吾侪后死者,齐心协力,完成先生一二件未况之功。

杨度赠联,也是公论:

英雄作事无他,只坚忍一心,能成世界能成我;
自古英雄有几?正疮痍满目,半哭苍生半哭公。

袁克文反对其父袁氏称帝,此联只中,兼有惋惜袁、孙二人之意(上联指中山陵近明孝陵):

埏隧近明帝故陵,自有江南供俎豆;
史迁作霸王本纪,不教成败论英雄。

袁与孙,都未能竟其功,然一时之方略的是非,难以逆赌。百多年来各种尝试与探索,至今仍无定论;所谓是非,也常常不只有一个答案。

然能保持多元、开放的头脑,这或许是后来者从历史的浪潮中所能收获的。



image source: Wikipedia - 孙中山

活动

上一期活动,我们为刚满50、60或70级的寿星作寿联。

下面为活动结果。‌‌

参与:

  • 赠机机的小号 @kissfirer 的寿联如下

@andrewma

古有丝绸之路
今有机机著传

@julian2013

如飞蛾赴火,
祈凤凰涅槃。

@abcallen

福福福福入冬还
寿寿寿寿比南山

  • 赠野夫:@zhongyefu 的寿联如下

@andrewma

如论帅气逼人
唯我也夫是也

@zhongyefu 自寿联

忽临茫茫雪
没及盈盈心

  • 赠平健:@m18207319997 的寿联如下

@m18207319997 自寿联

斯缇姆价格平稳不下跌,
新手村发展健全永前进!

  • 赠阿盐:@robertyan 的寿联如下

@andrewma

文如寅技超Robert文武双全
心似镜胸如山虚怀若谷

@julian2013

正儿八经腌萝卜
学富五车是真干

点评:‌‌

  • 这期参与还是挺活跃的,感谢大家的参与与对寿星们的祝福。

奖励:‌‌

  • 按照上期规则,每位有他人给他写对联的寿星都能获得 1 STEEM:@kissfirer, @zhongyefu, @robertyan。
  • 最佳作品获得 2 STEEM 奖励:@julain2013 自寿联为佳,如下:
  • 其余每人获赠 0.1 STEEM 参与奖。

本期最佳是 @julian2013 为 @kissfirer 自寿联,正是“吻火者”之谓。

如飞蛾赴火,
祈凤凰涅槃。

—-‌‌

以下为本期对联活动内容:为100年内故去之人任选一位做“挽联”

  • 形式:‌
    • 为“挽联”,含上下两联
  • 规则:‌‌

    • 满足对联的基本规则;
    • 不许抄袭任何别人的成果;
    • 不应当使用机器协助,如微软亚洲研究院开发的“自动对联”
  • ‌奖励:最佳作品奖励 3 STEEM;参与奖,各0.1 STEEM,前10名都有奖 :)‌‌

  • 参与方式:回复本文‌‌
  • 评价方式:由 @robertyan 评判
  • 时间:本文发布起7日内有效‌‌

更多对联相关文章,可以查看:https://steemblog.github.io/@robertyan/tags/cn-couplet/

参考文献


This page is synchronized from the post: ‘功过与是非’

Delve into Steem Engine (1) | 深入理解 Steem Engine (一)

本系列文章的目的是帮助开发者(Developers)学习和了解 Steem Engine 系统的基本原理,引导阅读 Steem Engine 核心项目的源代码。同时,本文也是对《Steem Engien手册》的《开发与数据》章节的投稿。



image source: https://github.com/steem-engine-exchange

缘由:导读

做学问的一般方法:“学、问、思、辨、行”。其中“学”是以阅读和观察为主,对于不同的知识领域都是如此,所谓“欲求创新,必先通达”。举例来说,对于自认为有“知识”的人而言,如果并不熟悉和深入阅读人类智慧的经典或对世界的现象有深入观察,便难以称得上是有智慧。对于“技术”领域亦如是,如果对于人类技术的核心发展脉络并没有清晰的了解,那么对于“技术”概念在不同尺度的把握,也会存在一些误区。

狭隘一些来讲,对于所谓的“程序员”(Programmer或Developer),想要对于计算机技术有一定程度的掌握的话,恐怕也要对于最经典的代码(Code)有一定程度阅读和理解。这是个浅显的道理,但不见得有多少“程序员”真正下了苦功夫去认真“阅读”和掌握这些智慧,这与当下趋于功利、缺乏耐性、追寻变化的时代背景不无关系。具体来说,操作系统、计算机语言、数据存储和处理、计算引擎、Web浏览器、常用协议和工具等的代码,是最值得阅读的经典代码的例子,而这些代码中有很多都是开放源代码的(Open Source),可以轻松获取。

经典虽在,却少有人阅读。一方面,这是由于缺乏“夫学须静也”的心态,另一方面,阅读过程上的挑战可能在于缺少对于项目的背景、缘由、设计哲学、基本概念、系统结构、发展方向等“情境”(Context)的理解,所以要着手深入阅读对于很多人而言是困难的,换句话说,缺少“导读”。相对应地,我们有时能看到一些解读这些项目的书籍,也确实能降低普通读者了解这些项目的成本。但需要警惕的是,“导读”无法替代“阅读”,从整体上把握这些人类的智慧,需要系统、深入地“阅读”。

本文的目的正是“导读”。Steem Engine作为一个项目而言,其生命周期或难以预料,但至少它勾勒了一种构建现代应用和货币生态的可能性,并处在一个较为独特的位置,可以作为一个案例来阅读和学习,这是我们建议“阅读”它的原因。既为导读,难免失之笼统,而疏于细节;但求能把握住一些最核心的思想和方法,有益于读者。

结构:社群 = 货币 + 应用 + 人

对于 Steem Engine的详细介绍,请参考《Steem Engine手册》中的内容。但如果要用一句话来总结 Steem Engine 的价值,我认为便是:“创建社群”(Create Tribes)。

首先,这里的“社群”(Tribe)的概念指一种通过货币(token)为媒介、应用(app)为载体,推动具有某一个或多个维度上具有共同特征的人群进行社会互动的组织形式。

其次,“创建”的含义在于 Steem Engine使得“社群”的形成,其依赖于社会、经济和技术的基础。Steem Engine的主要贡献是在技术上(app)和经济上(token)使其成为可能。至于社交上的可行性,则已经由 Steem 社区本身提供了“用户基础”;但同时,Steem 在技术上和经济上的基础功能,也不可忽视。

Steem Engine 从产出上来看,为各个“社群”的形成提供了(1)Token(2)App(或dApp)。所以帮助社群的组织者们创建Token和App,成为其最核心的能力。

相对应的,Steem Engine的核心代码模块,也为满足这些功能而服务。为了进一步理解 Steem Engine 的项目,我们应当了解它的项目的基本结构是怎样的。


image.png
image source: https://steem-engine.com

货币 Token

首先,为了基于 Steem 创建货币,Steem Engine 使用了 Steem Smart Contract 用于支持货币的创建(create token)。毫无疑问,Steem Smart Contract 是 Steem Engine 最为核心的项目之一。

其次,为了进行 Token 的交易,Steem Engine 需要创建交易所用于协助用户的交易行为和钱包的管理,这就是 Steem Engine Exchange。这包括了最早期的版本 https://steem-engine.com,以及开发中的 Steem Engine DEX。

最后,为了方便交易权限管理,以及查看各类Token,Steem Keychain 得到了广泛的使用,以精确和安全地控制用户权限。Steem Keychain 是实际上的 Steem 钱包的最新标准。

以上这几个项目,是基于 Steem 创建货币(Token)的重要组件。我们将在之后的项目中依次介绍和解读其源代码。

应用 App

除了货币(Token)之外,帮助社群(Tribe)的组织者快速构建应用(App)是推动社群发展的有力条件。基于 Steem 社区建立的 SCOT 社群,常常希望可以借鉴 Steem 的 Curation 等机制,用于激活社群。

为了实现这一点,Steem Engine 提供了如何创建 Smart Contract 以及对应的 App 的解决方案。但需要注意的是,目前 Steem Engine 支持特定的 Smart Contract,并通过 Scotbot 将 Steem 主链上的 transaction,翻译为 Sidechain 上的 transaction。由于 Scotbot 并非开源项目,我们只能查看它的 API 文档进行了解和使用:

为了创建 SCOT 应用,目前最常用的项目模板是基于 Steemit 的 Condenser 项目改写的 Nitrous:

此外 TokenBB、DTube 等也有对应的应用模板,但目前最常用的,还是 Nitrous 项目。

除此之外,用户还可以使用 Steem Smart Contract 和 Steem Engine 的API,构建自己的应用。目前使用较多的类库有:

在之后的章节,我们将导读这些核心项目的源代码,帮助开发者了解如何开发和完善 SCOT 应用。

工具 Tool

为了更好地管理和运营货币、应用和用户,一些列工具被创建出来。

其中,最为重要的是对于基于 Steem Smart Contract 的侧链(Sidechain)的块查询工具。目前,使用最多的是 https://steem-engine.rocks 项目:

我们也将在之后的章节介绍这些工具的源代码。

方法:主题阅读

最后,既然是导读,那不得不简要谈一谈阅读方法。

如果你读过 《如何阅读一本书》 这本书,你可能了解它将阅读分类为基础阅读(基本的语言文字能力)、检视阅读(即略读)、分析阅读(即精度),以及主题阅读(阅读一系列同主题的书)。

作为类比,我们可以认为代码阅读也有这种分类:

  1. 会阅读基本模块(如函数、文件等),可以对应为“基础阅读”;
  2. 能够快速阅读整个项目的目的、结构、核心方法等,是为“略读”;
  3. 能够深入逐行阅读代码的设计方法和实现细节,是为“精读”;
  4. 容易被忽视的可能是“主题阅读”的方法,即对某一特定主题的一系列项目进行综合把握,回答或解决某个特定问题。

需要注意的是,虽然很多人上过“语文课”或“国文课”,但在阅读一本书的基本能力上,并不过关,且不具备好的阅读习惯。其实代码的阅读也是同样,有些人虽然有能力参与写一些简单或者复杂的应用,但在如何阅读完整的源代码上,并不具有完备的能力。以至于对应到“写作”也是一样,有些在大型公司工作的“开发者”,经常面对的也是局部的算法或模块,以至于对于整体的把握能力也有所不足。

《深入理解 Steem Engine》 系列,可以认为是一次主题阅读,以回答几个主要问题为目标:

  1. Steem Engine 的各个模块是如何设计的?如果要修改应当如何着手?
  2. Steem Engine 的设计有哪些优秀之处?值得我们学习和借鉴
  3. Steem Engine 存在哪些问题和挑战?它应该朝何处改进?

为了更好的进行主题阅读,我们将分详略和表现形式,依次介绍 Steem Engine 项目的各个组成部分。例如,Steem Smart Contract 会是我们深入阅读的重点,但基于它构建的 sscjs 则可以快速略读。

接下来,我们将依次阅读这些开源项目。如有兴趣,欢迎你和我们一起阅读。

让我们从 Steem Smart Contract 开始。

参考文献

  1. 斯平内利斯,《代码阅读方法与实践》,清华大学出版社,2004年
  2. Amy Brown, The Architecture of Open Source Applications, lulu.com, 2012
  3. 莫提默·J. 艾德勒 / 查尔斯·范多伦, 《如何阅读一本书》, 商务印书馆, 2004年
  4. @aggroed, Scotbot launch! Time to make your own custom token powered by proof of brain on Steem!, 2019/05/09

This page is synchronized from the post: ‘Delve into Steem Engine (1) | 深入理解 Steem Engine (一)’

Lens v0.1.1 新功能:我的订单、交易记录、货币汇总 | Lens v0.1.1 new features: Personal Open Orders, Trade History and Token Summary

本文介绍 Lens 项目的最新功能:个人的订单、交易记录、货币汇总。

关于 Lens 项目的简单介绍,可以参考文章:Lens: 用数据看清世界 | Lens: A Clear World via Data,用基于 Steem Smart Contract、Scotbot 的数据,看清项目、组织、市场等的真实情形,了解过去、预测未来。


image source: Pixabay

项目的链接更新为了: https://tribes.rocks/lens/

更新 New Features

本次更新是由于群里讨论时,提到希望可以查看个人的未完成订单、交易记录等功能。这些功能可以很快基于原有的功能实现,所以花了较少的时间,很快发布了这个新版本。

我的未完成的订单 My Open Orders

虽然我参与Steem Engine的交易并不积极,但有时也会忘了自己挂着哪些订单了,所以能比较方便地看到自己的订单的话,还是挺有用的。大家可以通过下面这个链接,查看自己的未完成的订单,将 {account} 替换成自己的账户:

当然,对于擅长利用公开数据研究市场和个人行为的朋友,也可以用它来观察其他交易者(trader)的行为。

例如:我们可以看看 @aggroed 挂了哪些订单:http://tribes.rocks/lens?page=open_order&account=aggroed

image.png

原来 @aggroed 也在购入 PAL :)

我的交易记录 My Trade History

Steem Engine 似乎没有一个明显的入口可以查看自己的交易记录,但这应该也是个常用功能。个人交易记录和某个token的交易记录的查询方式很接近,在这里,我们使用下面这个链接就可以,或者在页面中点击 Trade History这个链接。

例如,我们可以通过这个链接:http://tribes.rocks/lens?page=trade_history&account=aggroed 查看 aggroed 的交易记录。

但需要注意的是,我们查询交易记录时目前使用了一个 steem-engine.rocks 的查询 transaction 的接口,但 steem-engine.rocks 的这一近日来非常不稳定,所以很可能暂时无法访问到交易记录信息,所以可能要稍后再做尝试了。所以我这里没有办法提供有效的页面截图。。。

但是,我们原来就计划搭建一个新的数据服务,所以之后会用新的数据接口来替换 steem-engine.rocks 的接口,应该能够解决这个访问的稳定性和性能的问题。

“又一个”货币汇总 | Yet Another Token Summary

上一篇文章中,我们提到有一个改进过的 Rich List 用于展示某个 token 的持有者的情况。这里我只是替换了一个参数,便能看到对应的个人的所有 token 的信息。

这个功能和 Steem Engine的Wallet接近,但并不是很完善,目前的用处可能是帮助我们查看一些 Steem Engine 上并不容易查看的数据的整体情况。

比如,我想看看村长 @ericet 给 CN区的集资号代理了多少 token:https://tribes.rocks/lens/?account=ericet&page=rich_list

image.png

又例如,原来 @ned 持有了大量的 NED 币。https://tribes.rocks/lens/?account=ned&page=rich_list

image.png

计划 Plan

上面这3个新功能也是较为简陋的,Lens 这个服务也很早期,将持续进行优化。

大概的计划在上一篇中已经提及,这里稍作更新和细化。

  1. 完善个人市场和货币信息的查询:添加新的页面,如Delegation, Transfers, Connections(账户间的联系)。
  2. 完善对 token 市场和项目的分析:投资价值(投资回报比例)、持有者的动态、项目动态等等,以辅助投资决策;
  3. 有趣的数据科学专题,如 steemspeak 的价格波动分析。目前我们有一个“数据科学”小组正基于兴趣进行这方面的研究和探索。如有兴趣,欢迎加入我们。
  4. 改进服务界面,添加 token 的选择、用户登录、改进整体的页面风格和交互等。

如果你对这个工具感兴趣,或者有别的想要看到的信息,不妨留言告知我们。

最后,Lens 的地址是:https://tribes.rocks/lens/

如果要查看token和账户相关信息,请修改token和account相关的参数,如本文和前一篇文章Lens: 用数据看清世界 | Lens: A Clear World via Data 的案例中所介绍的。


This page is synchronized from the post: ‘Lens v0.1.1 新功能:我的订单、交易记录、货币汇总 | Lens v0.1.1 new features: Personal Open Orders, Trade History and Token Summary’

Lens: 用数据看清世界 | Lens: A Clear World via Data

本文介绍 Lens 项目,用基于 Steem Smart Contract、Scotbot 的数据,看清项目、组织、市场等的真实情形,了解过去、预测未来。


image source: Pixabay

这个项目还在非常早期的状态,界面只是花了1个小时左右构建的,所以还很不完善。但接下来会持续改进,以帮助我们用数据看清世界。

缘起

Steem作为基于区块链构建的社区,其优势之一在于可以快速建立信任、形成合作,这种信任建立的基础在于公开、可信的数据(即区块链这一数据存储和交互形式)。

诚然,数据(包括语言文字在内;需要注意的是,《说文》中,“信”字从“言”部),是人类建立信任、实现合作、发展文明的基础,但只有原始的数据(或者大数据)不足以建立信任,唯有通过“简化”、“提炼”为人类智力可以理解的元素,才能够形成信任的基础。

Lens (透镜)项目 的意义在于,一方面,通过让原始、真实和可信数据可以被收集和整理出来,并且易于使用,另一方面,通过恰当的展示方式,帮助使用者快速查询和发现有意义的信息、正确决策、快速行动。

推动我们开发这个小工具的起因有多个方面,包括:

  1. steem-engine.rocks 在 richlist 排序上不够灵活,查看真正的大鲸时,有些不便,例如无法根据 staked + delegation in 的 token 进行排序;
  2. steem-engine 市场中的订单数据其实包含更多的信息,例如订单的发布者(buyer 和 seller),通过公开数据,可以更清晰地看到市场中投机、作价等行为,方便我们更深入的了解市场;
  3. steem-engine 市场中的历史交易数据只显示30条,无法获取全部数据。

所以,实际上,这个最初版本的数据展示,也仅仅是为了解决这三方面的问题而实现的。此外,ZZAN 团队也正好需要一个类似的工具,基于这些问题和缘由,我们开发了这个小工具。

功能

目前的功能仅有最基本的3个部分:

  1. 更透明的Open Order:除了展示价格,更展示挂单的用户和时间,可以看清是谁在主导和影响市场;
  2. 更全面的交易数据(Trade History):默认的Steem Smart Contract只会保留24h的交易数据,这里实现了可以查看所有历史上的交易记录的功能;
  3. 更合理的Rich List排序:排序通常关注“财”(Balance)和“权”(Stake, Delegation),这里以Effective Stake(Staked + Delegation In)排序,相比steem-engine.rocks 里的rich list的排序,更合理一些。

Open Order 进行中的订单

首先,我们需要注意的是,一般的市场订单数据具有一定的私密性,在常见的交易市场中并不一定不会公开展示的,但基于 Steem Smart Contract的交易数据是完全公开的,所以我们可以查询到所有的相关订单信息。

这一功能本身很容易理解,即添加了Account和Date这两列。

举例1:以下可以看到 ENG 的买入者和卖出者:https://steem-driver.github.io/lens?page=open_order&token=ENG

  • 可以看到 @steem.leo 在尝试买入更多 ENG

image.png

举例2:我们也可以看看谁在挂高价卖出 STEEMSPEAK:https://steem-driver.github.io/lens/?page=open_order&token=STEEMSPEAK

  • CN区的朋友有很多在参与高价卖出 STEEMSPEAK

image.png

对于想看清市场交易现状的用户,这个Open Order应该会比 steem-engine的市场更全面一些。

Trade History 交易历史

交易历史是市场行为中很重要的数据,但一般的交易所也同样不会分享所有的交易历史数据,只能看到交易价格的变化。但 Steem Engine交易所的数据是完全公开的,所以只要对于 Sidechain 上的 transaction 进行一定处理,就能获取到所有的交易历史记录。

在这一页面中,上半部分我们展示的是直接从 Smart Contract中查询的24小时内的交易记录(超过24h的记录被删除),下半部分来自于从 sidechain 解析获取的全部交易历史数据。

上半部分的交易记录并无十分特别之处(虽然比 Steem Engine展示数据会更全一些),有趣的在于下半部分。

比如,可以看到最新的 R 的交易记录的参与者与完成时间:https://steem-driver.github.io/lens/?page=trade_history&token=R

image.png

有需要也可以导出所有的相关 token 的交易数据,以便做进一步的分析。

其中这里完整的交易数据由于使用的接口不够稳定,可能会花较长时间加载数据。之后会改用一个新的数据接口,以解决此问题。

Rich List 持有者排名

这一功能优化的不多,主要是几个方面:

  1. 增加了一些列,以方便排序,其中 Effective Stake = Staked + Delegation In;Total Holding = Balance + Effective Stake
  2. 如果持有或被代理的总额为0,则不会展示;
  3. 底部添加了各列的汇总信息。

例如,SCT的Rich List:https://steem-driver.github.io/lens/?page=rich_list&token=SCT,以 Effective Stake 排序

image.png

这一功能,主要是弥补 steem-engine.rocks 在排序上不够灵活的问题。此外,steem-engine.rocks 进场掉线,也挺令人头疼的,所以用了这个小工具以后,我一般便不用 steem-engine.rocks 的Rich List了。

计划

由于只是一个最简单的雏形,所以功能还是很不完善的,但接下来计划继续做一些改进,以下是大概的改进计划:

  1. 添加对个人市场信息的查询:例如个人的 open order, trade history, token overview, delegation details(代理给谁、接受了谁的代理) 等等
  2. 添加其他对 token 市场和货币的分析:持有者的增长变化,投资回报比例等等,以帮助投资者做更好的投资决策;
  3. 其他一些有趣的数据科学专题,例如 steemspeak 的价格波动分析,目前我们有一个“数据科学”小组正在基于兴趣进行这方面的研究和探索。如有兴趣,欢迎加入我们。
  4. 改进UI界面,添加 token 的选择以及改进整体的风格和交互等。

最后,如果你想试用这个工具,请不要忘了手动修改 https://steem-driver.github.io/lens/?page=rich_list&token={token} 链接中的 {token}。最近会添加可以选择 token 的边栏,以方便用户。

参考文献


This page is synchronized from the post: ‘Lens: 用数据看清世界 | Lens: A Clear World via Data’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×