又一把瑞士军刀? Uptick初体验(五):uptick高级功能的尝试 (完)

在之前的系列帖子中,我们介绍了操作bitshares的工具之一:uptick,并简要介绍了uptick的安装和使用、导入私钥、命令选项及设置默认值、以及一些常用命令( 查询市场行情、转账、交易、查询及取消订单)


(图源 :pixabay)

今天我对一些高级功能进行了尝试。


投票功能

和steem上给帖子投票,给见证人投票类似,bitshares中也可以进行投票

命令 功能 翻译
approvecommittee Approve committee member(s) 批准理事会成员
approveproposal Approve a proposal 批准提案
approvewitness Approve witness(es) 批准见证人
approveworker Approve worker(es) 批准预算项目

比如我们要在bitshares中支持 in.abit 做为见证人,我们可以使用如下指令进行投票:
uptick approvewitness in.abit

检查一下发现投票成功了

借钱(抵押)功能

在之前的文章中,我们曾经介绍过抵押BTS,借出BITCNY的操作。uptick做为强大的bitshares工具,必须支持借款啊。

以下是一个借款的例子:
uptick borrow --ratio 4 1 CNY

需要注意一点是,之前我们说过:保证金比例 = 抵押的BTS 喂价 / 借款金额*
但是uptick可能有一点点BUG,它的ration直接处理成抵押的BTS/借款金额了


所以上述指令,我们用4个BTS抵押,借到了1个BITCNY

其实这样更直观,但是我们需要清楚两者计算方式的区别,以免闹乌龙。

多重签名

对我而言,我觉得STEEM以及bitshares上最有魅力的功能莫过于多重签名了。

uptick实现多重签名很简单。

首先介绍一下查询权限的指令:
uptick permissions account
(account换成你要查询的账户)

允许权限

1
2
3
4
5
6
7
8
9
10
Usage: uptick allow [OPTIONS] [FOREIGN_ACCOUNT]

Add a key/account to an account's permission

Options:
--account TEXT Account to be modified
--permission TEXT Permission/Role to be modified
--threshold INTEGER Threshold for the Role
--weight INTEGER Weight of the new key/account
--help Show this message and exit.

移除权限

1
2
3
4
5
6
7
8
9
Usage: uptick disallow [OPTIONS] FOREIGN_ACCOUNT

Remove a key/account from an account's permission

Options:
--account TEXT Account to be modified
--permission TEXT Permission/Role to be modified
--threshold INTEGER Threshold for the Role
--help Show this message and exit.

但是需要说明的是,这两个操作你一定要慎重,除非你完全理解你所做的操作以及可能带来的影响,否则请不要尝试。

离线操作

有了多重签名,就可能需要离线签名交易。类似我们在使用steempy生成交易(transaction)、签名交易以及广播交易 这个帖子中提到的操作。

我们可以用如下指令生成交易(transaction)数据
uptick -d -x transfer oflyhigh 1 BTS >t1.txt

原则上,我们可以使用如下指令对上述数据进行签名
uptick sign t1.txt
但是在我这里发生了异常

fees = ws.get_required_fees([i.json() for i in ops], asset_id)
AttributeError: ‘NoneType’ object has no attribute ‘get_required_fees’

好悲催的事情
为了继续实验,我想尝试直接用python-bitshares代码对数据签名

待签名数据如下:

签名后数据如下:

晕,operations部分数据竟然是空的,尝试已失败告终。一定是我操作姿势不对。

所以最后一条广播指令,我们不用试也知道一定会失败。
uptick broadcast s1.txt

总结

在这篇文章中,我们尝试了一些uptick的高级功能。

  • 投票功能
  • 借钱(抵押)功能
  • 多重签名
  • 离线操作

在进行最后一项操作时,我们没能成功。可能是uptick有BUG,也可能是我操作的姿势不对。不管如何,不可否认的是:uptick是一个操作bitshares强大的工具。使用它我们可以完成大部分bitshares相关的操作。但是想更好的使用uptick或者对bitshares进行更复杂的操作,则需要对其底层机制有一些了解。

至此,uptick系列的文章都写完了,如果能给大家带来哪怕一点点启发,就足矣了。

更多信息

更多信息请参考:
https://github.com/xeroc/uptick
http://uptick.readthedocs.io/en/latest/index.html


This page is synchronized from the post: 又一把瑞士军刀? Uptick初体验(五):uptick高级功能的尝试 (完)

每天都有飙车的,这两天是SBD。发文记得选择Default(50%/50%)哦

