使用命令行钱包(cli_wallet)点赞、转款、投见证人票等

有朋友问我,在HIVE上,怎么操作最安全?其实我们平时发文、点赞等都用的是POSTING KEY(发文私钥),尽管这个也很重要,但是泄露后我们可以修改掉。

image.png
(图源 :pixabay)

但是如果涉及转账、投见证人票或者涉及HBD的存款、取款等,则需要用到ACTIVE KEY(活跃私钥/资金私钥),这个一旦泄露,你账户里的活期资产可能会瞬间被人转走,那就欲哭无泪啦。

我想了一下他的问题,其实要说安全,肯定是自己写钱包最安全(但是万一写不好有漏洞可能反而会比较悲催),另外,自己写钱包还是必要有难度的。所以我觉得相对而言,命令行钱包(cli_wallet)还是个非常不错的选项的。

命令行钱包是官方与hived一起以源码形式发布的,大家都可以看到代码中进行了哪些操作,有没有恶意代码;另外,大家可以自行从源码编译,这样安全性便得到极大的保证。

这篇文章我们假设已经编译好了命令行钱包,从头开始给大家介绍如何使用。

连接到节点

使用命令行钱包之前,需要先连接到hive的节点上,我们这里连接的是本地节点,如果你没有一个本地节点,那么连接远程的公共节点也可以:

cli_wallet -s ws://127.0.0.1:8091

设置钱包密码

初次使用命令行钱包,它会提示我们初始化一个新钱包并设置密码:

Reveal spoiler

image.png

我们按提示为钱包设置密码:

set_password passwd

其中passwd是你为钱包选择的密码,注意不要用常见的词汇,也不要用太简单或者易猜测的密码。

导入私钥

在使用钱包进行操作(查询类的操作除外)之前,需要导入相应的私钥。如果我们只是用来发帖、点赞,那么导入POSTING KEY;如果要进行转账、投见证人票、HBD存取款等,那么要导入ACTIVE KEY;如果转账要加上加密的MEMO,那么要导入MEMO KEY。

导入私钥之前,我们首先解锁钱包,在locked >>>提示符后边输入:

unlock passwd

其中passwd是你为钱包设定的密码,解锁成功后,提示符会变成unlocked >>>,然后就可以导入私钥了。

使用如下语句导入私钥:

import_key xxxx

我们通过上述方法导入相应账户的POSTING KEY、ACTIVE KEY以及MEMO KEY。

投票操作

命令行钱包支持N多操作,我们也可以用help指令查看,因为支持的操作列表太长,我就不截屏啦。

condenser_api::legacy_signed_transaction vote(const string & voter, const string & author, const string & permlink, int16_t weight, bool broadcast)

其中投票操作的提示信息如上,分别是:投票者、作者、文章permlink、投票权重、是否广播

以这篇文章为例:https://hive.blog/test/@oflyhigh.test/6nvvoa,点赞1%,那么相应的投票指令应为:

vote oflyhigh oflyhigh.test oflyhigh.test 1 false

其中false表示先不广播,在对命令行钱包操作不熟悉的时候,可以使用false来对操作进行测试,等熟悉后,改成true将操作广播到网络上。

上述指令发送后,会出类似如下的提示信息,说明指令啥的都没错。注意的是,操作中,用10000及以内的整数表示百分比(weight),所以1%就是100:

Reveal spoiler

image.png

将上述指令中的false改成true,并提交。通过hiveblocks.com可以查看到投票成功:

Reveal spoiler

image.png

转账操作

转账操作同投票操作没啥本质区别,有两点需要注意的地方,一是转账操作需要ACTIVE KEY;二是,如果需要加密的memo则需要MEMO KEY。

转账操作的帮助信息如下:
condenser_api::legacy_signed_transaction transfer(const string & from, const string & to, const condenser_api::legacy_asset & amount, const string & memo, bool broadcast)

我们分别来发起两条转账信息,一条非加密MEMO:

transfer oflyhigh oflyhigh.test "0.001 HBD" "此处是memo" true

hiveblocks.com可以查看到相应的转账信息以及对应的MEMO:
image.png

另外一条是加密MEMO:

transfer oflyhigh oflyhigh.test "0.001 HBD" "#此处是加密memo" true

注意,这里以#开头,表示这条信息需要加密,在hiveblocks.com可以查看到相应的转账信息以及对应的MEMO,可是MEMO部分是一堆加密后的信息:

Reveal spoiler

image.png

使用wallet.hive.blog登录后,可以查看到以上两条相对应的转账信息:

Reveal spoiler

image.png

投见证人票

投见证人票的相关帮助信息如下:

condenser_api::legacy_signed_transaction vote_for_witness(const string & account_to_vote_with, const string & witness_to_vote_for, bool approve, bool broadcast)

如果你不知道该投谁或者已经投了谁,那么可以来这里查看相关信息:

https://www.cutehive.com/witnesses.php

举例说,如果你还没有投我见证人票,那么可以使用如下指令投票给我哦😀:

vote_for_witness yourid oflyhigh true true

其中yourid代表你在HIVE的ID, oflyhigh表示你要支持的见证人,第一个true表示投赞成票(换成false表示投反对票,亦即撤票)。

你要不要来试试呢?当然了,如果你已经投过我,就不要再试了,不然万一操作错了,给我撤票,我就会很伤心的哦。

image.png
(图源 :pixabay)

好了,今天就暂时介绍这些,命令行钱包操作,是不是也很简单啊?

相关链接

Sort:  

Your content has been voted as a part of Encouragement program. Keep up the good work!

Use Ecency daily to boost your growth on platform!

Support Ecency
Vote for new Proposal
Delegate HP and earn more

谢谢O哥的分享,写的如此详细👍👍

哈哈,这还简单?我还是用密钥吧,感觉那个适合我。万一看代码看崩溃了,得不偿失啊😂

👍👍👍我就捡现成的用吧!🤣🤣🤣

谢谢O神哥分享,太棒啦👍 大爱呀!

感谢O哥分亨,这篇还是能看懂的,比较详细了,但是操作起来心里没底…

我们可以抄作业了🤣

感谢分享,学习了

我刚打开你那个链接去检查了,以前已经投票给你了

用了这么久的转账功能,以为很熟悉了。
原来还有这么多秘诀。memo还能加密。学习了。
感谢o哥。