淘金这事,我也干过(六) ——我的淘金

前边啰啰嗦嗦讲了一大堆黄金冶炼、黄金交易、黄金以及珠宝加工的事情,可是咱的标题是《淘金这事,我也干过》,前边讲的貌似和淘金没有关系啊。

好吧,其实前边都是铺垫,没有前边的铺垫我直接讲淘金,容易让人摸不着头脑。


(图源 :pixabay)

交易中淘金

前文说过,我做为一个小孩,其实也不小了,刚刚仔细核算了一下岁数,彼时我应该是12~14岁的样子,第一篇文章写的十四五岁有偏差,把自己写老了,不过老就老吧,不去纠正啦。

哦,继续,我做为一个小孩,咳咳,姑且叫小孩吧,在交易中负责拿货、检测、计重以及背回现金,之所以让我去做这些步骤,因为小孩子嘛,相对安全,毕竟这种交易算灰色地带。

不过他们倒是安全了,其实就是把我曝光到危险之下,好在是幸运光环一种笼罩全身,好多次交易我都全身而退。尽管如此,也不能让我白白做劳力不是,于是精明的莆田人许给我每克5毛钱的好处费。五毛钱看是不多,但是每次交易都是一公斤以上,也就是说每次都有我500元以上的好处费,这在彼时,绝对是一笔巨款。

我参与交易了好多笔,赚了好多个500以上的巨款,这算真正意义上的第一桶金吧,毕竟当时金价才70元左右。后来精明的莆田人把一次一结算改为批量结算,然后在一次大暴雨的日子里,他们像以往一样再一次回福建,就杳无音讯了,好像欠了我几千大洋。

后来换了一批新的莆田人,从他们那得知原本的一批莆田人在全国各地开了好多大金店,生意火爆,不过我也懒得为了几千元去找他们,毕竟我已经赚了不少。只能遥祝他们生意兴隆,毕竟我们当初合作得是相当愉快了。


(图源 :pixabay)

炉渣中淘金

莆田人撤离后,丢下一堆垃圾,比如黄金冶炼时的炉渣,以及冶炼时废弃的坩埚。当时这些炉渣的宿命就是拿去垫马路,额,怎么又是垫马路,我家门口的小路里边到底埋藏着多少宝藏啊。

继续扯,话说他们留下的这批炉渣还没来得及被运出去垫小马路。有一天我闲极无聊突发奇想,黄金冶炼时声势那么浩大,比如扔化学试剂的时候会不会有黄金溅出来呢?那样这批炉渣岂不是金矿了?我能否把其中的黄金提取出来呢?

说干就干,我弄了个巨大的铝制洗衣盆,然后将编织袋装的炉渣倒进洗衣盆里,用锤子将炉渣捣碎,然后装满水使劲搅合,搅合到我快要脱力的时候,将上层中层的炉渣清理出来。换小洗衣盆继续上述过程,直到最后换成小碗,去掉碗底的炉渣碎屑之后,你猜我看到了什么?金子,没错,黄澄澄的金子。用天平称了一下,我这一大盆炉渣弄出来7-8克黄金。

于是我再接再厉,把所有的炉渣都滤了一遍,大概弄出20多克金子吧。原来炉渣中黄金不是平均分布的,我第一次弄出7克纯属运气爆棚。再有一点,之后我过滤的过于敷衍,没有拿锤子使劲砸,果然是一分辛苦一份财。


(图源 :pixabay)

拣金豆豆

炉渣中虽然淘出20多克黄金,但相比于交易时来钱的简单轻松,这太累了,于是我果断放弃将炉渣统统敲粉碎再滤一遍的想法。

休息一段时间之后,我盯上了废弃的坩埚。冶炼黄金最后一个步骤都是用白色陶瓷的坩埚,内外表面都是光滑无比的,但是为何这些用过的坩埚都黑秋秋的,里边遍布黑色的小鼓包呢?这些小鼓包里是气泡吗?

怀着疑虑,我拿来锤子和螺丝刀,锤子🔨简直是太重要了,总不断出场。我用螺丝刀把坩埚内壁上的小鼓包铲下来,然后用锤子敲碎,你猜怎么着?金子,没错,黄澄澄的金子。而且是圆滚滚的,成色很高的金豆豆。

这可比滤炉渣轻松多了,于是我铲、我敲、我铲、我敲…….,直到所有的坩埚都被我毁灭。称了一下,又弄了20多克黄金。耗时比滤炉渣十分之一还少,爽歪歪啊。

可惜那些黄金一样日子和黄金一样的年华,都只能存于记忆中了,哎!


