Skip to content

Content Operations

Deprecation notice: vote_operation (ID 0), content_operation (ID 1), and delete_content_operation (ID 9) are deprecated. They remain in the operation variant for historical and archive compatibility but should not be used in new code. custom_operation (ID 10) is the active general-purpose data channel.


content_operation (deprecated) (ID 1)

Auth: regular of author

Creates or updates a content object (post or comment). Content is addressed by author + permlink.

FieldTypeDescription
parent_authoraccount_name_typeAuthor of parent content; "" for a root post
parent_permlinkstringPermlink of parent; acts as category tag for root posts
authoraccount_name_typeContent author
permlinkstringUnique identifier within the author's namespace
titlestringPost title
bodystringPost body (Markdown)
curation_percentint16_tCuration reward share in basis points (0–10000)
json_metadatastringJSON metadata string
extensionscontent_extensions_typeOptional beneficiary list

Beneficiary extension format (inside extensions):

json
[[0, {
  "beneficiaries": [
    {"account": "bob", "weight": 2500}
  ]
}]]
  • parent_author == "" → root post; otherwise a comment.
  • permlink must be unique per author.
  • curation_percent must be within the chain's [min_curation_percent, max_curation_percent] range.
  • Beneficiary weights must sum to ≤ 10000 and be sorted by account name ascending.

vote_operation (deprecated) (ID 0)

Auth: regular of voter

Casts a weighted vote on a piece of content.

FieldTypeDescription
voteraccount_name_typeVoting account
authoraccount_name_typeContent author
permlinkstringContent permlink
weightint16_tVote weight: negative = flag, positive = upvote, 0 = remove vote
  • weight range: −10000 to 10000.
  • Flag votes may incur extra energy cost (flag_energy_additional_cost chain property).

delete_content_operation (deprecated) (ID 9)

Auth: regular of author

Deletes a content object.

FieldTypeDescription
authoraccount_name_typeContent author
permlinkstringContent permlink to delete
  • Content with a pending payout cannot be deleted.

custom_operation (ID 10)

Auth: active or regular of signers (at least one)

Posts arbitrary JSON data to the blockchain. Used by applications to build custom on-chain protocols.

FieldTypeDescription
required_active_authsflat_set<account_name_type>Accounts requiring active-key signatures
required_regular_authsflat_set<account_name_type>Accounts requiring regular-key signatures
idstringApplication-defined namespace identifier (max 32 characters)
jsonstringValid UTF-8 JSON payload
json
[10, {
  "required_active_auths": [],
  "required_regular_auths": ["alice"],
  "id": "my_app",
  "json": "{\"action\":\"follow\",\"target\":\"bob\"}"
}]
  • At least one of required_active_auths or required_regular_auths must be non-empty.
  • Accounts in required_active_auths must sign with their active key.
  • Accounts in required_regular_auths must sign with their regular key.
  • Both sets may be populated simultaneously for multi-authority operations.
  • The json field is counted as a data operation — may incur additional bandwidth cost (data_operations_cost_additional_bandwidth chain property).

See also: Data Types, Operations Overview, Awards.