假设我们这样一种复杂的需求,一个多重签名账户,需要进行一笔交易,比如转账给别人。
那么我们需要对这个操作进行签名的权重超过阈值,这样说可能有些复杂,举个例子:
一个账户由三个账户控制,进行某项操作时,必须两个以上账户同意。
好了,今天要说的不是多重签名账户咋玩,而是假设我们有上述需求,那么如何对操作进行签名呢?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)、签名交易以及广播交易