Mojo Quick Start Guide
This is a Quick Start Guide to the Mojo Wallet. It will cover the setup of the wallet for sending and receiving MCM through Tags.
The Mojo wallet is the official GUI wallet of the Mochimo cryptocurrency. It was released for open beta on December 25, 2018. It is built in Java 8, making it available for all major operating system (Windows, Linux, OS X).
Wallet - You will have one wallet that will contain all the accounts, Tags and addresses you create. This is the *.mcm file, it is what you will load to open the wallet and also the file you will need to backup to restore your wallet if needed.
Account - This is the easy-to-remember name for you that will reside in your personal wallet that contains an optional Tag and the addresses associated with that account.
Tag - Tags allow wallet users to keep a small 12-byte hexadecimal address (24 hex character long string that you can personalize) that will effectively become their "account" number. This account number will follow them from transaction to transaction while allowing the wallet to use large WOTS+ addresses behind the scenes on the backend to keep the true addresses themselves safe from quantum attack. The Tag can be used by a Sender to send to the Recipient. The Tag is used to represent the underlying one-time WOTS+ addresses that will change every time a spending action happens. By using Tags, the end-user doesn't need to see any of this happen and only needs to remember their Tag. You can think of a Tag as a permanent ID that won’t change and can continue to be used as many times as you want.
Address - A WOTS+ address is a uniquely generated 4096 characters long string (2208 bytes) that creates the quantum resistance due to its extreme largeness and complexity. WOTS+ addresses are by design One-Time-Spend addresses making it impossible for attackers to figure out, well... anything, making the chain truly resilient. However, what this means is that every time an address is spent from, you need a new address in which to place a change address to then spend again from the same wallet. Instead of finding and using these secure addresses manually, the patented Tag system was created to find the change address and relink it for you automatically. There is no need to remember or find the WOTS+ Address as you will be using the Tag for sending/receiving instead. The WOTS+ address is what offers the quantum-proof security and the Tag will not compromise that security.
Mochimo Fountain - A wallet controlled by the Mochimo team that is solely used to fund Tag activations. Tags will be funded with 0.000000501 MCM. There is a limit to the number of Tags in a certain amount of time a user can activate.
A desktop or laptop computer that can run at least Java version 8.
Mojo is a portable application that requires at least Java version 8 to be installed in order to run.
- Go to https://www.java.com/en/download/ to download and install Java.
- Download the GUI wallet (Beta version)
- In most cases, double clicking the JAR file is sufficient to run the application. If this fails, it can be started by entering the following command into a CMD or Shell terminal:
java -jar [Mojo jar file].
Create a wallet file
- Start Mojo and click on the New button
- Enter a name for the wallet (optional) and a password. You must remember this password or you will not be able to access your wallet.
- PBKDF2 is a password hashing algorithm and the number here represents the number of PBKDF2 iterations protecting your password. If your wallet file gets stolen, one could write a program to try random passwords until the wallet opens. Using PBKDF2, the time necessary to try to break one password increases proportionally to the number of PBKDF2 iterations. The more iterations, the longer it takes to try.
- Default compression GZIP reduces the size of the wallet file on the disk.
- After clicking the Create button, you can now enter your password and click the Sign in link.
The wallet file contains a pool of one-time use addresses which are used during operation (creating a new address, rolling a source address into a change address, etc). This pool must be expanded before any operation can happen.
- Under the New tab, click on the Expand button and select the number of addresses to generate. The Mojo wallet will use these addresses as needed to process user requests. Default number is 100 addresses and should be enough for many sends. You can always see how many addresses are left in the pool next to the “Available” heading in the top-left.
Currently, once the pool is exhausted a new expand must be performed (note: expand can be done at any time and should be before the pool dries out).
- Backup the wallet file after the expand is completed. Go to the folder where you saved the *.mcm wallet file and copy it to a backup location of your choosing, such as an encrypted USB stick. As a best practice, you should do this every time you expand the pool and create a new Tag. A separate guide on how to keep your backups secure is being created, check back soon.
Create a Tag and Activate an address
An address can be activated from the pool under the New tab. Fill in an easy to recognize account name for your Tag. This is where you can personalize your Tag with 24 hexadecimal characters. Hexadecimal characters are letters from A to F and numbers from 0 to 9. After you fill in the fields, click Register to activate the Tag through the Mochimo Fountain.
The fountain will register the Tag in the network by sending a specific transaction and funding the account with 0.000000501 MCM. Depending on the fountain and the network state, the registration can take several blocks to be processed. Until the registration is completed, the account status will display:
Tag not found.
Once the account is funded, the status will show Active and hold 0.000000501 MCM. 0.000000501 MCM is currently the smallest possible amount for an account and Tag to exist on the network. If you ever perform a send from the account that empties the balance of that account to 0, the Tag will be free for anyone to register and you will not receive any future funds sent to that Tag. Always make sure to have a balance of at least 0.000000501 MCM in that specific account and Tag.
All accounts, Tags and active addresses can be found under the Accounts tab. By default, only
Spent accounts are being displayed. Spent accounts will be grayed out. You can display all accounts by inputting * in the Search field at the top. You can remove an account (for example a Spent account) from the dashboard by deleting the account (see Account window).
Double click an account from the dashboard to open the Account Window. This window is account specific and contains all the info about an account. You can copy the name, Tag or address of an account onto the clipboard by double clicking it. The various export options offer different ways to share your addresses with others, but for the quick start guide, we will focus on the easiest way to share and receive MCM. The Delete button will flag the account and remove it from the Account Dashboard the next time you start the wallet.
In order to receive MCM, the recipient provides the sender with a Tag that the recipient created. As the recipient, double click the account you want to receive MCM into to open the account window. In the Tag field, double-click your Tag to copy the Tag’s 24 characters into the clipboard. Now, send the Tag to the sender.
As the sender in the transaction, you will need to import the recipient’s Tag and add it to your account list, before you are able to send.
- Import the recipient’s Tag by going to the Import tab and inputting the recipient’s 24-character Tag in the Tag field.
- Click the icon with Italic textthe two arrows to resolve the Tag. Resolving the Tag will check the network for the current WOTS+ address for the Tag, once found, the Address field will be automatically filled.
- Click the Add to Wallet button to add the Tag to the Accounts list.
- Navigate to the Send tab
- Source address is the account with enough MCM from which you want to send from. Click the search icon and then click on the account you want to send from. The Source Address fields will populate.
- Destination is the account you want to send to. Click the search icon and then click on the new account you imported and added to your wallet in Step 3 to populate the Destination fields
- Change is the account that the leftover MCM from Source Address will be sent to. By default, the wallet will automatically activate a new address from the pool of addresses created in setting up the wallet. The Source Tag will be tied to the new address.
i. You can manually specify a change address of your choosing by unticking the checkbox Roll source address and clicking the search icon.
- Input the amount to send. By default, the amount is set in Satochi (SMCM), but can be changed to MCM unchecking the Roll source address checkbox.
- Click Send to send the transaction through the network
Restore from backup file
- Create a new wallet (see Create a wallet file)
- Navigate to the Restore tab
- Select the *.mcm backup file and input the password
- Click Restore
- After a while, the the restored accounts will be available in the Accounts tab. This process may take a few minutes as it checks all of the wallet’s addresses, including in the pool, with the network and grabs the necessary information.