Introducing: Steem Messenger (Beta)

in utopian-io •  7 years ago  (edited)

SteemMessenger.png

I'm very excited and proud to introduce my newest project for the Steem-Ecosystem:

Steem Messenger (Beta)

Messenger_1.png

Steem Messenger is the easiest way to communicate with other Steem users through the blockchain (on-chain) via transfers.

These messages (transfers) can be sent in plain text or in encrypted format (with your private memo-key).

The project is currently in beta, open-source and available for Windows, Mac & Linux on Github:

Releases: https://github.com/therealwolf42/steemmessenger/releases

Bug Reports: https://github.com/therealwolf42/steemmessenger/issues

Source Code: https://github.com/therealwolf42/steemmessenger

For Utopian: This also the initial release as previous development has been done on a private repository

Features

  • Customized chat design - based on the look and feel of Discord.

  • Messages (transfers) can be sent in plain text and encrypted format.

  • The needed keys (active & memo) can be imported directly into the messenger or derived from the password, which are then saved in an encrypted format (with an encryption password) locally on the computer.

  • Incoming Messages are automatically fetched every x minutes (default: 10 minutes - can be customized) and also decrypted (if messenger is unlocked - more about that below)

  • The Messenger has to be unlocked in order to send any messages / decrypt new messages and will automatically lock itself after a period. (default 60 minutes - can be customized)

  • Notifications for new messages (currently not working on Linux)

  • Multiple accounts supported

  • Steem users can be blacklisted to block transfer spammers - additionally, Smartsteem.com is providing a global-blacklist consisting of known spammers & scammers.

  • Settings can be configured dynamically

  • Notification when a new version is available


Important: Beta Version

Steem Messenger is currently in Beta. While careful development and testing has been done - bugs should be expected. @therealwolf or smartsteem.com cannot be held liable for unknown issues, loss of funds (SBD & STEEM) or mistakes made by the user.

Now, since we have the important message above out of the way - let me show you what you prob. all have been waiting for:

The Messenger live in action!


Live : Sending Messages

SteemMessenger_Action.gif

As seen in the gif above - messaging is only possible when the wallet is unlocked and an active key imported. Encryption is only possible when the account's memo key has been imported as well.


Getting Started

Adding your first account to the messenger is really easy and takes only a minute.

SteemMessenger_Start.gif

The keys can be either imported directly or derived from your password. An encryption password has to be entered as well to unlock the wallet & decrypt your keys.


Interface

Messenger_Numbers.png

There are multiple functions on the main interface:

1.) Unlock / Lock the Messenger
2.) Open Settings
3.) Get newest messages (if new are available)
4.) Start new conversation with enter or a click on the arrow
5.) Hide all current and future messages from that user by putting him/her on the blacklist
6.) Send a transfer


Multiple Accounts

Messenger_Accounts.png

You are able to add multiple accounts to the Messenger.

While only one can be selected at a time - the data is saved locally for all your accounts.


Nodes

Messenger_Nodes.png

You are able to choose your preferred RPC-Node.

I personally really like rpc.build.team.io but api.steemit.com is great as well. However, at the time of writing - api.steemit.com is causing small problems with the messenger - so I temporary disabled that option.


Blacklist

Messenger_Blacklist.png

Users can be put on your individual blacklist.

I personally don't have any individual users on my blacklist, because all of those are already on smartsteem's global blacklist - so I just chose @samrg472 - who is of course no spammer!


Settings

Messenger_Settings.png

These settings can be customized by you:

Use Smartsteem Blacklist

If you want to use the global blacklist consisting of spammers and scammers powered by Smartsteem.com

Default Encrypt Messages

If this setting is enabled - the encrypt checkbox is always checked by default.

Default Currency

Whether you want to use either SBD or STEEM as your preferred currency.

Update Interval

Every x minutes (10 by default) the messenger is checking for new messages. Minimum value is 1 minute.

Unlock Timeout

x minutes (60 by default) after unlocking of the messenger - it will be locked again and the decrypted keys will be reset.


Last Words

Honestly, I'm so excited to have finally finished the first version of the messenger.

I really hope that many of you will find it as useful as me.

And please keep in mind that it is still Beta - so bugs will arise. And if they do - let me know on Github through issues. (link is at the beginning of this post)

Also: I was able to work and focus nearly primarily on the messenger in the last few weeks due to the success of Smartsteem.com.

So I want to thank every vote-seller, delegator & vote-buyer / bidder for indirectly giving me the space & possibility to focus on a project - which has the primary goal of enhancing Steem and your experience with it!

Oh and if you believe that I bring value to Steem, then please vote for me as witness with a click on my signature below. (or with your favorite method).

Thank you!


Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

While I applaud the development effort, I’m wondering why this is actually necessary.

You can currently send messages to anyone. You can encrypt those messages. You can receive and read those messages. They already require keys and a minimal 0.001 fee.

Why would anyone need to use this specific “Steem Messenger?” It has all of the same required functions as current wallet transfers...but does not improve the messaging system. It’s pretty much exactly the same, except you would now use another third-party app.

Am I missing something here?

You can currently send messages to anyone. You can encrypt those messages. You can receive and read those messages. They already require keys and a minimal 0.001 fee.

