O哥闲扯淡:再谈SBD供应量占比

昨晚一个朋友上来和我说:“O哥O哥,现在STEEMIT发奖又没有STEEM啦,你写的帖子OUT啦!”

我吓得赶紧回顾一下我的帖子,还好我也没说发奖一直有STEEM,而是说系统会根据SBD的供应量占比来计算sbd_print_rate,进而决定发奖时SBD、STEEM的分配比例。

所以,这个供应量占比是系统中很重要的数据,那么我们今天就来扯扯这个。


(图源 :pixabay)

安全提示:O哥闲扯淡系列本就是闲扯淡,诸位千万别当真!

计算SBD供应量占比

在上篇帖子《发奖有STEEM啦,来分析一下发奖的变化(其实没啥变化😰)》 我们翻出了sbd_print_rate的计算代码。

其中SBD供应量占比代码如下:

auto percent_sbd = uint16_t( ( ( fc::uint128_t( ( dgp.current_sbd_supply * get_feed_history().current_median_history ).amount.value ) * STEEM_100_PERCENT ) / dgp.virtual_supply.amount.value ).to_uint64() );

咋一看代码可能有点纳闷:

dgp.current_sbd_supply * get_feed_history().current_median_history

SBD供应量 x 喂价,这是什么鬼?难道不应该除以喂价吗?难道我发现了一个了不起的BUG?研究了半天,发现有人遇到了和我同样的问题,别人给他的回复是 *被重载,会自动处理价格(该乘乘,该除除),跪了。

把上述代码翻译成Python语言:

sbd_steem = current_sbd_supply/median_price
virtual_supply = current_supply + sbd_steem
percent_sbd = sbd_steem / virtual_supply * STEEM_100_PERCENT

让我来计算一下当前占比

可见当前SBD占比为1.915%,低于2%(STEEM_SBD_START_PERCENT),所以计算出来的sbd_print_rate为100%,从dgp中读出来的sbd_print_rate也是100%。

关于SBD占比的思考

在回头看我们的占比计算公式

sbd_steem = current_sbd_supply/median_price
virtual_supply = current_supply + sbd_steem
percent_sbd = sbd_steem / virtual_supply * STEEM_100_PERCENT

其中median_price就是喂价的3.5日均价,如果SBD锚定1美元,那么上述计算公式没有任何问题。

但是实际上SBD与STEEM当前兑换价格约为1:1,所以实际上供应量占比应该是:

sbd_steem = current_sbd_supply/1.0
virtual_supply = current_supply + sbd_steem
percent_sbd = sbd_steem / virtual_supply * STEEM_100_PERCENT

将这个公式代入我们的代码:

我们计算出的SBD供应量占比为:3.966%
sbd_print_rate 为 34.45%
也就是说应减少SDB的发行。

可是问题在于SBD已经很贵了,如果减少发行岂不是更贵了?

结论

  • SBD的供应量占比来计算sbd_print_rate
  • sbd_print_rate 决定发奖时SBD、STEEM的分配比例
  • SBD的供应量占比计算时用的是喂价而不是实际价格导致供应量结果偏低
  • 偏低的供应量导致SBD增发

或许这才是合理的?晕了。

参考链接


This page is synchronized from the post: O哥闲扯淡:再谈SBD供应量占比

继续代理回收的问题 & 公众号支持查询代理回收到账时间

支持发布了一个帖子O哥闲扯淡:SP 代理回收要多久?,有朋友在留言中提了一些问题,是我在帖子中忘记说明的。


(图源 :pixabay)

回收期间的SP在哪里?

@itsok 问到:

那个“7天”和“30天”中,SP在谁那里啊?

这个问题提的非常好,是我原文中忽略了的。
在这个期间SP在谁那里呢?这个问题我们可以通过进行操作后查看用户的有效SP来获取答案。

假设 A代理给B 1W SP,那么我们查看A的账户就会发现A少了1W有效SP,而B增加了1W 有效SP。而当A取消代理以后,我们会发现B少了1W有效SP,而A的有效SP并没有增加。

根据上述观察,我们不难得出结论,在代理回收这期间,SP不在任何一方。也就是说只有当vesting_delegation_expiration_object超时,代理的SP差额才会回到代理者(A)这边。这就是所谓的回收到账时间。

为何要限制这个时间呢?

了解到账时间之后,我们不禁会有此疑问系统为何要限制这个时间呢?

假设代理回收没有时间限制,即时到账,那么我们假设这样一种情况:

A将1W SP代理给B,B的VP是100%,B收到代理后短时间内猛点赞,将VP消耗光。假设1W SP 100%VP一个赞1SBD,那么原则上B可以点出1 x 10 x 5=50SBD,然后A取消代理,再将这1W SP代理给C,同样C可以点出50 SBD,这样的操作可以无限的进行下去,那么可以制造出无数的SBD

这样显然是不科学的,限制SP到账时间很巧妙地规避了这个问题。

账户创建最短回收期30天,应该是为了避免滥用账户创建功能,创建大量垃圾号吧(我猜的)

如何查询回收代理到账时间?

将SP代理出去又回收回来的朋友,可能很关心代理回收到账时间,但是无论是steemit还是steemd.com上都无法查询到相关信息,不得不说,略为遗憾。

为此我在微信公众号上添加这部分信息,使用方法:
@steemid?dg
其中steemid为你要查询的账户,比如:oflyhigh

前一阶段,我的一个朋友把SP都DOWN光了,没法进行任何操作,我给他代理了2个SP,现在看来他也不用了,我就取消喽,正好试试代理回收时间。

来用公众号查询一下
@oflyhigh?dg

这是我刚刚取消的,不难看出,我们之前得出的普通代理回收操作7天后到账的结论是正确的😀

公众号查询代理的问题

有部分用户代理出去的SP用户比较多,或者回收要到账的SP条目比较多,会导致公众号查询返回的数据量太大,导致查询失败。

对于这个问题,我暂时没啥好办法,或者把这个功能丢到网页上比较好?或者扔到我电报机器人上?(咦,我的电报机器人呢?)

公众号添加方法

还没加公众号的,快点上车啊

  • 方式一:
    进入微信通讯录->点击公众号->点右上角加号->搜索steemit,关注即可。

  • 方式二:
    直接扫描以下二维码:

相关链接


This page is synchronized from the post: 继续代理回收的问题 & 公众号支持查询代理回收到账时间

《豆腐西施》: 续

豆腐西施写完了,有朋友评价太平淡了。

还有朋友写了个续

额,这个续情节很感人,但是我不喜欢,为啥呢?因为朋友妻不可欺啊!


好吧,其实后续的故事这样的:

主人公没有考上大学,但是因为家里动迁补偿拿到一笔巨款,拿到巨款以后,主人公开了网吧,也算是IT人士了,然后整天在网吧里混,后来无意间了解到比特币,觉得这玩意应该很有前途,加上随着电脑、手机以及网络的普及,网吧的经营每况日下,遂卖掉网吧,All In 比特币,一不小心成了亿万富豪。

成为亿万富豪以后,觉得自己终于能鼓起勇气追求豆腐西施了,但是因为动迁却再也找不到豆腐西施。但是有钱终归是好办事的,于是在当地各大媒体狂发寻人启事。最后终于找到了豆腐西施,可惜当年的心上人已经嫁作人妇,并有了一个三岁的小孩。主人公倍觉伤感,一夜白头。

如果到这里就结束,那么就是个悲剧故事了。然而没想到西施还有个妹妹,当年动迁家里拿到一笔动迁补偿款,妹妹没重蹈姐姐的悲剧,考上了著名大学的工商管理专业,毕业后拿到耶鲁大学的全奖继续深造,耶鲁毕业后在华尔街投行找到一份高薪工作,让人艳羡得不得了。

得知姐姐和主人公的感人故事后被主人公深深打动,回国见了一面对主人公一见倾心。然后辞掉在华尔街投行的高薪工作,和主人公一起在币圈创业、发代币、搞ICO,一度风生水起、风光无限!长时间在一起工作,主人公最终也喜欢上这个聪明伶俐又漂亮的姑娘,从她身上仿佛能看到豆腐西施的影子,最终有情人终成眷属。

如果故事到这里就结束,那么就是个喜剧故事了。然而17年9月份,国家出台ICO禁令,主人公按国家要求进行退币,然后主人公持有的各种数字资产都大幅贬值,在期货市场的投资更是统统爆仓,最终导致投资血本无归。

经历了大风大浪以及尘世繁华,夫妇俩看淡一切,觉得平平淡淡才是人生真谛啊。最终豆腐西施的妹妹重操姐姐当年的旧业,在菜市场卖豆腐,主人公则在一旁卖炸鸡架,夫妻俩双宿双飞,羡煞无数旁人,主人公江湖人称鸡架大王,妹妹则被称为新一代豆腐西施。


够起伏不?够跌宕不?然而这都是我瞎编的😰。

封面图源:pixabay.com