币圈是个时时刻刻都有惊喜的地方,当然了,也有可能是惊吓。

还好,最近一段时间惊吓不多,惊喜不少。比特币就不必说了,我留着当传家宝呢,看来一币一别墅真的有望实现呢。想想有生之年,能住别墅,还是很兴奋的。

BTS也从三毛多一路涨到1元,可惜我3-4毛建仓比较少,另外总计也没多少。不过赚点零花钱也是不错的。

而今天听说SBD也涨了,一看,哇,15多了,据说今天曾经超过16呢。可惜我的傻傻的机器人一路帮我把SBD都换STEEM了😳,所以这波SBD涨,我没占啥便宜。😭可恶的机器人,我想掐死它了。😡

不过,没有SBD,是不是就享受不到这波SBD涨价的福利了呢?答案是否定的。因为我们写文章还是按SBD发放的啊。

发文记得选择50%/50%哦


(图源 :pixabay)

这个是老生常谈的话题了。就是因为STEEM的喂价和内部市场价差决定的。
为此,我还特意给公众号加了个功能,辅助大家选择

随便测试一下,得出的结论是当前适合选择Default(50%/50%)
假设作者收益(去除点赞收益)是100SBD,那么两种选择,拿到的SBD

  • Power UP 100% 市场价格: 48.841 SBD
  • 50%/50% 市场价格:74.420 SBD

选择50%/50%相当于多得到25.579SBD,多达52.37%,如何选择还要犹豫吗?

实际收益有多少?


(图源 :pixabay)

可能乍一看,原本应该得到100SBD,但是两种情况下我们得到了48.841 SBD74.420 SBD,这比预期的要少啊?

但是,你有没有考虑SBD的价格是USD的价格多少倍呢?

但当前价格以及汇率计算,SBD的价格约为USD价格的2.3倍
也就是说,我们拿到了74.420 SBD就相当于拿到了173 USD,这个价格可是相当高啦:)

结论

是不是很兴奋?
一篇文章的收益,比显示的数额多赚了73%还多

还等什么,写文章去啊,记得选择Default(50%/50%)哦

公众号添加方法

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


This page is synchronized from the post: 每天都有飙车的,这两天是SBD。发文记得选择Default(50%/50%)哦

使用steempy生成交易(transaction)、签名交易以及广播交易

假设我们这样一种复杂的需求,一个多重签名账户,需要进行一笔交易,比如转账给别人。

那么我们需要对这个操作进行签名的权重超过阈值,这样说可能有些复杂,举个例子:
一个账户由三个账户控制,进行某项操作时,必须两个以上账户同意。

好了,今天要说的不是多重签名账户咋玩,而是假设我们有上述需求,那么如何对操作进行签名呢?STEEMIT官方网站肯定不行啦,没有这个接口。所以今天我要介绍使用steempy来进行这些操作。


生成交易(transaction)

首先,我们要生成交易数据:
假设oflyhigh.test是一个多重签名账户(实则它不是,但不影响我们讲解),我们要从这个账户转出一笔巨款给oflyhigh

我们可以使用如下指令生成交易数据
steempy --expires 600 -d -x transfer --account oflyhigh.test oflyhigh 0.001 SBD > t1.txt

  • -d 表示不广播
  • -e 表示不签名
  • –expires 600 表示交易超级时间为600秒

打开文件,可见交易数据如下:

签名交易(transaction)

接下来我们对交易进行签名。

steempy sign --file t1.txt > s1.txt

签名成功后的数据如下:

我们这里oflyhigh.test并不是多重签名账户,如果是多重签名账户,那么操作流程如下:

  • 用户1 执行 steempy sign --file t1.txt > s1.txt
  • 用户2 执行 steempy sign --file s1.txt > s2.txt
  • 用户3执行 steempy sign --file s2.txt > s3.txt

依次类推,就是把前一个用户的输出作为输入,继续签名。

广播交易(transaction)

最后这个步骤简单多了,执行以下指令即可:
steempy broadcast --file s1.txt
s1.txt是最终签名生成的文件,因为我们实际上只签了一次,所以是s1.


查看steemd.com,得知我们的操作很成功。

总结

使用steempy,可以很轻易的生成交易,并对其进行签名以及广播。这个可以用于多重签名账户,让每个账户分别签名。


This page is synchronized from the post: 使用steempy生成交易(transaction)、签名交易以及广播交易

当你为踏空而懊恼时,那么套牢还会远吗?

写下这个题目后我自己有种哭笑不得的感觉。

