Ironbelly - Progress update thread (Sep - Dec 2020)

Hi everyone :wave:!

As some of you might know my funding request for Ironbelly got approved and I will posting here bi-weekly updates about progress I’ve done on Ironbelly.

So, here is the first update:

  • Ironbelly was migrated to the latest version of grin-wallet on both iOS and Android. Because APIs and some libraries in grin-wallet were updated (like croaring) it took some time to get it up and running on both platforms again. This means Slatepack is unlocked for Ironbelly :partying_face:.
  • Completely new flow for creating transactions is in-progress. I hope it will be more straight forward for new users. Users also would be able to copy/paste Slatepack messages instead of only sending/receiving files. Because there is no “the approach” in Grin on how to build async/sync transactions in UI it takes some time to experiment with different approaches to get it right.

Regarding the release date I would like to finish the new flow for creating transactions and then cut v4 release.

If you have any questions/suggestions please join Ironbelly Telegram channel.

Here is a sneak peek of the new flow (still is subject to change though)


What do you mean? Slatepack (RFC0015) flow is the approach now.

Well, RFC0015 solves the problem of unifying the underlying transport layer for building TXs in Grin.
What I was talking about is the UX for building these TXs: how to unify synchronous and asynchronous approaches in the UI, how to guide user through both of them and so on.

Does it makes sense for you?

Great news!
Just a question, does the slatepack transaction flow is the same of the grin-wallet? I.e., check for online TOR address before printing the slatepack block?

1 Like

Eventually, yes, it will be as it is right now in grin-wallet. I’m evaluating the exact approach on how to get there and probably I’ll split this into two pieces: introduce async version only first (slatepack exchanges manually) and only then will add grin addresses via TOR.


Yes I see what you mean, cool. Feel free to ask for feedback on UI/UX.

1 Like

Hi everyone! It’s time for the update!

Last couple of weeks I did some experiments on how best to structure transacting process using Slatepack and I hope you will like it.

The flow explained

  1. Initiate Send. On the initial screen Alice enters an amount and choose fee she would like to pay. Then when she presses “Send” it would navigate her to the next screen.
  2. Sending Screen. On this screen Alice would see a little guide on what to do next and her part of the transaction in the form of Slatepack. She now needs to share it as a text or as a file with Bob.
  3. Initiate Receive. Button “Receive” in the bottom left was only used for information purposes, but not anymore! Now it would navigate Bob to “Receiving screen”.
  4. *Receiving Screen. Here Bob sees a little guide and the text area which he can fill manually, paste from clipboard or open a file (depend on how Alice has shared her slatepack). When Bob enters the slatepack from Alice he press “Generates response” and shares it back with Alice as a text or as a file.
  5. Finalizing. Alice receives Bob’s slatepack and enters it on the “Sending screen”. Then she presses “Finish transaction”.
  6. Posting. After finalization app would automatically show a confirmation dialog after which transaction would be send to the node.

Also, if a user opens a slatepack from another app (as it is the only way right now) in Ironbelly it would automatically navigate to the needed screen!

Little Demo

Screen Recording 2020-10-12 at 20.12.37

I’m doing final tests at the moment and hope this or next week this functionality will be in App/Play stores!

What’s next?

My next big goal is implementing Grin addresses in Ironbelly!

Besides here is a couple of things I’ve been doing as well or will be doing:

  • New website
  • Bringing back to life end-to-end tests, so I can do less manual testing and iterate faster.
  • Researching solutions for app translation.
  • Small redesign and ideas for dark mode.

If you have any question - join Ironbelly Telegram channel


I think it looks great :+1: Looking forward to the addresses

moved topic to #techtalk

Hi everyone! It’s time for the update!

So, recently version 4.0.0 was released to both Android and iOS.

What’s new?

  • Slatepack support via files or copy/paste.
  • Transation flow is redone, now it’s more intuitive (I hope) and has more guidance.
  • Part of the app, when wallet is created is redesigned.
  • Analytics was completely removed per community request
  • Default Ironbelly node was changed to https
  • Small UI / UX improvements

What’s next?

Right now I’m concentrated to bring TOR and Grin addresses to iOS, later to Android. I’ve decided to start with iOS, cause Grin++ team is working on bringing it to Android first, hence Grin community could have earlier Grin addresses support for both platforms.

My pace is currently somewhat slow because my laptop got broken recently and I’m using my old laptop till it gets fixed. It is not really good for this type of depelopment, though, but do not worry, I will compensate for this time later and even after my funding period will be finished. I’m still commited to deliever the features I’ve decribed in the proposal till the next Hard Fork.

Thanks for reporting bugs and submitting feedback!


I think the primary innovation here for grin is to be able to send slatepacks over animated QR codes ( Almost every phone has a front-facing camera, so the transport medium is there. This could be easier than juggling files on phones.

As a user, I’d expect that if I point my front-facing camera at another phone, the two phones would able to communicate by reading each-others animated QA codes. The phones will vibrate to give feedback once the interaction is complete.


Why not NFC as Apple Pay and Google Pay?

1 Like

Cameras are more ubiquitous.

NFC would be great for devices that support it. I would develop the QR scanning first and then NFC second. Admittedly, NFC would be the most ideal user experience.

So, it’s time for another update!

Last couple of weeks I’ve been working on adding Grin addresses to Ironbelly. I’m glad to share with you all that now it’s working on iOS and Android support is coming very soon!
Right now I’m polishing a couple of edge cases and after that is done I will release 4.1.0 with Grin Addresses support for iOS.

Here is a sneak peek:


Nice job, looks great @i1skn! :rocket:

How do Grin addresses work? I’ve not been keeping up. Doesn’t grin require interaction? So how does the address work (is it a tor address)?

Hey Shush,

Take a look here

1 Like