未完待续,敬请期待

相关链接


This page is synchronized from the post: 淘金这事,我也干过(六) ——我的淘金

How to: 如何计算 max_virtual_bandwidth / How to calculate the max_virtual_bandwidth?

今天遇到一个有意思的问题。我计划查询账户的可用带宽(bandwidth),原本以为和读账户其它信息如reputation、vesting_shares等一样可以直接读取到,但是调用get_account()后,却没法找到可用带宽信息。


(图源 :pixabay)

直接获取失败

只有类似如下信息:
'average_bandwidth': '117344254786',
'average_market_bandwidth': 3461867185,
'last_bandwidth_update': '2018-01-25T10:35:06',
'last_market_bandwidth_update': '2018-01-23T13:06:24',
'lifetime_bandwidth': '8459927000000',
'lifetime_market_bandwidth': '653650000000',

我期望直接拿到类似下边的百分比:

或者找到类似如下信息也可以:

可惜都没法拿到,也就是说我们没法直接拿到用户的带宽信息。

用户可用带宽公式

既然没法直接通过get_account ()拿到,那么只好看看有没有什么方式计算出来。用户是否有可用带宽的计算方式为:

`has_bandwidth = ( account_vshares max_virtual_bandwidth ) > ( account_average_bandwidth total_vshares );`

由上述公式变换个方式:
用户可用带宽为: `account_vshares / total_vshares max_virtual_bandwidth`*
可以理解为,你的有效SP占总SP多大比例,那么你就可以使用带宽池中多大比例的带宽

好,我们以前做程序的时候知道account_vsharestotal_vshares是可以分别通过get_account()以及get_dynamic_global_properties()获取的,如果max_virtual_bandwidth 也可以通过get_dynamic_global_properties()获取,那就简单了。

结果瞪大眼睛找半天发现根本没有max_virtual_bandwidth,看来只好计算了。

计算max_virtual_bandwidth

去代码里找了半天,总算找到计算max_virtual_bandwidth的代码:

其中,max_block_size以及current_reserve_ratio可以通过get_dynamic_global_properties()获取。

剩下的一堆看起来是常量,应该可以用get_config()获取。

结果程序一运行,出错啦,提示RESERVE_RATIO_PRECISION不存在,去代码中找了一下

原来是在代码中直接定义的,这不科学,不过直接拿来用吧。

算出来的总带宽为:17103052162990080000
而steemd上读到的带宽为:

你问我为啥不一样?当然是总带宽一直在变喽,除非我能保证程序获取带宽和刷新网页完全同时操作。

总结

  • 用户可用带宽无法通过get_account()直接获取
  • 用户可用带宽计算公式: `account_vshares / total_vshares max_virtual_bandwidth`*
  • max_virtual_bandwidth 无法直接用get_dynamic_global_properties()获取
  • max_virtual_bandwidth 计算公式见正文部分
  • RESERVE_RATIO_PRECISION 代码中硬编码为: ((int64_t)10000)
  • 计算总可用带宽需要用到如下API
    • get_dynamic_global_properties()
    • get_config()

相关链接


This page is synchronized from the post: How to: 如何计算 max_virtual_bandwidth / How to calculate the max_virtual_bandwidth?

淘金这事,我也干过(五) ——首饰加工之宝石加工

前边几篇文章讲了首饰加工的一些方法,比如锻打、模具、拔丝、绕圈以及机械加工等等。但是这些都是针对黄金加工的。其实首饰当中除了黄金还有白银和珠宝,加工的方法都不甚相同。


(图源 :pixabay)

白银

白银加工的老板将加工方法视作机密,平日里房门紧闭窗帘拉得严严实实,所以我除了了解一丁点皮毛以外,并不知道太多,给我留下深刻印象的是房门外放置的大洗衣盆,里边满满一盆加工脱落的银屑。彼时白银价格600多元一公斤,这一大盆银屑怎么也得上万大洋了,但是院子里人来人往,从来没有失窃过哪怕一克。

白银加工成首饰后,价格从0.6元每克摇身一变变成了1.3元每克,翻了一倍还多,由此可见白银加工的暴利。不过许多年以后,白银暴涨,如果当时不搞什么白银加工,囤货到高点,应该赚得更多吧,这和炒币有些相像呢。白银今天的价格是3.7元/克,还是当时的6倍多呢!

宝石


(图源 :pixabay)

珠宝加工商入住我家院子的时候,我已经很少在家了,所以未能像黄金加工一样很多步骤都亲自上手体验过,只是偶尔回家时,瞧瞧热闹。