Why would anyone need to use this specific “Steem Messenger?” It has all of the same required functions as current wallet transfers...but does not improve the messaging system. It’s pretty much exactly the same, except you would now use another third-party app.

Because it's a pain in the ... to use the Wallet transfers. The memo key isn't saved, because most users log in via their posting key and this results in encrypted messages not being automatically decrypted and encryption not working without a login with your memo-key.

And even if you login with your memo key to read those messages & encrypt - you still have to enter your active key afterwards.

So yes - I used the wallet in the past and it works, but it is simply too complicated, waste of time and insecure entering the keys so often.

Nevertheless, I appreciate your comment!

...but it is simply too complicated, waste of time and insecure entering the keys so often.

It’s really no more complicated or time consuming than logging into a third-party service and using it to send a message. And the security issue remains to be seen. I actually feel pretty secure not having my keys saved and only needing to use them when they’re necessary.

I use the existing wallet transfer functions all the time with no issues. Is this new service mainly for noobs? People who don’t know the simple features/functions of the current Steem wallet?

It’s really no more complicated or time consuming than logging into a third-party service and using it to send a message.

What do you mean with third-party-service?

And the security issue remains to be seen. I actually feel pretty secure not having my keys saved and only needing to use them when they’re necessary.

You got to have them saved somewhere - otherwise how do you use them?

I use the existing wallet transfer functions all the time with no issues. Is this new service mainly for noobs? People who don’t know the simple features/functions of the current Steem wallet?

What do you mean with third-party-service?

Your software is a "third-party service" (But so is Steemit, Busy and any other front-end, since the blockchain cannot be accessed without the use of such implementations).

You got to have them saved somewhere - otherwise how do you use them?

I think that by this he meant easily accessible and always "active" (like when you use your browser's password manager to automatically input your password regardless of the user, and using cookies to keep the password wif logged in your session).

But with proper safety measures, this messenger would not be a security risk, I believe, and would instead make it much faster and safer to send and read transactions (especially if real-time notifs were enabled in the future).

The security aspects in general for the issue of typing versus storing, it can be secure enough considering the developer did use the appropriate encryption apis, selected the correct ciphers and use a sensitive / aggressive interation count on a key derivation function (KDF).

This proctects against phshing, if correctly implemented.

Also notice I'm not vetting this project, just expressing that is more or less the same about the cryptographycally-soundness, but on the phishing part, a definitive more secure apprach.

I'm on the final rounds of a new wallet development, and I'll publish a doc on how I've secure the keys, using a 6 digit pin code which is resistent to phishing, rainbow tables and other aspects.

The security of the secret-key exchange used by steem is another debate.

I honestly believe on a off-chain approach for the encrypted messages to live. storing numerous and numerous encrypted messages, potentially with the same content possible opens some window to crypto-analysis, but, the end result is not catastrophic, the worse case scenario, a given individual would be able to read encrypted messages.

Glad to extend this conversation further when possible.

Congrats @therealwolf on the project!

Hello @hernandev ! Maybe you'll want to check out the REAL Steem Messenger project, which is actually off chain based : https://steemit.com/utopian-io/@kingswisdom/steem-messenger-v0-0-3-private-beta-session-image-encryption-and-many-more

We work with a unique security protocol that i'll be unveiling this weekend ! Stay tuned for more infos on this !

Upvoted for visibility - it's bullshit when people steal names. I have no doubt the product is cool and well built...but for fucks sake be original people. Besides, I think off-chain solutions are better for this. Why force the chain to work this hard?

Well both these apps are pretty close together and Beta. Not like one has been out for 12 months haha

I think is a great idea

Hello @ats-david ! I agree with you, this application is just a better graphical UI to the steem wallet. We still need to give our active key in order to just send messages, which puts our account at risk.
In addition, this is not the real Steem Messenger. Here is the REAL Steem Messenger project : https://steemit.com/utopian-io/@kingswisdom/steem-messenger-v0-0-3-private-beta-session-image-encryption-and-many-more

It is off chain, does not require your active permission, nor to access to your funds, it is scalable at ease, and truly unique by design.

I will unveil the security protocol used in Steem Messenger (the real one) this weekend. Stay tuned for more info on this.

Not to mention private messages were already introduced around the start of Steemit. The name of this invention is called steemit.chat.

  1. Steemit.chat is not on the blockchain
  2. You can use any name you want on Steemit.chat if it's not already used. This has led to scammers using the names of big organisations to make people believe that they are trustable. Many newbies have lost their funds and accounts because of this.

I faced that problem sometimes too. You don't know who is authentic and who is not. Anyone can use any name on steemit.chat.

My name on Chat is the same as heerre. Plus, you can verify me on Keybase as well.

The goal never was to replace steem.chat. Rather to give an easy way to initiate contact and send messages via the blockchain and if needed afterwards - switching to other plattforms (steem.chat, discord) is always possible.

It's always good to have an alternate platform to steemit chat. As it has been down a lot of times in the last year.

And a lot of users are not on discord.

I was waiting for some service like yours for a long time. If this one works properly, I will not use discord and chat anymore!

how about the delays between sending a paid memo?

Steem creates a new block every 3 seconds

How can I encrypt my Memo? I couldn't figure out it yet.

This seems really interesting. Looking forward to seeing how it develops, will certainly give it a test.

Looking forward to seeing how my comment develops? How will you test it?

It's so that you can use a dedicated application that isn't cluttered with the rest of the functionality. I like my chat applications dedicated to preserve my sanity.

Three things would make this a killer app for me:

  1. Setting for minimum value for message to be shown at all
  2. Setting for minimum value to give alert
  3. Protocol to make my settings publicly known (so app users know how much to get me to see the message, and how much to trigger a mobile alert).

1.) No problem.
2.) Alert? Do you mean Notifications like this?