This page is synchronized from the post: 《豆腐西施》: 续

《豆腐西施》 五: 记得 (全文终)

同桌很失落,和我说,如果他有钱就可以去录专辑,然后如何如何。

我表达出赞助他几百块钱的意思,这是我能拿出的全部零花钱了。这还是我背着父母从日常零花钱里扣下来,偷偷攒的,计划用于买书,因为父母时常对我说,别总买书多买点好吃的。

他无奈的叹口气,“谢啦,你留着买书吧,等我以后赚钱了,我再出专辑不迟。” “嗯,是金子总会发光的,专辑一定要出,豆腐西施一定要娶!”我安慰道。

再后来,我们分班后,不在一班,联络就没那么紧密了,只是偶尔被他喊上,去农贸市场,陪他远远的默默地看着豆腐西施。“她越来越漂亮了,我好想马上毕业,否则被人抢跑了咋办啊?”他愁眉苦脸的对我说。“没事,反正我不会去抢的”,“去死吧你”

再后来,我考上大学,我知道他落榜了,这也在意料之中。我想去他家找他陪他聊聊,却发现我根本不知道他家在哪里。

我曾想到去问问豆腐西施,毕竟他们是初中同学,没准她会知道呢,但是想到这么多年他只是远远的观望,默默地守候,我去问她他家住址,真的好吗?也许他想向她表白时给他一个大大的惊喜呢。

就这样,我们的联系就断了。再后来,从朋友那得知我们的高中动迁了,那个大大的农贸市场也动迁了,甚至高中周围很大一片区域内的住户都被动迁了,我知道,除非奇迹发生,我也许再也遇不到他了。

在那之后,每隔两三年,我都会在上网查查这段歌词,我想他要出专辑的话,那么一定会火起来,那么歌词一定会在网上流传,那么我就可以找到他了。或者至少可以知道他过得很好,他这块金子终于发光了。

然而,好多年过去,我始终未能搜索到丁点痕迹,仿佛他连同我的高中以及那个农贸市场以及胖胖的豆腐西施还有那首歌,一起被动迁了, 一起消失了。

我不知道最终,他有没有娶到豆腐西施,也不知道他向豆腐西施表白时有没有唱这首《思念梦中人》,甚至我都不确定,他是否有记得自己曾呕心沥血创作了这一首歌?

…..
无情的时间一天又一天
对你的思念是始终没改变
你踏着梦中轻快的船
飘呀飘呀飘呀飘
飘到梦里边
…..

但是,我记得……


其它章节


封面图源:pixabay.com
注:本文为真人真事,没有雷同
注:为了避免他将来出专辑,歌词我只贴了一小部分
(全文终)


This page is synchronized from the post: 《豆腐西施》 五: 记得 (全文终)

O哥闲扯淡:SP 代理回收要多久?

今天一个朋友问我:“O哥O哥,SP代理多长时间才能收回来啊?” 其实这个问题我一点也不关心,因为我也不用呀(代理出去一点电也不着急回收),那回收耗时对我而言就是浮云啊。但是既然别人问到了,就研究研究吧。

那今天就来扯扯SP 代理回收要多久?

(图源 :pixabay)

安全提示:O哥闲扯淡系列本就是闲扯淡,诸位千万别当真!

SP代理回收

SP代理功能以前没啥介绍啦,这里就不赘述了,感兴趣的自己去找找看喽。

那么什么是SP代理回收呢?简单来讲,我代理给你1000 SP,现在想取消代理了,或者想改成代理500SP,那么就要收回多余的部分,这个功能我称之为SP代理回收。

你可能会问,这有啥啊,不就是加减法嘛,比如代理1000 SP变成 代理500 SP,那就收回500SP好了。最初我也是这样想的,事实也没有啥出入,但是关键的问题是:SP代理回收不是即时到账的

vesting_delegation_expiration_object

既然SP代理回收不是即时到账,那要多久呢?

社区中流传较广的回答是普通SP代理取消(或调整)后7天到账,创建账户代理取消(或调整)后30天到账,事实真的如此吗?让我们从代码上找找看,是否如此。

首先,SP代理创建和取消代理在STEEM区块链上都是一个操作, 都是delegate_vesting_shares_operation操作,而SP代理创建还有一种方式是account_create_with_delegation_operation,亦即创建账户并代理SP。

因为我们要研究的是取消时间,所以来看看取消是咋处理的,所谓的取消实际上就是减少代理了。相关代码如下:

其中核心内容是创建了一个vesting_delegation_expiration_object,而和时间有关的是这句啦:

obj.expiration = std::max( _db.head_block_time() + STEEM_CASHOUT_WINDOW_SECONDS, delegation->min_delegation_time );

当这个对象超时,代理SP的差额就会返还到对应账户,亦即回收啦。从代码我们可以看出来,它取_db.head_block_time() + STEEM_CASHOUT_WINDOW_SECONDSdelegation->min_delegation_time这两者的最大值。

delegation->min_delegation_time

那么delegation->min_delegation_time又是啥呢?

在创建SP代理(delegate_vesting_shares_operation)时:

(调整时不修改)

在创建账户并代理SP(account_create_with_delegation_operation)时

代理回收到账时间

通过上述介绍我们知道,取消(或减少)SP代理,到账时间是_db.head_block_time() + STEEM_CASHOUT_WINDOW_SECONDSdelegation->min_delegation_time这两者的最大值。

这其中涉及两个常量

  • STEEM_CASHOUT_WINDOW_SECONDS
  • STEEM_CREATE_ACCOUNT_DELEGATION_TIME

到此,我们不难得出SP代理的回收时间了。

结论

不多写了,直接上结论:

  • 普通SP代理操作,代理回收(取消或减少)到账时间为操作7天之后
  • 创建账户并代理,代理回收到账时间如下:
    • 创建账户并代理起23天之内回收,创建账户并代理起30天之后到账
    • 创建账户并代理起23天以上回收,回收操作7天之后到账

也就是说创建账户并代理,(SP)回款最短期限是创建并代理起30天。社区中流传较广的回答:创建账户代理取消(或调整)后30天到账 是不精确的说法


This page is synchronized from the post: O哥闲扯淡:SP 代理回收要多久?

《豆腐西施》 四: 泡影

我承认,听到这宛若天籁的歌声这一刻,我震惊了,我感动了,我想哭了……

这比我曾听过的任何一首歌都好听,再加上他倾情演绎,我一下子就被深深地吸引,以至于时隔多年,我依然记得这歌词、这旋律以及他脸上的泪水以及眼中神圣的光芒,哪还有一点痞气!

当一曲结束,他拭去眼角的泪痕,和我说:“告诉你一个秘密哦,豆腐西施是我初中同学,还曾当过学习委员呢,因为家里条件不好,没到中考就辍学了,当初在学校,我最崇拜的就是她了,人好学习还好,我将来一定要把这歌唱给她听,我一定要娶她!”

我拍了拍他的肩坚定的回答:“你一定可以的!” 他突然又变得痞痞的,对我说“才子,既然做了我的第一个听众,总得付出点啥吧?” “滚,老子要钱没有要命一条,命还不能给你!” “去死,谁稀得要你的狗命!” “那你想要什么,老子和你明说,我可是卖身不卖艺,把你的龌龊想法都收起来!”

“呕呕呕”他装作呕吐的样子,然后又变得一本正经,我突然有些恍惚,到底一本正经和平日里痞痞的哪个是他的真面目呢?他对我说:“恳请大才子为我这首歌命名”。啊,我受宠若惊,这么棒的歌词,这么棒的曲子,注定要流芳百世的,我命名的话,岂不是也能流芳百世了?

“你弄这么久,还没起好名字吗?” 我问他,他回答:“我特意把冠名权留给你的,毕竟每次都是你陪我踩盘子,哦,不对,采风!”,“哈哈,且容我好好想想,既然你做梦都在想着你的豆腐西施,干脆就叫《思念梦中人》吧!” “高,实在是高,一点新意都没有,和我想的一样!” “我擦,你咋不去死呢,那叫《豆腐西施》?”,“得,还是叫《思念梦中人》吧!”

就这样,一曲《思念梦中人》诞生了,没有什么发布会,没有什么闪光灯,只有两个少年爽朗的笑声。后来班级联欢会上他唱了这首《思念梦中人》,技惊四座,这个歌一度成为了班级里的流行歌曲,甚至在整个校园都有传唱。

可惜的是,千里马虽有,伯乐罕见,尽管班主任老师也对这歌赞叹不已,但是这歌终究没能火出校园。什么成为大明星,什么到处开巡回演唱会,什么赚了很多很多钱回来迎娶豆腐西施的梦想,最终随着日子的流逝通通化为泡影。


封面图源:pixabay.com
注:本文为真人真事,没有雷同
(未完待续)

其它章节


This page is synchronized from the post: 《豆腐西施》 四: 泡影

Your browser is out-of-date!

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

×