很多人以为宝石应该天生璀璨无比光亮照人,很早以前我也这么想的。这导致我见到宝石原石时深感失望,不过是一些带点颜色的半透明的石头罢了。宝石原石被切割成易于加工的细长的石条,想象一下把铅笔截面压成长方形,就是那个样子。然后在电锯切割成约1厘米的小长方体,这就是首饰上宝石的原型了。

当然了,没人会在首饰上镶嵌一块四四方方的小石头,尽管它真的是宝石,所以下一步就是打磨。打磨有专门的打磨机,不过其实就是电机带动的高速旋转的砂轮。砂轮有不同的粗糙度和硬度,粗糙度和硬度高的用于粗加工,粗糙度和硬度低的用于后期精细加工。

师傅将宝石用强力胶粘到一个小铁棍的尖端,然后手里拿着铁棍将宝石放到砂轮上磨。这可真是的技术活+熟练工种,要在一块小小的宝石上边打磨出好多切面,角度什么的还要一致,这难度可想而知,稍有不慎,一块宝石就会打磨废掉了。

当年出于好玩,收集了好多废弃的宝石以及宝石边角料,比如猫眼、红宝石、绿宝石、黑宝石、紫水晶、红玛瑙之类的。这些东西一旦打磨坏了,就不值钱了,说白了如果不是还冠着宝石的名头,和石头无异。

题外


(图源 :pixabay)

宝石加工师傅整天和宝石打交道其实是很无聊的,于是他们经常在闲暇时加工一些比较奇怪的东西,比如用玉石做一个裤带头,或者做一个烟袋嘴。后来这个烟袋嘴送给了我,我收藏至今呢。

有一阵我拿出我玉质雕龙画凤的烟袋嘴和朋友炫耀,你们看看,这可是唐朝时期的文物,看看这玉质,看看这做工。朋友们先是被我的玉质烟袋嘴震惊,然后问我,唐朝的时候有香烟吗?囧。

还有一件令人震惊的文物东西就是一个玉质的大狗碗,当年院子里养了一条大黄狗,然后这些珠宝师傅觉得用盆啥的喂狗弱爆了,于是拿出一大块上好的玉石,雕刻成了一个直径约20厘米的大碗用来喂狗。雕工啥的很粗犷,不过那可是一整块玉啊,这帮败家子。

后来珠宝生意不景气,宝石加工也转战到其它大城市,撤离的时候只搬走了设备,以及比较珍贵的宝石原石,一些便宜的宝石比如白玛瑙之类的,都留了下来。当时也想不出能用这些宝石干啥,况且人家留下的,肯定是不值钱的。大堆大堆的宝石放那占地方,于是我和父亲用了小半天的时间,将这些宝石运出门口,铺到门口的一条小路上。


(图源 :pixabay)


很多年过去,小路上被铺了一层又一层的沙石,那些宝石至少在地面20厘米深度以下了。我时常有一种将小路掘开,把宝石统统挖出来的冲动。文艺点地说,我想挖出来的不是宝石,而是早些年那些如宝石一般璀璨的珍贵岁月啊。


未完待续,敬请期待

相关链接


This page is synchronized from the post: 淘金这事,我也干过(五) ——首饰加工之宝石加工

BTS的远程过程调用JSON的另外一种格式

在3个以前,我刚接触bitshares系统时,特意学习了一下BTS的远程过程调用,所以就有了以下这篇文章。

之前的方式

这篇文章中,我写到RPC调用间传递的json格式为:

1
2
3
4
5
6
{
"jsonrpc": "2.0",
"id": 1
"method": "get_accounts",
"params": [["1.2.0", "1.2.1"]],
}

例如:
curl --data '{"jsonrpc": "2.0", "method": "get_accounts", "params": [["1.2.0", "1.2.1"]], "id": 1}' http://127.0.0.1:8090/rpc

这也是bitshares文档中所说明的格式
http://docs.bitshares.org/api/rpc.html

但是今天我测试一个API get_account_history 时,却发现无法调用:
提示信息为一大堆API列表以及:

‘message’: ‘Assert Exception: itr != _by_name.end(): no method with ‘“name ‘get_account_history’”},

限于篇幅就不贴出全部信息啦,你可以自己用类似下列调用来重现一下出错信息。
curl --data '{"jsonrpc": "2.0", "method": "get_xxxx", "params": [], "id": 1}' https://ws.gdex.top

另一种方式

言归正传,我们主要目的不是研究怎样弄出出错信息的,而是要研究明白咋用这个API。既然上述文档页面没有找到,那么就去github上找找看,结果功夫不负有心,让我找到了如下链接:
https://github.com/bitshares/bitshares-core/wiki/API