Or do you actually mean a mobile alert? And how? SMS?

3.) No problem. But also similar question as above regarding mobile alert.

Oh, I didn't realize this was a desktop app, I figured it was a web app, I didn't read the full post. If it were a web app you could request permission from the browser to create alerts. You could also have a wrapper app on Android that could do alerts. However as a desktop app I'm not sure it could serve this purpose.

The App is written with electron-js (chromium). So alerts are available. But I think what you mean are desktop notifications.

I can implemented something like this: https://github.com/mikaelbr/node-notifier

(Of course without the input - but you get what I mean)

  ·  7 years ago (edited)

I meant browser/mobile alerts, the kinds you get with Telegram. Desktop alerts work too.

Not sure if folks want to pay 1 Steem for every 1000 messages sent

There's also SBD. It wouldn't be a chat messenger, it would be an attention request service.

  ·  7 years ago (edited)

So basically I have to pay 1 SBD to spam 1000 people, I'm sure that very useful to the mass Steemians who don't run services

I'm working on a FCM version for my wallet app, that may useful for your app too.

Hey @therealwolf

We're already looking forward to your next contribution!

Decentralised Rewards

Share your expertise and knowledge by rating contributions made by others on Utopian.io to help us reward the best contributions together.

Utopian Witness!

Vote for Utopian Witness! We are made of developers, system administrators, entrepreneurs, artists, content creators, thinkers. We embrace every nationality, mindset and belief.

Want to chat? Join us on Discord https://discord.me/utopian-io

@utopian-io right away

Yes, just figured out... Thank you @dj123 😎

  ·  7 years ago (edited)

lol why?

oh yeah welcome to Steemit @christabelle .... and come join us in @comedyopenmic / #comedyopenmic

Right away @dj123 thank you

Here is our discord server:

https://discord.gg/rddw2Ny

come join us there!

UTOPIAN is pretty cool

amazing work! just make sure messages are ALWAYS encrypted or then chat becomes public.. forever..

Messenger on top of the blockchain is the real game changer here. I found it absurb at first glance but after reading your response in the comment, I finally the get the real value here. Well, job well done @therealwolf congrats for making this. More option = More chances of winning🤩

One big problem I see with this, how does this affect the steem infrastructure?
As I can see it at the moment, steem has already a huge problem with the existing load. Doesn't that put even more load on it? I mean, let's consider mass adoption of this, this could simply double the load of the blockchain, and we already know that distributed ledgers which rely on bft never scale well.

You're right that mass adoption of the messenger could increase the load. But my understanding is that @ned wants to have mass adoption for Steem.

And in that case: changes to improve scalability have to be made anyway.

Of course, they want mass adoption, but since full-nodes are barely taking it at the moment already, this means they're nowhere close to that goal yet. Additionally, every scalability has a limit, and a chat service like that, considering mass adoption, could simply have 10 times the load of the blockchain itself.
Which means, with growing adoption it would have to scale 10 times better with this chat than they'd have to without.

We're using but a small percentage of the whole potential that this has. I read that we're using around 3% of the max load at the moment. The problem we've been having with bandwidth recently is due to people spamming the blockchain, but I think that it's been solved with a node update by most major witnesses.

Besides, the more people that join the blockchain, the higher the requirements will be for witnesses. They will have to adapt and the blockchain's capacity will increase correspondingly to the increase in users and activity.

I'm not talking about the blockchain itself, while that's not a problem now, this will definitely be one in the future, especially with chats like that spamming the blockchain. The problems I'm talking about are the full-nodes which are already at the tipping point of them not being able to catch up anymore (At the moment they're barely coming along with 500GB RAM). While the blockchain is an important part to be scalable, there are a lot of other components involved as well.

Damn, I didn't know that the nodes were in such a saddened state. Will the Witnesses be able to handle them if they put more RAM? Would it be affordable?

The Problem is not about the witness nodes, the problems are the full nodes.
The Steem devs have pointed out in their last post that they're working on something to improve the situation. But I guess a lot of things will need a rewrite until this system starts scaling better.

Hello @raycoms, maybe you should have a look to the REAL Steem Messenger : https://steemit.com/utopian-io/@kingswisdom/steem-messenger-v0-0-3-private-beta-session-image-encryption-and-many-more

Everything in Steem Messenger happens out of the blockchain, in a permissionned database. More on our security protocol this weekend.

WOW, great project! upvoted! Thanks for the hard work.

@therealwolf as a developer and witness you are doing amazing works for steemians your bot and your apps are good and user friendly

Wouldn’t it be better to select the other user’s public memo key for encrypting messages to that user? If that’s the case, I see users having to change their public memo key often ... still not a bad idea !!

@robertgenito
Messages are encrypted (encoded) with your private memo key and the public memo-key of the recipient.

