每天进步一点点:comment_options 操作 & Power UP 100%

每天进步一点点:comment_options 操作 & Power UP 100%

你注意到有些帖子设置了100% Power UP而不是默认的50%/50%分配比例嘛?你注意到网站首页有些项目方的帖子设置了拒绝收益嘛?你是不是很好奇,这些都都是如何设置的?


(图源 :pixabay)

当然,从网站界面上/或者APP设置中,实现这样的操作都很简单,但是你想知道这背后的机制是什么嘛?

comment_options

或许聪明的你已经猜到了,没错,这背后都使用了一个叫做comment_options的操作,直白点翻译/解释,就是设置文章的选项。

我们知道,发表文章要使用comment操作,以前我应该分享过comment操作大致长什么样,如果忘记了,我们这里再复习一下:

1
2
3
4
5
6
7
8
9
op_comment = ['comment',{
'author': '',
'body': '',
'json_metadata': '',
'parent_author': '',
'parent_permlink': '',
'permlink': '',
'title': ''
}]

里边内容极其简单,就不过多解释了,但是你会注意到,这里边并没有设置100% POWER UP以及拒绝收益的地方。

所以要想设置这些内容,我们需要另外一个独立的Operation:

1
2
3
4
5
6
7
8
9
op_comment_options = ['comment_options',{
'author': '',
'permlink': '',
'max_accepted_payout': '',
'percent_steem_dollars': 10000,
'allow_votes': True,
'allow_curation_rewards': True,
'extensions': []
}]

理论上来讲,这个操作可以在任何时候广播到网络上,但是实际上是有一些限制的,比如说:

  • max_accepted_payout只能减少不能增加
  • percent_steem_dollars只能减少不能增加
  • beneficiaries设置的时候,必须没有投票
  • ……

所以,最佳的方式,是把comment以及comment_options两个operations 放到一个transaction中,这样就不必去考虑那些复杂的约束条件了。

测试 comment_options

为了简便,我将comment以及comment_options两个操作分别命名op以及op_co(请原谅我的命名水平):

文章链接、标题、内文等基本信息如下:

permlink = "testpost15"
title = "测试100% Power UP"
body = "这只是个测试,本文作者收益100% Power UP!"

关于op的基本操作为:

op[1]["author"] = "oflyhigh.test"
op[1]["permlink"] = permlink
op[1]["parent_permlink"] = "test"
op[1]["title"] = title
op[1]["body"] = body

关于op_co的基本操作为:

op_co[1]["author"] = "oflyhigh.test"
op_co[1]["permlink"] = permlink
op_co[1]["max_accepted_payout"] = HIVE_ASSET('1000.000 HBD')
op_co[1]["percent_steem_dollars"] = 0
op_co[1]["allow_votes"] = True

将两个操作追加到transaction并广播:

trx.append_op(op)
trx.append_op(op_co)
trx.sign_digest(wif)
trx.broadcast()

广播出去的transaction大概长成这样:

image.png

区块链浏览器(https://hiveblocks.com/)上可以看到我们的transaction:

image.png

这里可以看到我们的帖子:

image.png

那个红色的小LOGO就表示这个文章Power UP 100% 哦,欢迎大家去给文章点赞哦。(^_^)

相关链接


This page is synchronized from the post: ‘每天进步一点点:comment_options 操作 & Power UP 100%’

Your browser is out-of-date!

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

×