Jump to content

Ripple vanity address generator


Recommended Posts

Yes, I remember it too!  It was funny as I was making this I thought "didn't I code this already?".  Maybe I was remembering that other one.  

I may add case-insensitivity and position.  (It'd be easy enough to grep for the latter, just pipe the output to grep '<space>r<search-string' for the beginning, and '<search-string>,' for the end.)

Link to comment
Share on other sites

1 hour ago, Eik said:

Nice! :ok:

I saw something like this before. In fact, I used something else (open-source) before. Can't find the repository anymore though.

It also featured case-insensitivity and (I guess) the position at which you want the <search-string> (i.e. beginning or end)

This? https://github.com/rubblelabs/ripple/blob/master/tools/vanity/vanity.go

Link to comment
Share on other sites

9 minutes ago, plutopark said:

What can we use it for?

To personalize your public ripple address to a certain extent. I remember seeing a number of Ripple employees with personalized addys, but that was a long time ago, in a galaxy far, far away ;P

Edited by enrique11
Link to comment
Share on other sites

Guest plutopark
38 minutes ago, enrique11 said:

To personalize your public ripple address to a certain extent. I remember seeing a number of ripple employees with personalized addys.

 

What does 'personalization do to it? Add colors? Tiger stripes? Moon-glo effervescent hues?

Edited by plutopark
Link to comment
Share on other sites

12 minutes ago, plutopark said:

What does 'personalization do to it? Add colors? Tiger stripes? Moon-glo effervescent hues?

No, instead of generating an arbitrary string of characters for your public wallet addy, it allows you to select an initial sequence of characters, how many I don't know, so that if your name is Mike, you could create a wallet with a public address starting with your name "mike" followed by however many randomly generated characters to complete your public address. Look at Professor Hantzen's example in the first post above wherein a person named "Ripple" could generate a public address that looks like

ripp1eB4QF5dxUpL7H3CGmQaZEAiKHsPo5

where "ripp1e" was intentionally created by Ripple (the person) and the remainder was randomly generated I think.  I never used the thing, but I've seen some personalized addys around, but it was a long time ago.

Edited by enrique11
Link to comment
Share on other sites

1 minute ago, plutopark said:

What does personalization do to it? Add colors? Tiger stripes? Moon-glo effervescent hues? A photo, perhaps?

Well, as the name implies, it adds "vanity". ;)

On a practical level, when developing, an address containing a familiar string can be easier to spot when trawling through JSON, logs and database tables.  Other than that it's probably almost completely pointless.
 

13 minutes ago, enrique11 said:

where "ripp1e" was intentionally created by Ripple (the person) and the remainder was randomly generated I think.

This is correct in principle, but actually the entire address is randomly generated.  What the program does is generate hundreds of thousands or millions - ignoring them all - until it finds one that has the string you want in it and prints it to the screen.  It can find an address with a three character string in less than 15 seconds if you're lucky, or in up to two minutes if you're unlucky.  Four characters may take about 58 times longer, and so on to the power of 58.

As such, sufficiently long strings may take longer than the lifespan of our universe to find, unfortunately.  I could maybe optimise it a bit, but even if it was written in 100% native assembly, and we commandeered every computer on earth for the effort, we'd likely still have to wait many trillions of years to find something like "rThisIsSuchACoolRippleAddressIsntIt".

Link to comment
Share on other sites

Guest plutopark

This is going to show my ignorance, but when any new address is generated, is it  checked against a list of existing addresses?

 

Link to comment
Share on other sites

4 minutes ago, plutopark said:

This is going to show my ignorance, but when any new address is generated, is it  checked against a list of existing addresses?

No.  Addresses aren't actually "generated" at all really.  All of them already exist.  What happens (in principle) is you randomly choose a number between 0 and a really, really, really high number.  Odds are that if everyone on earth did this all day for years and years no one would get the same number as anyone else until long after the sun has died  That's how bitcoin and ripple protect funds - math and odds.  It sounds a little crazy, but it works.  (This is a common theme in cryptography...)

Ripple addresses aren't "known about" by the network until funds are sent to them, that's the "activating" part (sending 50 XRP for example).  At that point, an address is registered on the network and its balance stored forever in the ledger.  Prior to that you can "generate" millions of addresses and the network will have no idea, nor any need to know you've done it.

Link to comment
Share on other sites

23 minutes ago, Professor Hantzen said:

Well, as the name implies, it adds "vanity". ;)

On a practical level, when developing, an address containing a familiar string can be easier to spot when trawling through JSON, logs and database tables.  Other than that it's probably almost completely pointless.
 

This is correct in principle, but actually the entire address is randomly generated.  What the program does is generate hundreds of thousands or millions - ignoring them all - until it finds one that has the string you want in it and prints it to the screen.  It can find an address with a three character string in less than 15 seconds if you're lucky, or in up to two minutes if you're unlucky.  Four characters may take about 58 times longer, and so on to the power of 58.

As such, sufficiently long strings may take longer than the lifespan of our universe to find, unfortunately.  I could maybe optimise it a bit, but even if it was written in 100% native assembly, and we commandeered every computer on earth for the effort, we'd likely still have to wait many trillions of years to find something like "rThisIsSuchACoolRippleAddressIsntIt".

lol...that's crazy...you have to go through a lot of addys to find the one you want if your your  personalized string is long ;), so it's good that you answered my next question: do those newly generated addressed get used to create  empty wallets, in essences wasted addys, and the answer is, "no". Besides, if they did generate empty wallets, I guess this could be a means of attacking whatever server was hosting/holding these wallets.

One thing I was always curious about: on the extremely unlikely chance that two wallets generated have the same public address, does the addressing scheme allow for such an occurence, or is there a built-in fail-safe against such an unlikely occurence, and if no fail-safe how do non-unique public addys get resolved in such an instance?

Edited by enrique11
Link to comment
Share on other sites

29 minutes ago, enrique11 said:

lol...that's crazy...you have to go through a lot of addys to find the one you want if your your  personalized string is long ;), so it's good that you answered my next question: do those newly generated addressed get used to create  empty wallets, in essences wasted addys, and the answer is, "no".

Correct!  But only because all addresses are - in a sense - "wasted" already. ;)  (And anything longer than 6 characters may take years to find.)

Edited by Professor Hantzen
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...