Messages can only be decrypted (decoded) with either your private memo-key or the private memo-key of the recipient.

Hmmmm, not like PGP where you can't decrypt it unless you have the recipient's private key. I'll have to research the difference in these encryption algorithms.

Search for Diffie-Hellman key exchange.

Where do we find the private Memo key? There is no option to reveal it in the Steemit wallet.

You can only derive your memo-key from your password.

Do you know of a steemit page that describes each different password and its significance with the Steem protocol? (I’m sure the white paper has this in great detail...)

Oooh thank you for clearing this up...makes sense.

Ignoring all the negative reviews about this, I completely support this work. I think it will be a good messenger. Once I ended up transferring to steemmarket instead of smartmarket and ended up in a loss. That day I was thinking a feature like this will be useful. Today you have made it possible.

And I don't think you will have to follow anyone to make a transfer to them. So as you mentioned it is pain in the .... Well a good feature. And this can also at a later point in time become a good messenger app becoming a competitor for other normal chatting messengers. Who knows. Necessity induces inventions. Great work @therealwolf.

Boom. This changes everything @therealwolf. :-D Your contributions to the STEEM Blockchain are truly remarkable. Using STEEM's wallet is a bit of a hassle as well all know. This makes it very simple, accurate and fast. I did not know if we could encrypt our messages as well. This feature is very useful for me. And if people are thinking that this to replace Steem.chat and Discord then I hope it will. :-)

The features listed here are not available on any other platform or messenger. I always send messages to users through wallet transfer in the memo when I can't find them on other apps. And at the same time I would want anyone to see those messages other than the receiver.

If someone thinks that these features are not useful to them, then this app is opensource, please suggest some additional features via @utopian-io to enhance this app and I am sure @therealwolf will be happy to implement the great ones. You will get rewarded too. :-D Cheers!

Thank you @hungryhustle!

Cool idea 😎 @therealwolf

  • One of the first shortcomings I noticed about Steemit, was discussions and chat had to be taken to an external site. I really disliked being told to go to Steem.chat or discord.
    • Perhaps the Steemit devs or devs of other front ends could add your code so it would be built into the UI of choice. ??? That would be even cooler.
      • I'll +1 @roomservice's idea of using this as the basis of public chatrooms. IMHO, that's a doable and needed idea.

I'm looking at https://github.com/therealwolf42/steemmessenger/releases

  • For my windoze box, do I download and run Steem.Messenger.Setup.0.1.0.exe ?

When I get home and want to install this on my Manjaro (Arch based) Linux box, I'm not sure what to do...

As far as the passwords, are they only stored (encrypted) on my local box? or am I giving you access to them through the program? I think I already know the answer, but I'm seeing a few comments where a bit of clarification would calm their nerves...

One more question. Is this program smart enough to know who I follow? I'm thinking maybe ajax could be used as I start typing someone's name, first checking to see if I follow them and then if not, choosing from the entire user name list of everyone on steemit? That list on the left in the above graphic of having a discussion, is that people I follow? Is that list customizable through your program?

  • I'm just thinking, if I'm trying to hold a private conversation, I wouldn't want to accidentally send it to the wrong person because of a misspelling of the user name...

The list on the left side are the conversations you have already in the past.

Currently, you have to check for yourself if the username is correct.

OK Thanks

Thank you!

Yes for windows you download the exe.

When I get home and want to install this on my Manjaro (Arch based) Linux box, I'm not sure what to do...

I personally don't run linux except for servers - and I've only tested it only ubuntu. Does one of the versions avaialble work on your linux machine?

As far as the passwords, are they only stored (encrypted) on my local box? or am I giving you access to them through the program? I think I already know the answer, but I'm seeing a few comments where a bit of clarification would calm their nerves...

Everything is stored locally - encrypted. Steem Messenger is not a service but a tool :)

Thanks for clarifying.

  • I'll let you know if I'm able to get it going on my Linux box...

@muhammad32 righ away

this is so cool

People are increasingly using instant messengers as the fastest and easiest way to communicate in an environment where there is nothing superfluous. Now this way you can communicate not only with friends but also with brands, access to the most appropriate services, bypassing search engines and websites. I wish you good luck and the maximum possible activity in your messenger.

Excellent but functional novelties, I will be testing it soon, thanks for the contribution.

although I have read some of the hate replies and that why was this needed when there is steem.chat and discord I like it.

End of the day people will be the one to decide if they will use it or not.

SteemMessenger isn't supposed to be an alternative to steem.chat or discord, but merely another step in getting in contact with steem users.

Because: the best way to reach a specific account is via a transfer. And afterwards, a discussion can always go to steem.chat, discord or another plattform.

The goal was never to replace steem.chat. Rather to give an easy way to initiate contact and send messages through the chain of blocks and if necessary afterwards, it is always possible to switch to other platforms (steem.chat, discord).

Aloha,
Thank you for taking the time to create this application. This work and that of others like you is what makes this platform special. Reading the comments was also very educational. I will vote for you as witness and follow you.

Thank you @ therealwolfSafonov_Герб из Общего гербовника дворянских родов Российской империи.gif

great contribution it will make steemit more convient with real life.