前段时间不是更换的券商吗,还专门写了篇文章抨击了一下旧券商,赞扬了一下新券商,倒不是咱是喜新厌旧的人,而是实在是被旧券商折磨已久,详情可以参考:

更换了券商之后手痒,总想买些股票,不然对不起我用的这个强大的券商软件啊。

随随便便选了几只股票,买了一点点,结果都是一路狂涨,几天的时间,平均收益就超过了10%。这如果我多买一些,岂不是发家指日可待了。

可是,当初最开始玩股票的时候,就给自己定下规则,一定要控制投入的金额比例,有句话咋说的来着,不要把鸡蛋放到一个篮子里,所以一直以来,我都严格按照这个规则执行,投入在股市的金额固定,这样赚了更好,赔了,哪怕赔光了,也不至于伤筋动骨。

然而如今固定金额的股票都在前券商那边套着呢,如果想建仓新股票,势必面临两个选择:

  • 割肉套牢的股票,回收资金
  • 投入新的资金

虽然一直被朋友们洗脑所谓的止损啊,调仓啊,但是我一般情况都不会割肉的。为何呢?因为实际情况是,只要我一割肉,割肉的股票必然暴涨!因果关系几乎百分百确立。所以我大多时候选择死磕到底。只要公司不黄,股票不退市,总还没机会嘛。

于是我提醒自己,不要冲动不要冲动不要冲动
但是,这段不冲动的时间,我深刻的体会到了,什么叫踏空比套牢还难受

眼看着要买的股票蹭蹭蹭上涨,这充分说明我还是很有眼光的嘛,最终实在忍无可忍,终于破坏了自己定下来的保持仓位的原则,调集了一些资金开始疯狂建仓。用币圈常说的一句话:一把梭

当我信心满满的梭完,股市,尤其是我选的股票,开启了暴跌模式,几天下来,我重仓的两只,跌幅接近20%,完美地套牢了,我也终于深刻的认识到了,我真的不是什么股神。😭

下午出去,觉得外边好冷好冷,严冬真的来了。不由得想起雪莱 《西风颂》中的名句:如果冬天来了,春天还会远吗?,然后想到套牢的股票,不由得在心底冒出来一句:当你为踏空而懊恼时,那么套牢还会远吗?

看来我做不成股神,但还是有望成为个湿人嘛。😭

(图源 :pixabay)


This page is synchronized from the post: 当你为踏空而懊恼时,那么套牢还会远吗?

又一把瑞士军刀? Uptick初体验(四):uptick命令 / 查询市场行情、转账、交易、查询及取消订单

在之前的帖子中,我们介绍了操作bitshares的工具之一:uptick,并简要介绍了uptick的安装和使用。以及如何从bitshares的网页钱包中获取并导入私钥到uptick的钱包中去,并介绍了uptick的一些命令选项,以及如何设置默认值。


(图源 :pixabay)

今天我们这篇文章来介绍一些几个uptick常用的命令

查询市场行情

在第一篇文章中,我们就曾经介绍过查询内部市场报价信息的指令
比如查询BTS的bitCNY报价:uptick ticker CNY:BTS

说实话,为了搞明白对应市场如何表示,我可以试了好久,最后才从代码中找到点眉目,在这之前,我试过CNY_BTS、CNY/BTS等等,都不好用。

有了上述指令例子,我们就知道如何查询内部市场其它资产对的信息了,比如:

指令 用途
uptick ticker OPEN.STEEM:CNY 查询OPEN.STEEM的人民币报价
uptick ticker OPEN.EOS:CNY 查询OPEN.STEEM的人民币报价
uptick ticker BTS:USD 查询BTS的bitUSD报价
uptick ticker OPEN.BTC:CNY 查询OPEN.BTC的人民币报价

内部市场好多交易对,就不一一列出了,大家可以自己尝试。

查询功能只是uptick的基本功能之一,在文章学习一下BTS的远程过程调用 / Learn the remote procedure call of BTS,我们曾介绍过使用RPC来查询bitshare的区块链信息。

我们可以用:
curl -s --data '{"jsonrpc": "2.0", "method": "get_ticker", "params": ["CNY", "BTS"], "id": 1}' https://openledger.hk/ws
来查询报价信息的

对比可知,uptick返回的信息更丰富以及便于阅读。

转账给他人

如果我们装了个uptick,仅仅用来查报价,那就是大材小用了。除了查询功能,我们还可以进行很多其它操作。

当然了,最简单且最常用的操作之一,莫过于转账功能了。

