又一把瑞士军刀? Uptick初体验(二):导入私钥

在昨天的帖子中,我们介绍了操作bitshares的工具之一:uptick,并简要介绍了uptick的安装和使用。


(图源 :pixabay)

除了一些获取信息之类的简单功能,比如说我们举过的查询CNY:BTS市场价格信息的例子,uptick还有很多强大的功能,比如说转账、下单等等。但是就好比我们使用steempy操作账户需要导入对应账户的私钥,想使用uptick的高级功能对账户进行操作,也需要首先导入私钥。

这节我们就给大家介绍一下如何获取并导入私钥到uptick的钱包中去。

如何获取账户私钥

将私钥导入到uptick的钱包中,我们首先要获取账户的私钥。

  • 登陆网页钱包:https://wallet.bitshares.org
  • 选择对应的账户
  • 点击进入dashboard
  • 点击展开高级功能菜单
  • 点击打开权限页面
  • 不同于steem的四组权限,bitshares有三组权限
    • Active Permissions / 活跃权限
    • Owner Permissions / 所有者权限
    • Memo key
  • 选择 Active Permissions,可以看到对应的公钥
  • 点击前边的钥匙符号,调出Private key viewer
  • 点击 按钮
  • 按提示输入钱包密码,Private key viewer就会显示出私钥
  • 复制并保存这个私钥

注:以上操作是已钱包账户为例。

在uptick 中导入私钥

接下来,我们需要将私钥导入到uptick的钱包中,对应的命令为:
uptick addkey

首次执行,因为本地尚未创建钱包,所以会提示我们创建钱包并设置钱包密码

按提示设置好密码后,会提示我们输入私钥

输入我们之前得到的私钥,回车确认。
(如果有多个私钥需要输入,可以依次输入)
回车完成,因为我只导入了一组私钥,uptick帮我将对应账户设置成了默认账户

至此私钥导入完成。

查看当前钱包内的账户、公钥、私钥

我们可以通过uptick listkeys查看当前可以用的key(显示的是公钥)

更进一步,我们可以通过uptick listaccounts查询公钥的同时,显示对应的账户

其实私钥是加密存储在钱包中的,所以我们当然也可以查看到私钥的,命令为uptick getkey

比如:
uptick getkey BTS8HbXtZPbLACch1pvfrZEPH2xbt74VMPMD4ZSZwYeT96jwkpHFo

按提示输入密码解锁钱包,就会显示私钥啦(私钥当然要打码啦)

总结

uptick有很多强大的功能需要使用账户私钥,这篇文章,我们介绍了如何从网页钱包获取私钥、如何将私钥导入到uptick的本地钱包中以及如何使用uptick查看对应公钥的私钥等。

更多信息

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


This page is synchronized from the post: 又一把瑞士军刀? Uptick初体验(二):导入私钥

又一把瑞士军刀? Uptick初体验(一)

如果你曾经用python和steem区块链打过交道,那么你一定不会对官方的python库感到陌生。但是你知道吗?官方Python库的前身叫做piston,是由steemit上的大神 @xeroc 开发维护的。

现在我们依然可以使用piston来和steem区块链打交道,偷偷说一句,有些功能piston比官网的更好用哦。

那么如果和bitshares打交道,有没有好用的工具呢?答案是有的,并且这些工具也是 @xeroc 大神开发和维护的,那就是python-bitshares 以及uptick。我们这篇文章介绍的主角就是uptick.


(图源 :pixabay)

uptick 是什么

你可能有点迷糊,说了半天uptick到底是什么?

uptick的文档首页上,有这样一句话:

uptick is a tool to interact with the BitShares network using Python 3 and python-bitshares.

翻译过来就是uptick是一款使用Python和python-bitshares来和Bitshares网络打交道的工具。

呃,翻译得很拗口,其实就是一个和比特股网络打交道的命令行工具啦,是用python实现的,主要调用python-bitshares 这个库的接口。这样说通顺多了。