El objetivo nunca fue reemplazar steem.chat. Más bien para dar una manera fácil de iniciar el contacto y enviar mensajes a través de la cadena de bloques y si es necesario después, siempre es posible cambiar a otras plataformas (steem.chat, discordia).

Thank for you,,

While I applaud the development effort, I’m wondering why this is actually necessary. You can currently send messages to anyone. You can encrypt those messages. You can receive and read those messages. They already require keys and a minimal 0.001 fee. Why would anyone need to use this specific “Steem Messenger?” It has all of the same required functions as current wallet transfers...but does not improve the messaging system. It’s pretty much exactly the same, except you would now use another third-party app. Am I missing something here?

cool function, it will be great progress, thanks for contribution for steemit

Thanx for research! :-)

This is great. This is exactly what steemit needs. A messenger program will make it so much easier to communicate on steemit. I will be downloading it for my computer. Hopefully you will be able to make it Android compatible in the future. That would be a great app.

Will we see a web app of this tool? I'm not really into third-party packages in my OC.

This looks like a very promising application for the STEEM blockchain. This gives me plenty of excitement for the future of the ecosystem. Thanks for the share and I appreciate your efforts! Resteem

  ·  7 years ago (edited)

I am a new user too; so are you trying to say wallet transfers are not encrypted? Also for each chat message I have to send 0.001 SBD, and enter password? I am just trying to understand the utility...

Many thanks!

Wallet transfers are not encrypted, indeed. If you go to https://steemit.com/@cryptosharon/transfers, for example, you'll be able to read all the memos that I have sent and that people have sent to me.

And yeap, or more SBD or STEEM.

edit: Screenshots from @therealwolf's wallet

Plain text message:

image.png

Encrypted message:

image.png

Thanks; but you will still be able to see person 1 send 2.383 SBD to person 2? Is that correct?

Indeed! The amounts cannot be encrypted, only the memos. Amount exchanges from account to account are always inevitably public.

I might be a real noob, but why would I use this instead of Steemit chat or Discord?

There are two main reasons:

1.) To start a conversation with a Steem Account.

Transfers are getting used by many Steem users but mostly without encryption. It's easier to get in touch with a Steem user through transfers (messages) rather than to try and find the steem.chat or discord name. And the messenger automatically decrypts and encrypts messages for you - so there is no reason to not use encrypted messages.

The conversation can of course be switched to another plattform like discord after the initial few messages.

2.) To easily send transfers to promote your posts e.g. Smartsteem.com

It's really simple to send transfers for promotion of your posts with the messenger. Smartsteem.com also supports encrypted memos by the way ;)

Thanks!

Those are external platforms with individual accounts and requirements (they also request more info than the Steem blockchain does). This is straight on the blockchain, so you should consider the pros of the blockchain as the pros of this messaging app:

  • append-only features (can't delete messages)
  • identity verification (can't send messages as someone else, which does happen all the time on Discord and Steemit.chat)
  • ??
  • profit

Wow, that's an amazing tool! It is one of the missing features users always complain about. And it is the first time I see someone implementing the memo key for encrypted messages. That is so awesome. I will test this baby right away. Well done!

Finally! Thanks!!

One of the most important and missing pieces on steemit

Wow I'm super impressed you came up with the time and effort to do this. You are very noble for going out of your way to help out the Steemit community. It's interesting that the messages are sent over the blockchain. Is there any way around sending .001 of SBD? I guess if you're sending messages back and forth you'll break even. What if you send multiple messages and start losing money. I know it's not very much and one thousand Steem messages = 1 Steem, but the idea of sending a message costing something might not sit well with people, because they can generally do it for free. Nevertheless, this is a great step in the advancement of Steemit! :)

Check out the REAL Steem Messenger : https://steemit.com/utopian-io/@kingswisdom/steem-messenger-v0-0-3-private-beta-session-image-encryption-and-many-more

No fee. No bandwidth limitation. No hassle. Pure security.

I'll be unveiling the security protocol this weekend, stay tuned for this announcement !

Quit the spamming.

Hello @leoplaw !

I don't seem to be spamming anything. @jfitmisc asked is there's any workaround for the 0.001 SBD fee, and i answered him. If you think this is spamming, please let me know why, I'll sure review my position on the matter

  ·  7 years ago (edited)

Because you have repeatedly posted a link to your competing messenger. Once is rude, multiple times is spam. Rather than encouraging people to try your messenger, you're turning them off.

Nice idea and business plan.
Good luck with the project :)

SO FRIGGIN' AWESOME! :D

May I ask what method of encryption you're using?

Thank you for making this super lovely thing. I hope it takes off and becomes mainstream and has a lot of pull requests and becomes huge. <3

edit:

Update Interval

Every x minutes (10 by default) the messenger is checking for new messages. Minimum value is 1 minute.

Hmmm, will it be able to listen to the blockchain in real time in the future?

Thank you @cryptosharon!

The encryption for the messages is via memo-key, so the same that Steemit uses.

And the encryption for the keys (to save them locally) is via a node crypto library - should be SHA 256 if I'm correct.


Hmmm, will it be able to listen to the blockchain in real time in the future?

It gets every x minutes the updated account history from the blockchain and checks if there are any new ones in there.

I'll have to read the code to learn the specifics then. :) Thank you for answering.

I'm still curious about the second question. Do you think you'll program an automatic listener to the blockchain stream of events to be able to have real-time notifications of incoming messages?

Maybe a cooperation with gina could be implemented ;)

