Unobtanium  

The UNO development blog

Bash Unobtanium tools: Generating an UNO address offline with diceware

October 01, 2020 — shinohai

In this post we are going to explore generation of Unpbtanium addresses offline, using the venerable bash-bitcoin-tools set created originally by Lucien Grondin that has been modified to produce addys for our favorite cryptocurrency, UNO! While most of steps to be outlined here will indeed work on Windows, Mac, or Linux I strongly recommend using a Linux machine with no internet connection for this.

Step 1. Create a passphrase.

For the ultimate in secure passphrases, go grab a diceware list from here and find a pair of dice. For extra points, use a non-English diceware list to make dictionary attacks a bit more difficult.

For a 12-word seed phrase you will need a total of 60 dice rolls in groups of 5. Write down the numbers and match the 5-digit numbers to the corresponding words from the word list you chose. I am using a Romanian wordlist in this example, so my output looks like so:

accepta claponi parcare materia blestem trainic umblat floare apunere desemna gramada legitim

Step 2. Turn the passphrase into a private key.

echo -n "[passphrase from above]" | sha256sum
RESULT:
a6fc510224fa110df46be63f75e2dde2d5954b539f67fd04745572ca221d955c

Step 3. Generate a public UNO address from the above private key.

To do this, download the uno bash tools script and source it into your shell like so:

curl -O http://unobtanium.uno/devel/bash/uno-tools/unobtanium.sh
source unobtanium.sh

Now take the hexadecimal value we got in step 2 and use it to generate our address, prefixing it with `0x` :

newUnobtaniumKey 0xa6fc510224fa110df46be63f75e2dde2d5954b539f67fd04745572ca221d955c

RESULT:
---
secret exponent:          0xA6FC510224FA110DF46BE63F75E2DDE2D5954B539F67FD04745572CA221D955C
public key:
    X:                    1AD7D47F2E50D924654DEE7EF02B2F342BFAD2270B53DF1839E595F3B85FF705
    Y:                    B58CC18294718E9540260AB4B09AA892F3EE19ADFEC0351F420E3AF5FED677C8
compressed:
    WIF:                  aEUqmX8EsrRf7hZBQ7mztPgD3gG1Ppob64UTNcDNdg8UwahYRfte
    unobtanium address:   ueq359uscXjgT4QpjukFhPAT9tcfBBwsGG
uncompressed:
    WIF:                  8XhHwVaMpKSyfg6UjPqFvnU1TtVKfhjjAJZ3oaoksT5sHU2UpM1
    unobtanium address:   uM4adAK3oZjtjedPjF737iS7Ypp8aeXZ2X

Step 4. Secure your keys / USE

Yours truly recommends storing the output (along with your passphrase generated above) to a text file and using GPG to encrypt it.

The "uncompressed" public/private keypair is the crucial bit here - The public address is what you will give out to receive payments and the private key can be imported to your Unobtanium core wallet using `importprivkey` or using the "sweep" functionality in electrum, when you are ready to redeem the coins. See the documentation that comes with your wallet of choice for importing keys from outside sources.

I hope everyone enjoyed this post, and as always join the official UNO Telegram group if you have questions.

Tags: News, Development, Unobtanium, UNO