其实uptick就相当于piston-cli/steempy, 而python-bitshares 相当于piston-lib/steem-python.

如何安装

单单用语言表述有些乏味,还是我们装上体验一下比较直观。

安装超easy啦,执行下列指令即可:
pip3 install uptick

当然,你若不嫌麻烦,也可以手动安装:

1
2
3
git clone https://github.com/xeroc/uptick
cd uptick
python3 setup.py install --user

如需升级,执行下列指令即可:
pip install --user --upgrade uptick

我直接用pip在虚拟环境下安装,安装非常顺利,让我们来看一下版本号:

uptick --version

uptick 0.1.5
bitshares 0.1.8
graphenelib 0.5.5

忘记说明了,bitshares和steem 都是基于graphene的,不同于steem-python把graphene的操作直接集成到函数库中, @xeroc 将graphene独立出来,这样python-bitshares以及piston-lib可以公用graphenelib啦。

查看帮助

装上之后一头雾水?没关系,uptick提供的完善的帮助信息。
uptick --help


部分帮助内容如上所示,限于篇幅,不都列出来了。

获取报价信息

现在是时候体验一下uptick的强大功能啦!

比如说我的公众号有bts的报价信息

我们来试试用uptick 如何获取:

是不是很强大很方便啊?(貌似没我公众号方便啊😀,不过这只是uptick的众多功能之一哦)

总结

在这篇文章中,我们介绍了操作bitshares的工具之一:uptick,并简要介绍了uptick的安装和使用。这是个很强大的工具,我只介绍了冰山一角,之后我们会用一些篇幅继续对其介绍,敬请期待。

BTW: 比特股王者归来,重新上1元了,你,上车了吗?

更多信息

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


This page is synchronized from the post: 又一把瑞士军刀? Uptick初体验(一)

微信公众号STEEMIT做了一些细节上的调整

记得很久以前在公司上班的时候,我们的领号建议部门建立个员工书吧,然后买了一堆诸如《细节决定成败》、《把信送给加西亚》、《谁动了我的奶酪》之类的所谓的励志图书,对此我颇不以为然,一直认为这些所谓的励志图书不过是洗脑宝典而已。

但是之后的工作中,我却越来越意识到细节的重要性。注重细节能否成功先不说,但是忽视细节导致失败的例子却比比皆是。

好吧,其实我这篇文章不是来讲故事的,那些陈旧的往事也不想再多提起。

这篇文章说的是,微信公众号STEEMIT做了一些细节上的调整,用起来更方便啦。

简单指令去掉了问号

最近bts不是涨势喜人吗?我就在公众号中加了bts价格查询。

查询指令是?bts

其实在电脑上输入?bts是很容易的事情,没带来多少不便。但是微信公众号主要使用的设备还是手机啊。

比如说我晚上躺床上睡不着的时候想看看bts价格几何,然后就得:

  • 切换输入法到符号方式
  • 费老大的劲输入英文?号
  • 再切换会英文字母方式
  • 输入bts。

一次两次也无所谓了,但是最近bts价格变化太频繁了,我查的次数也比较多,我才知道我设计了一个多么反人类的操作。

而更加反人类的是,面对这么反人类的操作方式,我竟然忍耐了这么久?!

今天比特股再次狂拉

内盘价格已经突破的0.81,我用反人类的方式查啊查啊,最后痛下决心,不能再忍了


看,简单多了。

一起去掉?号的还有以下指令:

tk / ?ticker 查询市场报价
ob / ?orderbook 查询订单信息
pu / ?powerup 发文建议信息
bts 查询BTS价格信息
eos 查询EOS价格信息
yoyow 查询YOYOW价格信息

更新了一下帮助信息

无论输入?还是或者help或者帮助

都可以呼出如下帮助信息

对程序处理进行了一些优化