SHA 256 is hash and therefore asymmetric, I guess you encrypt it by some symmetric cypher. You should enforce strong passwords for the encryption because otherwise it might not be very safe.

You are right about the first part. Sha-256 is a hash function, but it's not symmetric encryption.

symmetric encryption dictates a given key K can be used to both transform plain text into cipher text and vice-versa.

A hashing function cannot be reversed because it's a large to small key space function, meaning it's only one way, there's no reversing a hash, unless you try all possibilities until you get the result.

There are publica tables on some hashing algos, they are giant covering hashs for the most known combinations.

But, a SHA-256 as the name suggests generates a 256-bit output.

Since one bit can be represented with two distincts values (i.e. 0 and 1)

we have all the possible combinations being 2^256 which is a number I not even know the name.

about the string password, that a myth that must fall at any cost.

Humans can NEVER produce strong passwords. It's up to the software engineers and cryptographers to move from a low entropy input to a large entropy input while balancing the computational recurrent cost.

:)

Eloquently put ;)

Looks really cool. So great learning about all the APPS that are able to run on Steem.

The defaulting of the blacklist is huge. Wish we could use the blacklist on the normal wallet hah!

once again you have produced a great application for the steemit community. Thank you very much! this will be a useful tool to communicate with folks who aren't on discord or telegram.

Ok so let me understand this. You are effectively using the Steemit memo system to create a app for sending messages. Would that mean that any payout i receive would be shown in my messages on messenger?
Those that curate a lot have plenty of memo spam with "you received 0.001 SP" etc.
Does that mean that all messages i send via the messenger would be shown on my memo page effectively having no privacy in my conversation?
Not criticizing, just trying to understand it better. :D

Oh now i noticed. So you will encrypt any message sent, somehow making it unreadable on the steemit site? Right?

Everything you send via transfer and add to the memo field is public on the blockchain. The messenger simply displays it in a nice way.

You can encrypt a memo with the messenger, so only your recipient will see it.

Yeah, ok... That seems like a good addition. No other complaints from me. :D

Oh no wait... Raise the upvote percentage for smartsteem Wolfie.. :D hahaha
See ya round.

Nice work! Running locally looks good.

Screenshot from 2018-05-03 10-14-54.png

Great! You're using npm or yarn? And which node version?

Yarn I have nvm set to 8.9.4 now.

Ah ok. Because node 10.0 is giving out a warning which can be solved with a paramter. Will add that to the github guide.

I'm using node 10, so I'll be looking forward to that mysterious parameter.

First I was thinking, well why is that necessary and why the heck do we need our active key here.

But after reading it again it makes much more sense now and could be a great tool for the Steem blockchain. I'm curious where this project will go. Hopefully far beyond Beta!

One question:
It does have access to our Wallets right? That's why the active key?!

Hello @maxinpower !

Please check out the REAL Steem Messenger here : https://steemit.com/utopian-io/@kingswisdom/steem-messenger-v0-0-3-private-beta-session-image-encryption-and-many-more

No Active key needed. No transfer. Only pure security.

I will be announcing this weekend the security protocol of the real Steem Messenger, stay tuned for this :)

Exactly - the messenger sends transfers with your wallet.

Ok thanks for clarifying it. It might repel a few people though

You're using memos, there is no other way to send a memo on the blockchain than through your active key.

Otherwise, you'd have to use posts and comments and other such things.

That looks very interesting. Instead of the blacklist you should offer a minimum price for sending messages. Annoying users with an urge to communicate would simply pay the recipients for getting their messages/insults. I'd find that fair :-)

Regarding the update interval: Is it only possible to send a message every 60 seconds? I thought the duration is 20 seconds for posting content, or does that only apply for comments?

If the time limit was zero and you combine the chat function with DLive, you'd get yourself a nice live cam business. Not the kind of thing I would engage in, but surely a very profitable business. After all, users could pay their cam girl by simply sending a message while the girls (or also guys?) could charge a minimum price for their attention.

I would upvote you now, but my one Cent won't make much of a difference to the 775+$ you already got for the post :-)

It was not a simple project to develop and you worked hard to make it possible. But you must have to target new user of steemit to use this application because old steemit members will not appreciate your hard work and waste your time by asking meaning less questions. Everything is well explained in the post. I really appreciate your work. If anyone don't like this post and messenger i advice you to please just ignore this post but please do not discourage people. Thanks

Loving this. And the fact that all messages can be secured using the users private key makes it more secure than many other messeging apps (such as facebook)!

Always great to see people building on top of the Steem ecosystem.

WOW amazing project. I want use it.

hola amigo @therealwolf Mientras aplaudo el esfuerzo de desarrollo, me pregunto por qué esto es realmente necesario.

Actualmente puede enviar mensajes a cualquier persona. Puedes encriptar esos mensajes. Puede recibir y leer esos mensajes. Ya requieren claves y una tarifa mínima de 0.001.

¿Por qué alguien necesitaría usar este "Steem Messenger" específico? Tiene todas las mismas funciones requeridas que las transferencias de monedero actuales ... pero no mejora el sistema de mensajería. Es prácticamente lo mismo, excepto que ahora usaría otra aplicación de terceros.

