steem-python for dummies #4 - Private memos

in #utopian-io6 years ago (edited)

Hello,

This is the 4. post of "steem-python for dummies" series. If you didn't read the older ones, take your time and have a look.

  1. steem-python for dummies #1 - Introduction and Basic Operations
  2. steem-python for dummies #2 - Playing with account data
  3. steem-python for dummies #3 - Coding an upvote bot

In this post, we will learn about private memos.

Private memos

All steem transfer operations are public. Everyone can see it. But if you want to attach a private message between sender and receiver, you have an option to encrpypt the message and send it like this.

Steemit interface already supports this functionality. Only thing you should do is just adding a "#" char to the start of the message.

# This is secret. Nobody should see this.

Using private memos in steem-python

It's dead simple. Just add # to the beginning of the memo.

s = Steem(keys=["PRIVATE_MEMO_KEY"])
s.commit.transfer(
    "emrebeyler", 
    0.001, 
    "SBD", 
    memo="#test message", 
    account="sender_account"
)

Tip: Currently steem-python package has a little bug when sending private memos. It add one extra "#" char to the beginning of the memo. It doesn't break the functionality but if you want to get rid of that, you can apply this patch:
remove double "#" char in private memos

Also, note that, private memo key is required to encrypt/decrpty memo keys.

Here is my private message's string representation on the network

Reading private memos

Steem-python's Memo class has a helper do decode memos. All you need is just passing memo private key and the encoded string. It will return the encoded message.

from steembase import memo as Memo
from steembase.account import PrivateKey
print(Memo.decode_memo(
    PrivateKey("MEMO_PRIVATE_KEY"),
    "#Jj3eUdmGhs9dbee5crcPTA7hXybBw6TvkEG7NvLVsxTTnb4AHmLeYmQ58r4K4GTLGHZX8BcESDSP6reVz7toZF7xYT88eytJxuS1ChCsKHRKJY3MUyShcJhy36wGX1W31",
))

Use cases

  • Private messages (Only sender and receiver can decode it.)
  • 3rd party applications can make use of it. Like If I want to see balance on my minnowbooster account, minnowbooster can send the amount with a private memo.

That's all for this post. Feel free to ask questions or request topics about steem-python for the incoming posts.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you. Sometimes all it takes is little hints like these to get started :)

Glad you liked it.

This series are based on my personal experience w/ steem-python and it includes a lot of gotchas around it which may be helpful for onboarding python devs.

Umarım onay alırsınız 😊

alıyor genelde, sıkıntı olmadı hiç. :)

Qurator
Your Quality Content Curator
This post has been upvoted and given the stamp of authenticity by @qurator. To join the quality content creators and receive daily upvotes click here for more info.

Qurator's exclusive support bot is now live. For more info click HERE or send some SBD and your link to @qustodian to get even more support.

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by Emrebeyler from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

thank you.

Senin hızına yetişemesem de koşturmaya çalışıyorum. Yalnız kod olayları yakışıyor senin postlara bilgin olsun :))

teşekkürler, her gün 1 tane yazmak istiyordum normalde ama bu sefer arayı biraz uzattık.

Great post!!!
I will look into this when i start help developing on utopian!!

Hey @emrebeyler I am @utopian-io. I have just upvoted you at 7% Power!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!
  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • I introduced a competition factor. My vote is based also on how competitive the category used is.

Human Curation

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Time is a river,this is 2 years old !BEER



Hey @emrebeyler, here is a little bit of BEER from @isnochys for you. Enjoy it!

:D awesome serial writer :D