对程序处理指令和返回信息做了一些优化,反应更加迅捷。

公众号添加方法

公众号在不断完善中,会提供越来越多的功能和便利

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

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

(封面图源 :pixabay)


This page is synchronized from the post: 微信公众号STEEMIT做了一些细节上的调整

参加了建军90周年纪念币的“ICO”

2017年9月4日下午,央行联合中央网信办、工业和信息化部、工商总局、银监会、证监会、保监会等六部门联合发布《关于防范代币发行融资风险的公告》,叫停了数字货币ICO,并要求已经上市的ICO项目进行清退。

先不说央行一刀切的做法是否妥当,当时ICO鱼龙混杂的现象确实是存在已久。

那么是否有靠谱的ICO项目呢?什么一币一别墅除了比特币和比特币的子孙们有望达到,其它币种目前看来还很难,咱也不去指望,但是如果有能保值又增值的项目,倒是也可以考虑投资一些嘛。

前几天我就参加了一个这样的项目,建军90周年纪念币的发行。这个可是集保值、收藏、投资于一体的货币哦。最重要的是,它本身就是法币,当你觉得它增值慢,不想收藏了,可以随时拿去超市买可乐,不过我相信没人会这么干的。😀

2017111936.jpg
纪念币一盒200枚,40枚*5卷,每枚10元。现在EOS都12-13了吧,这个建军90周年纪念币良心价啊。

2017111924.jpg
背面照,偷偷地说,整卷现在可以轻松换到,整盒不好搞哦,先不说你是否能搞到5个身份证又都从一个网点预约到,即便这样,人家也不给你盒。


我不舍得拆盒,从网上找个外观介绍图吧,实物要比这个图漂亮得多。


防伪特征等等。


现在网上整盒价格已经炒作至2460元,转手就是20%+的利润啊。不过我不会出手的,我要等他涨到一币一别墅呢。

2017111944.jpg
为了庆祝成功参与ICO,和朋友出去喝点小酒。好几十个币子被我们吃掉了。😭


This page is synchronized from the post: 参加了建军90周年纪念币的“ICO”

固步自封和与时俱进——更换券商的经历


十多年前我一个朋友的工作是券商经纪人,为了完成她的业绩要求,我在她那开设了A股账户。后来我的亲朋好友,但凡咨询我开户事宜的,我都推荐到她那边去。毕竟在其它券商开户也是开户,在朋友这里开,一来可以做到很低的交易手续费,二来也让她增加一些业绩,对双方都有利的事情,何乐而不为呢?就这样,我自己和身边的好多亲戚朋友使用了这个券商服务长达N年之久。

期间我深刻体验到了这个券商软件系统的诸多不便,比如节点反应慢、数据更新不及时、内容资讯不丰富等等等等。而让我最感到不便的是新股申购功能,我每天要从繁复的数据中找出当日发行的新股,然后记下申购号码,然后到券商的软件中一笔一笔输入申购号码和数量,进行购买。

最乌龙的一次,我将申购号码输错,恰逢账户里还有好多人民币余额,然后原本计划申购新股的我,买了N多垃圾股。等了多半年,这个垃圾股才刚刚回本被我清掉。当初我在STEEMIT上发帖说这个事情,好多朋友好奇的问,买新股还需要手工输入号码?不都是一键申购吗?好吧,这时候我才意识到,天下不止一个券商,而别的券商都好先进的。

但是碍于朋友的情面,能将就用就将就用吧,毕竟虽然软件垃圾点,操作麻烦点,但终归还是能用的。促使我做出改变的是,最近一段时间,我发现这个券商的系统越来越难登陆了。我在电脑上,想看看行情,要等10-20分钟才能打开软件,之前就一直卡在一个弹出消息的窗口那里!10-20分钟,行情可能有极大的变化,尽管即便我能看到实时行情也未必能做出神马英明决策,但是我做出的错误决定,我毫不犹豫地都归结为券商的软件垃圾。