以及类似这个例子:
curl --data '{"jsonrpc": "2.0", "method": "call", "params": [0, "get_accounts", [["1.2.0"]]], "id": 1}' http://127.0.0.1:8090/rpc

有没有觉得很面熟,没错,STEEM的也和它长一样。但是STEEM支持直接写api名,比如database_api,而不用非得写数字。让我来试试bitshares是否一样?

curl --data '{"jsonrpc": "2.0", "method": "call", "params": ["database_api", "get_account_by_name", ["oflyhigh"]], "id": 1}' https://ws.gdex.top
结果却提示我

‘message’: ‘Assert Exception: itr != _by_name.end(): no method with ‘“name ‘database_api’”},

原来在bitshares里它不叫database_api,小样,换个马甲我照样认识你!

curl –data ‘{“jsonrpc”: “2.0”, “method”: “call”, “params”: [“database”, “get_account_by_name”, [“oflyhigh”]], “id”: 1}’ https://ws.gdex.top

改了一下,一切正常。

上述调用也可以写成
curl -s --data '{"jsonrpc": "2.0", "method": "call", "params": [0, "get_account_by_name", ["oflyhigh"]], "id": 1}' https://ws.gdex.top

但是没法用database的id 3调用,看来我的理解还是有偏差的。不过我一项的原则就是好用就好,不深究了。

结论

我们可以以类似这样的方式调用API

curl –data ‘{“jsonrpc”: “2.0”, “method”: “call”, “params”: [“database”, “get_account_by_name”, [“oflyhigh”]], “id”: 1}’ https://ws.gdex.top

支持以下类别:

  • [‘block’, 1]
  • [‘crypto’, 6]
  • [‘database’, 3]
  • [‘debug’, 8]
  • [‘history’, 4]
  • [‘login’, 0]
  • [‘network_broadcast’, 2]
  • [‘network_node’, 5]

别问后边的数字是干啥的,我也不懂,之所以放上,是想万一哪天就用到了呢?

咦,我不是再弄get_account_history吗?咋跑题了呢,算了,跑就跑吧,至少我自己觉得这个挺有用的呢。

相关链接


This page is synchronized from the post: BTS的远程过程调用JSON的另外一种格式

淘金这事,我也干过(四) ——首饰加工之模具、机械加工

昨天聊了首饰加工的传统方法,中老年人话匣子一打开呀,就收不住了,洋洋洒洒啰嗦了一大堆,原本打算把首饰加工放到一篇文章中的。

聊完手工加工,我们再来聊聊一些上档次的手段。


(图源 :pixabay)

模具

咦,上文不是已经聊过模具了吗?别急,此模具非彼模具。上文的模具是两个钢铁块中抠出首饰的造型,然后放入粗胚,靠锤子的敲打产生的挤压力来是首饰成型,而本文的磨具就要高档多了。

本文说到的模具是一个个大小不一的圆柱体,铁皮包裹着外围,里边灌着类似石膏一样的东西,上边有个小孔。聪明的你可能已经想到,石膏里就是中空的首饰造型。至于这个模具咋生产出来的,是我一直很好奇的事情,可惜这事我至今没有搞明白。

有了模具,要怎么把黄金装进去,这是个问题,上文的用锤子捶打的方式肯定行不通啦,石膏很脆,一敲就碎啦。所以这里边要用到两个工具,一个是汽油喷枪,一个是将泥土和豆油混合到一起装在削掉上半部分的易拉罐里,做成的简易工具,我不知道该如何称呼它,姑且叫做“按子”吧。

有高清大图的手册展示不同款式的首饰,每个款式都有编号,对应不同编号的模具。所以想加工哪款首饰只需找对应编号的模具即可,然后将规格(重量)差不多的金子放到模具小孔上边,用汽油喷枪加热,加热到一定温度后,金子融化成液体就会流进模具的腔体内。但是有时候可能由于有空气在内导致液体下不去,这时候就需要“按子”闪亮登场了,按子上去使劲一按,金液就统统流进去啦。

完成上述步骤后,将模具扔到装着凉水的水盆里,然后用小锤子轻轻敲打底部,石膏碎裂,金首饰就诞生了。整个过程简单无比,其中的“按子”真是让我大开眼界,劳动人民的智慧是无穷的。


(图源 :pixabay)

机械加工

前文介绍的手工加工以及本文的模具,其实都属于手工范畴。但是当时也已经有不少先进的机械加工工具。常用的有轧花机和小车床。

