Grin user experience in 2021

Hello there, hope you all are doing well.

I just wanted to share a little feedback (sorry, I don’t use Keybase app:).

I decided to sell some grins I have from the early days.

I have an account on Bittrex, but they have “wallet in maintenance”, ok so quick look here in the forums and it seems there are two exchanges where grin deposits and withdrawals are working. Ok so let’s try tradeorge… the register page is funny, looks like registering to dungeons and dragons, but hey, they don’t want KYC so I am happy.

My grins were in Wallet713, but that doesn’t work anymore - as expected bc the project is dead :frowning:
No worry I have seed, I can recover this in official wallet.
Downloading the latest binary release from github in my Ubuntu 20.04 server VM. Easy peasy…

./grin: error while loading shared libraries: cannot open shared object file: No such file or direc

Hmm what? Didn’t expect this on fresh ubuntu 20.04 and official binary. Probably just missing the libncursesw or whatever… trying to install it, ubuntu says it’s already present.

Hm… whatever, let’s try Grin++, the cool UI wallet.

Ok, one file download… making the file executable and running… nice UI… Waiting for the blockchain to download and synchronize. Done, now to restore the wallet.

“Restore can not start until the Node has been fully synced.”

But I just synced? Oh I see - “waiting for peers”.
Hm strange, probably G++ has its own p2p network and there are not so many peers? But I just synced blockchain so surely some peers should be connected? Whatever, I’ll just wait a bit…

Few hours later… still “waiting for peers”.

Restart Grin++, no change. Restart VM, no change.

This is starting to be annoying.

What else is there? Ah snap package by Quentin. Oneliner install, nice. Installed node and wallet, nice.
Seems to be finally working, waiting for node to sync. Done. Now the wallet…

I am out of loop with the latest development, slatepacks and all, I know that slatepacks are the way to go, but the wallet help command takes me a while to decipher what to actually use…

Trageorge doesn’t work with addresses, they want me to paste slatepack message. What??
Ok so I figure I just initiate send to no address and save it to slatepack and paste that? Ok seems to work. Now they want me to paste something back.
This doesn’t feel like much improved since the launch day at all.
Not sure what to do in the wallet, what commands are for slatepacks and which are legacy? pay? receive? send? Ah finalize… that will be it.
First I tried to give it the slatepack on the command line. Doesn’t work. Ok so from file. Create file and point the command to it.

Wallet command failed: Libwallet I/O error.

No matter how I try, with quotes, without, still this error. Maybe some limitation with snap package? Not sure how it works, maybe they have limited access to filesystem? I dont know and I don’t care.

I feel very frustrated at this point.

Grin++ is still “waiting for peers”.
I have another VM with Xubuntu desktop, so maybe I can try G++ there. Download, sync blockchain, and "waiting for peers’’ forever again.

I give up. Is this the better money? :confused:


i don’t know how tradeogre works, but here are some standard things:

  1. make sure your node is running (command: ./grin) so that the wallet can interact with it
  2. you can check your wallet slatepack address with ./grin-wallet address
  3. to create a transaction for 0.1 grin to address tgrin180jtk5q3l5pwg206ujawlwwrxedu7evqp6e3943eqqmlep928e9s9ny69j you do:
    ./grin-wallet send -m -d tgrin180jtk5q3l5pwg206ujawlwwrxedu7evqp6e3943eqqmlep928e9s9ny69j 0.1 (note that -m flag makes it ‘manual’, so it doesn’t try through TOR, you get a slatepack for step 2 as the output)
  4. to finalize a transaction you can use ./grin-wallet finalize and then it asks you to paste slatepack (which the other party gave you) iirc. This will also broadcast the transaction on the network (unless you use -n flag which is short for --nopost).

I have also noticed the ncurses5sw issue, but could install it on ubuntu 20.04 - make sure you install version5 (you might have 6).

1 Like

Simplest is to let wallet prompt for the slatepack and then just paste it…


I made a withdrawal today from to my grin-wallet. No problem, I copy / paste my slatepack address and 1 minute later, the grins were in my wallet.
Very easy to use!


Thanks, this works (kind of unexpected from UI point of view).

This is a vivid description of a regular user using Grin. It is a sad story. I don’t say any approach is not working. But to make them work is not that trivial. Grin++ is great. But it has so many little issues which prevent smoothing user experience.

I have been using grin-wallet cli a bit and i think it’s easy. What’s missing is a tutorial (eg it’s not clear that the command will prompt you for the slatepack, it should be also explained where to get the -t value when canceling a tx etc)

You ARE an experienced user!

OP is a not yet that new user, however, he also encountered a lot of difficulties which I were also suffering all along the way. I think his description is invaluable and should be seriously considered by the developers as well as the community.