恰逢使用招行手机银行无意间看到在线开户,手续费千分之2.5,就试了一下,点点点几下之后,一个美眉主动和我视频,然后问我一些是不是自己本人意愿要开户之类的问题后,很快账户就开好了。

第二天我转了一些钱进去,试着买了一些股票,操作极其方便。更重要的,软件里边实时滚动播报我所关注的股票的一些重要资讯,再也不会像个瞎子一样的,啥也不知道了。

过了两天又测试了一下新股申购,点进去之后系统会把当日新股都列出来,并自动勾选上,我只需按一下一键申购,就会自动帮我申购成功。传说中的一键申购,我终于用上了。

用了几天之后,感觉这个券商的手机软件(集成在招行手机银行中)比原来的券商软件先进的不是一点半点,用个成语云泥之别来形容,好不夸张。于是我决定将我的股票慢慢都迁移到这个券商这里了。

或许这样做有点对不起我的这个朋友,不过如果继续忍受原本的券商,就对不起我自己了,想必她会理解吧。

两个券商,或许我之前用的那个起点更早,当年积累的用户更多,但是靠吃老用户的底子而不思进取和改变,终究会被用户抛弃。

从券商的启示再来反观我们自己,如果我们像那个老券商一样固步自封,不思进取,靠以前所掌握的学识和技术吃老本,那么即便不被淘汰,也终将难有大的起色了。

(图源 :pixabay)


This page is synchronized from the post: 固步自封和与时俱进——更换券商的经历

STEEM Transaction 签名学习笔记 (二)/ 投票操作的流程

昨天写完STEEM 签名学习笔记 (一)/ 读操作与写操作以后,发现完全不知道如何进行下去。我觉得我自己给自己挖了个坑,然后掉进坑里,出不来了。

貌似我需要先从坑里爬上来,然后找一部梯子,然后把梯子竖到坑里,然后我再从梯子爬上来,感觉逻辑有点混乱呢?哪里不对呢?


投票操作的流程(wallet)

以投票操作为例,来学习。

看了一下wallet的实现:

貌似怎么看,怎么简单,大致流程如下:

  • 声明vote_operation结构体实例
  • 给结构体实例赋初值
  • 声明signed_transaction结构体实例
  • vote_operation实例添加到signed_transaction实例中
  • signed_transaction实例广播出去

投票操作的流程实例

对应到我们前一篇文章中,来看看每个结构体都长啥样?

1
2
3
4
5
['vote',
{'author': 'oflyhigh.test',
'permlink': '6r3tt4-test',
'voter': 'oflyhigh',
'weight': 2000}]

填充完vote_operation 应该是这个样子。

1
2
3
4
5
6
{'expiration': '',
'extensions': [],
'operations': [],
'ref_block_num': 0,
'ref_block_prefix': 0,
'signatures': []}

一个空的transaction应该长成这样,signed_transactiontransaction继承而来。

signed_transaction负责把这些内容填完整。
填完整以后是这个样子:

将填完整后的transaction广播出去的操作我们上节已经演示了如何用curl进行操作,这节就不再赘述了。

signed_transaction做了啥

如果按照我们上述分析,貌似将操作打包并完成签名也没啥难度啊,然而事实是难点都在signed_transaction这完成的。那么它做了啥呢?

因为,投票操作没有extensions,所以我们暂时不予考虑。

operation添加到transaction中也没啥难度。那么去除这些以外,它实际做了三件事:

  • 设置超时时间:expiration
  • 设置ref_block_numref_block_prefix
  • transaction进行签名: 添加signatures部分

好吧,这三个操作我还没搞明白呢,等我明天学习明白一点点再继续毁人不倦。

(封面图源 :pixabay)


This page is synchronized from the post: STEEM Transaction 签名学习笔记 (二)/ 投票操作的流程

Your browser is out-of-date!

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

×