¿Me estoy perdiendo de algo?

Thank for you sir,,

You are genius

3oEjHJQZCBKOu6YZs4.gif

Very beautiful @therealwolf. This platform began to evolve. And I liked it provides encrypted messages. Can I translate this topic into Arabic? There are users of this platform of the Arabs will be happy with this program

Steem Messengert I'm very excited and proud too.

Great Stuff! Keep it up.

Yes messages could be send before already.... sometimes you just need to point out the obvious by creating an app for it.
Steemit has many options and it can get confusing, especially for beginners.

It is all about usability now, to reach mass adoption.
Steemit is really the best blockchain project out there..
This messanger is a great contribution.
Please make the cellphone app next. Then things will take off. Lets see if the Steem blockchain can handle the traffic......

You think it is necessary to make a messenger ? I mean some peeps having hard time replying to the comments . What more in direct messages. Nothing personal thou, I just wanna know if I should do the messenger thingy ?

It's not necessary, but it's a huge improvement :)

I mean some peeps having hard time replying to the comments.

Lol, I haven't seen any of those. And it looks like it's pretty easy, just like putting your password.

This is revolutionary, I think. It's the first app I've seen that uses the memo key that was left stagnant in a "maybe it will be of use in the future". Now we have encrypted messaging directly on the blockchain. If people don't know how to use it, well, that's bad for them, but for those who will be able to use it, it will be a huge improvement in authenticated communications.

It's not the first app, here is the real Steem Messenger by the way : https://steemit.com/utopian-io/@kingswisdom/steem-messenger-v0-0-3-private-beta-session-image-encryption-and-many-more.

Actually, having to send 0.001 Steem for each message is pretty archaic.Plus, there's a 3second delay for each transaction, a limitation size of about 2kb per transaction. So no image chats, no data transfer.Plus your discussions are exposed on the blockchain even if it is encrypted.

The real Steem Messenger is off chain based, and have the same level of trust and security as the blockchain. It gives way more scalability, and does not require insane authorization to work

it is really very neddu information for all steemians..thanks to share

Awesome !!

Wow. This is so so cool!!
I cannot wait to experience it myself. I will definitely set up and give my feedback.

Wishing you all the best in this venture, may it be as successful as your other venture so to speak!

Continue to work for the betterment of this platform to help minnows like myself. A big heart felt Thank you to you on their behalf 👌

Thank you!

How do I try it out?! 😁

It could become life changing for the platform

Is it ideal to put our chat on blockchain?
Where we cannot remove anything after few days.

Honestly, it is a wonderful project, and with confidence will succeed, it will allow us members and users ease of communication, I like the idea very much, I wish you good luck my dear friend @therealwolf , all the best for you 👍👍👍😃😉

Hi @therealwolf.

May I make this post in Indonesian?

I want you to give me permission not to say plagiarism. Thank you

I think this is such a great idea. The wallet UI is not designed for communication. It's not pleasant to view with respect to messages and it's not organized so as to highlight messages. It also does not enable conversations. This is great work, I can't wait to use it!

Loading...

Thank you @andrarchy for taking your time to comment on this post!

The points you highlighted are exactly the reason why I created the messenger in the first place.

Please let me know, when you find the time, how the messaging went :)

I'm really sorry to say that I'm gonna need the ease of use of web client :'(. It's a time management thing :/. But if you're interested in hearing my thoughts on how I would build such a service, you can check out my post on the subject here: https://steemit.com/steem/@andrarchy/using-steem-to-end-e-mail-spam-forever

HEY ITS BEEN ABOUT A YEAR SINCE STEEM PARK HOPE YOUR WELL. ANYWAY I SIGNED UP MY KIDS TO STEEMIT THIS WEEK END IF YOU HAVE TIME CHECK OUT THEIR FIRST BLOGS
https://steemit.com/maple/@ajbasketball3/making-maple-syrup-with-my-grandfather-and-brother-at-the-farm

That's awesome! Glad to see you on the platform!

Hey thanks for the response have a great spring and summer!

nice idea

cool to get some "official support" thanks for checking out this project @andrarchy
(part of the smartsteem team)
I am installing it myself and will test it by sending you a msg :-)

Can't wait to use it

Sorry I didn't read the entire post. Is this running on top of the Steem blockchain? If so, how about the possibility of spammers clogging the Steem network by flooding with private messages?

Overlooking all the negative audits about this, I totally bolster this work. I figure it will be a decent delegate. When I wound up exchanging to steemmarket rather than smartmarket and wound up in a misfortune. That day I was thinking a component like this will be helpful. Today you have made it conceivable.

Furthermore, I don't figure you should tail anybody to make an exchange to them. So as you specified it is torment in the .... Well a decent element. Furthermore, this can likewise at a later point in time turn into a decent courier application turning into a contender for other ordinary visiting delegates. Who knows. Need incites innovations. Incredible work @therealwolf.

Really a very cool release
It makes communication easier
You are a wonderful person and very successful
I wish you...

Excellent job... this was a must for this blockchain :)

Great inventory I'll call it. It sure will benefit many steemians. I wonder the difference between the plain text and the encrypted one