先来看一下转账功能的帮助信息:
uptick transfer --help

让我们来测试一下转账功能:
uptick transfer --account xxx1 xxx2 1 BTS "Test transfer"

看一下转账日志,操作得很成功

有了这个功能,我们就可以做个程序,批量给别人送钱了😭

市场交易 SELL / BUY

通过上边介绍,我们学会了如何给别人发钱😳,但是如果不赚钱总发钱,这样坐吃山空是不行的。bitshares 最强大的地方之一就是自带强大的交易市场,而uptick的强大功能之一就是可以在内部市场下单。

比如,我们尝试以1.2bitCNY/BTS的价格卖出1个BTS:
uptick sell 1 BTS 1.2 CNY

我们来看一下订单是否提交成功


✌,成功了,是不是很强大?很方便。

BUY和SELL我的理解两者大同小异。
比如你卖出BTS换取CNY也可以理解成使用BTS买入CNY

比如我通过以下两条指令下一个买单一个卖单
uptick sell 1 BTS 1 CNY
uptick buy 1 CNY 1 BTS


从内部市场,我看不出两者有何区别。

列出订单以及取消订单

我们学会了使用uptick在市场下单,如果操作得当,运气又不错,成为亿万富翁那是指日可待。

但是,有时候挂卖单挂高了卖不出去,或者挂买单挂低了买不进来,错过了行情,可就不好玩了。所以一点挂单不合理,我们要取消重挂。

取消订单,我们需要先知道订单ID,以下指令列出账户account_xxx的当前订单
uptick openorders account_xxx

最后一列就是ID喽

我认为BTS还会涨,所以1元多一枚卖掉是极其不合理的,把订单统统取消
uptick cancel 1.7.40269955 1.7.40271728 1.7.40271936
没错,输入你要取消的订单ID即可

我们再来看看,还有哪些订单

果然都取消了。

其实取消所有订单,还有一条指令: uptick cancelall

uptick cancelall --account account_xxx BTS:CNY
以上指令,取消account_xxx在BTS:CNY市场下的所有订单。

bitsharesapi.exceptions.UnhandledRPCError: Assert Exception: operations.size() > 0: A transaction must have at least one operation

很遗憾我操作时候出了个异常,看提示应该是我在这个市场下已经没有订单可取消的,不过出异常可不优雅,看来还需要改进哦。

我重新下了一个单,再用上述指令,则一切正常。

总结

在这篇文章中,我们介绍了使用uptick的几个强大指令

  • 查询市场报价信息
  • 转账给其它用户
  • 交易 (买/卖)
  • 查询及取消订单

是不是很强大?有没有动心?快装一个试试吧。

更多信息

更多信息请参考:
https://github.com/xeroc/uptick
http://uptick.readthedocs.io/en/latest/index.html


This page is synchronized from the post: 又一把瑞士军刀? Uptick初体验(四):uptick命令 / 查询市场行情、转账、交易、查询及取消订单

How to delete duplicate posts which made by carelessness / 如何删除不小心发重复的帖子

Duplicate post made and delete link disappeared

Occasionally, we made duplicate posts on steemit.com. It may be caused by carelessness or caused by bugs such as “Transaction Broadcast Error”.


(Image source: pixabay)

If there are zero votes and zero replies, we can delete the duplicate one directly.

But if someone voted the duplicate post or replied it, then the delete link will disappear.

Ways to deal with duplicate post

If this happens, what should we do?

One way is asking all voter and repliers remove their votes and replies. But we all know that some votes and replies come from robots, It’s impossible to contact them.

So, some author chose to edit the tittle and the content of the duplicate post to make it like a new one.

Another way

But is there any other way?

I found a way to delete post which have a lot of votes but have zero replies.

Flag the duplicate post to make net_rshares less than 0

Then the delete link appeared again.

Now, delete the duplicate one, and make our blog more clean.

中文版

有时候不小心帖子就发重了,当然也可能是因为”Transaction Broadcast Error” 这个BUG.

如果我们发现及时还没人点赞没人回复,就可以点击”delete”来删除帖子,但是如果有人点赞或者回复了, 这个”delete”链接就消失了。

这时候可以联系所有的点赞者和回复者让他们撤销点赞删除回复,但是这不太现实。

如果只有很多点赞没有回复的情况,其实是可以通过将帖子踩灰之后删除的。删除之后,看起来我们的个人博客会显得干净一些。


This page is synchronized from the post: How to delete duplicate posts which made by carelessness / 如何删除不小心发重复的帖子

Your browser is out-of-date!

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

×