还记得我们上文写的套圈圈加工出来的项链吗?没错,那只是半成品,想让它更加美观大气,这时候轧花机就要上场了,将项链送上去,选择好要压的外观,换好模具头,运行,然后金灿灿的项链就诞生了。

小车床可以生产各种形状的珠珠豆豆块块等等。

现在机械加工和数控机床极其发达,几十万的小床子已经可以胜任很多工作了, 对比之下,彼时的机械加工手段显得落后无比,但是当时在首饰加工行业,这些手段还是极为先进的。

抛光

无论是锻打、还是模具加工又或者是轧花机和机床生产出来的首饰,表面总会有一些毛茬,这要给客户拿去,是不忍受的事情,于是这时候要进行首饰加工的最后一道工序——抛光。

抛光同样分为两种手段,手工和机械。

手工的方法就比较简单了,有不同硬度的钢丝刷、抛光布、玛瑙刀,师傅们用钢丝刷轻轻刷拭,直到首饰没有毛茬,在用玛瑙刀摩擦,然后用抛光布使劲擦拭,直到闪闪亮亮为止。

机械抛光就更简单粗暴了,用于进行抛光的机器叫抛光机。有点类似缩小版的滚筒洗衣机,外壳透明,里边装着圆润的米粒大小的玛瑙豆。然后加首饰扔进机器里,加上抛光液,开动机器,玛瑙石的冲击下,金首饰的表面就会变得无比光泽闪耀。

尽管抛光机很方便,但是造型复杂的首饰是不能放到抛光机里抛光的。为何?因为抛光机力度太大,会损坏造型的,所以手工抛光才有存在的必要。


(图源 :pixabay)

其它

除了这两篇文章中提到的首饰加工手段,其实还有很多加工方法,比如用刻刀雕刻,用王水抛光啊。但是这些手段大多是一些小的私人加工点,面向个人用户的。而我接触到的加工手段则是供给到金店销售的,所以二者不可同日而语。

私人加工点还有一些猫腻,学过化学的都知道,王水可以溶解黄金。所以他们在加工过程中,看似把首饰放到液体中涮涮,让其变得闪亮,实际上你的首饰不知不觉被扒皮了。更多黑幕我就不揭穿了,人艰不拆嘛,呵呵。


未完待续,敬请期待

相关链接


This page is synchronized from the post: 淘金这事,我也干过(四) ——首饰加工之模具、机械加工

微信公众号增加抵押债仓(CNY/USD)的爆仓触发价查询啦

想必大家都知道比特股大户 @deanliu 刘美女在前几天不幸爆仓,哦,不对,应该是自己丢盔弃甲逃跑,首先对刘美女的遭遇表示一下同情。

但是在深表同情的同时,我也在想,我是否能做些什么?当然了,要我把我的BTS分一些给他,我是肯定做不到的。

其实前几个夜晚我也备受煎熬,市场给我们上了生动的一课,当然不少人付出的学费是血淋林的筹码。我不断地补仓补仓再补仓,总算逃过了一劫,但是谁知道之后是否还有新的劫难要面临呢?所谓无债一身轻,从这个角度看,刘老师及时抽身,未尝不是明智的做法。

言归正传,为了避免自己爆仓,我曾弄出了抵押率排行榜,可以看到自己爆仓触发价以及在排行榜上的排名,以及前边有多少战友和资产帮你抵挡敌人的炮火。

但是,这个需要我在Linux机器上运行,总归有些不方便,哦,其实还可以做成网页,不过我的能力有限,就不献丑了。我在想,如果能把爆仓触发价查询,加到微信公众号里,那无疑会方便不少。

说干就干,终于把这个功能集成进来了。

如何使用

只需在公众号中!bts_id,即可查询你在内盘的资产情况,其中!为英文感叹号,bts_id为你在bitshares系统中的用户名,用户名不区分大小写。

如果你有抵押债仓(CNY/USD),那么会在资产的下方,显示抵押债仓对应的爆仓触发价

比如输入:!oflyhigh

可见我的爆仓价是1.36364,这貌似有点危险。

当然了,我们还可以查询其它人的爆仓价,这样我们就可以选择躲在大户的后边。

比如查询某大户:

还是某大户:

不过光躲在大户后边也不见得安全,比如我就曾一度躲在 @deanliu 老师后边,谁曾想他会当了逃兵呢?

公众号添加方法

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

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

欢迎大家多提宝贵意见啊。

相关链接

再次郑重地提示大家:币市有风险,投资需谨慎


This page is synchronized from the post: 微信公众号增加抵押债仓(CNY/USD)的爆仓触发价查询啦

Your browser is out-of-date!

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

×