@urza @markov I sincerely invite you to submit a PR to the quickstart guide so future users can benefit from your experience and struggles.
Alternatively, open an issue here with specific suggestions and i’ll do my best to add them.


I might have something to say on new user’s experience here – I learnt about Grin around 2/20/2021, so I’m fairly new here. (Also this is my first post on the forum.)

In less then 20 days I already had almost all the feelings that is frequently seen on the forum - I like MimbleWimble for its mathematical simplicity. I find interactive transaction a little counterintuitive for regular users. I find that only TradeOgre supporting deposit/withdrawal frustrating (now it’s better as is working, I’m aware). etc. etc.

However I do find Grin++ work smoothly for me. I downloaded a copy, started it. After 2-3 hour it synced with the network and everything works fine from that day.

I sincerely suggest the docs put Grin++ as the node that one should use when they are getting started. That will reduce a lot of frustration of new users. Also the telegram group Telegram: Contact @grinprivacy has been very helpful. (So what works for me are: Grin++, TradeOgre, telegram group and some of the documents. I’m sure we can lower the entrance barrier even further as the ecosystem got slightly better due to exchanges integration of slatepack.)


Thanks for your comments and suggestions all.

I was able to sell on tradeogre what I needed. The process was a bit tedious, but with Tromps tip on how to persuade the wallet to accept my slatepack message I was able to manage the deposit.

Everytime I opened the beautiful tradeogre web (was depositing several times), I heard in my head “darkest corners of the financial system”[1] and was amused by the idea that Attorney General James of NY should see this exchange (they have USDT;).

Well anyway. I think grin is not and should not try to be “better cash” for normal people at this moment in time and probably for a long time to come, if ever. It is a nice experiment of putting mimble wimle to practice, excellent community and outstanding developers but all real-world benefits for end-users are already solved by Lightning Network and other Bitcoin side/chains… and money is mainly about the network effect in the end anyway.

Btw I was withdrawing from tradeorge to my android monero wallet (Monerujo[2]) and from there I swapped this (directly in Monerujo, they integrate to L-BTC (Liquid Bitcoin)[3]. Fees in this whole process were negligible, confirmation times fast and transactions confidential on all blockchains. And I ended with Bitcoin on Liquid sidechain that I can consolidate to mainchain in time.

1: Attorney General James Ends Virtual Currency Trading Platform Bitfinex’s Illegal Activities in New York | New York State Attorney General
3: Liquid Network: Sidechain for traders | Blockstream


Soon ™ Grin++ will have its own beginner-friendly docs. Every user would be able to easily find and use it.

1 Like

most easy way is to use Ironbelly mobil wallet

1 Like

I love using Ironbelly for my GRIN txs. I’ve given all my friends GRIN. I’ve also used Tradeogre for exchanging GRIN. All flawless experiences, little fees, and FAST transaction confirmation.

Love GRIN.

(edit: you know, i use grin often… just quietly! i hope most people are private about their transactions too, but the hype that i feel when i pay and get paid in grin is great. we feel that it’s sound money)


i am so exited about grin but it has a lot of problems first of all is exchange if we wanna be fair only tradeogre supports grin and bitforex using hedwig witch is not Decentralized.
next is slatepack both receiver and sender has to be online and this may be problem sometimes maybe i wanna send money to my friend now but he is not online and me myself cant stay online for him to show up also as far as i know exchange documents are old and not updated this is a big problem.
but lets not be unfair and take a look at good points
grin is a fair lunch coin compare to other privacy coins like beam or zcash
beside there are no address and you dont need to proff that you have grin to make the transiction also lets see the network and the security by being all wallets full node and minable-profotable with both gpu and asic i like it and i beleive it will be much better in the future me myself can show my support by offer it to my family and friends become a seeder for nodes and hold this coin either i know grin only trying to stay a crypto currency and not a moon crypto

That’s not true. You can leave their slatepack in their mail box if you want. You need to exchange the slatepack, it doesn’t need to be a synchronous thing.

1 Like

its not easier with a normal address?

I don’t know what you mean. Exchanging slatepacks doesn’t require parties to be online at the same time.

dude it takes more time to make a transiction with slatepack he ask me to send him grin first he give me an address i have to send him back sender slatepack and then he need to send me Receive slatepack so i can make the transition we have to be in touch more than one time .
does slatepack give you extra privacy than coins like xmr?
it might take long for both side to awnser but what if you are in a Conditions and you need send money right now?

The receiver needs to sign that they will receive the coins. That’s just how Mimblewimble works. I think you may be mixing up creating with receiving a transaction. The two are completely different, when you create a tx you merely agree on it. You only receive it after it lands in a block and it gets enough confirmations so that you can consider it secure.