The blockchain is public and the memo of each transfer you make can be easily read by other people. This means that if you send a plain text message, everyone will be able to read what you said. If you want only the intended receiver to be able to read the message, you encrypt it by using the person's public memo key, and the person can only decrypt it by using their own private memo key (which only they can see)

Ok, thanks for the explanations. I appreciate

this is a great project, but is there any other way to actually build a messenger on top of steemit without using the wallet?

I mean to be honest, leaving the user in control of how much SBD they can send is a very tricky situation. I suggest to make it by default the least amount of SBD you can possibly send.

Anywho @therealwolf, bro what you did here is super creative and well thought. and I can not wait to start using it.

Cheers!

Cool! But do you plan on making a web client?

Would love to see this switch to a dynamic layout then compiled as an app for Android.

I think it would become a really popular app.

what about the Android version. Users like me are missing out

Awesome dude, And open-source. You Rock! Can't wait to check it out.

Wao it have a tremendious features to engage with the steemit community.

Enquanto aplaudo o esforço de desenvolvimento, estou me perguntando por que isso é realmente necessário.

Atualmente, você pode enviar mensagens para qualquer pessoa. Você pode criptografar essas mensagens. Você pode receber e ler essas mensagens. Eles já exigem chaves e uma taxa mínima de 0,001.

Por que alguém precisaria usar esse “Steem Messenger” específico? Ele tem todas as mesmas funções necessárias que as atuais transferências de carteira ... mas não melhora o sistema de mensagens. É praticamente o mesmo, exceto que você agora usaria outro aplicativo de terceiros.

Estou faltando alguma coisa aqui?

  ·  7 years ago (edited)

Interesting project, i guess its useful for users who frequently send messages on chain but for new users maybe not so much.

This got me thinking, sending SBD and STEEM on the blockchain has no fees, but sending messages does :(

It looks great and the personal blacklist is golden - right what we need. I would like to see blacklist, that is shareable with others. I will try to look at the source code. What IDE do you use?

Congratulations @therealwolf!
Your post was mentioned in the Steemit Hit Parade in the following categories:

  • Upvotes - Ranked 9 with 661 upvotes
  • Comments - Ranked 7 with 248 comments
  • Pending payout - Ranked 3 with $ 748,2

Oh mY Almighty.. I would love to use this app right now. I will use it from now..

This is exactly what steemit needs. A messenger program will make it so much easier to communicate on steemit. I will be downloading it for my computer. Hopefully you will be able to make it Android compatible in the future. That would be a great app.

El objetivo nunca fue reemplazar steem.chat. Más bien para dar una manera fácil de iniciar el contacto y enviar mensajes a través de la cadena de bloques y si es necesario después, siempre es posible cambiar a otras plataformas (steem.chat, discordia) @therealwolf

Great news and an important step for this platform.

Things are getting better and better here.

Thank you @therealwolf

upvoted&resteemed

El objetivo nunca fue reemplazar steem.chat. Más bien para dar una manera fácil de iniciar el contacto y enviar mensajes a través de la cadena de bloques y si es necesario después, siempre es posible cambiar a otras plataformas (steem.chat, discordia).

Would love to have messenger like this in browser.
This app looks nice anc clean. Is it WPF Framework?

Oooh, that would be cool :) Although I prefer to be able to install things myself. It's safer for encryption and such. Otherwise, every connection would have to be made through Steemconnect and I'm not sure whether Steemconnect has any functionality that allows us to use our memo key.

It doesn't ;)

messaging is only possible when the wallet is unlocked and an active key imported. Encryption is only possible when the account's memo key has been imported as well

This is great for security, im so excited too. Thank you for all your work on here, this is one awesome development

Thank you @mistakili! :)

Great idea! Is there (or will there be) a feature for a 'GROUP CHAT'?

Loading...

Why should someone use this? Pay for every message because its sent as a tx memo? Totally useless imho

Wow Very Intresting post ..and very helpful ..sir ....thanks for share this post

That's really good and informative post

i love the steemit improve day to day congrats for for the development.
upvoted follow greeting from Canada

I would like invite you to know our blog it is spanish about news of Bitcoin and cryptocurrencies, if like follow up….gracias @cryptonoticias

Is the first link, the link for the messenger? Hope the messenger is like the other applications/tools here, you can earn while using it.

I know you had questioned how this worked on Linux. I wrote a quick howto on getting it build and running.

https://steemit.com/utopian-io/@thecrazygm/steem-messenger-linux-installation-and-howto

good work!! resteemed

Would not excessive mailing bring a much greater need for processing to the network?

Does this feature pose no risk to the steemit network?

This is amazing... great job @therealwolf...watching to see how it develops... Kudos!

Your Post Has Been Featured on @Resteemable!
Feature any Steemit post using resteemit.com!
How It Works:
1. Take Any Steemit URL
2. Erase https://
3. Type re
Get Featured Instantly & Featured Posts are voted every 2.4hrs
Join the Curation Team Here | Vote Resteemable for Witness

This is a great application, I am testing it now. However, I am not seeing incoming messages, even though I can see your incoming transfers in the wallet, no messages are loading in the interface. How do I fix this issue?

Messages are loaded every 10 minutes (you can customize it). Does it work when you manually reload messages?

What are the benefits in comparison to currently available messenger apps? Is it only to facilitate communication among steemit users?