Electroneum has a CLI (command line interface) wallet that comes along with their mining software.
It’s quite a nifty piece of software that lets you manage the funds your paper wallet. You can use it to view the balance, view past transactions, send Electroneum somewhere else, and more. The program runs in the command line so it might take some getting used to, but the commands are easy and intuitive.
This guide will show you how to set up your wallet CLI and manage your wallet(s).
Downloading the Software
To start, download Electroneum’s miner software from their downloads page (they have versions available for Windows, Linux, and Mac, but this tutorial will focus on Windows users).
Store the download in a location you wish to run the software from. I suggest just creating a folder on your C:/ drive called Electroneum and keeping everything organized in there.
The downloaded file is a zip file, so after extracting it you should see a couple of files looking like this:
Synchronizing the Blockchain
The wallet CLI requires you to run a fully synced node of the Electroneum blockchain on your computer. You are not required to mine with it, but the node should synchronize with the rest of the blockchain so that the wallet can keep track of things.
So before going any further, the mining software needs to download (sync) the entire Electroneum blockchain to your computer, so that it knows about all the blocks and the transactions in each.
There are two ways of doing this (method 2 is much, much faster).
Method 1: Synchronizing the old-fashioned way
The simplest method to start synchronizing is just to double-click on electroneumd.exe, but this method is very slow and can take a couple of days with the current size of the blockchain. Your node has to query other nodes and download the blockchain from them in small batches, which takes a very long time.
Method 2: Importing the Blockchain
The faster method requires you to download and import one single file containing a backup of the entire blockchain up to a certain block, and then let your computer sync the rest of the blocks the old-fashioned way.
Start by downloading this file (called blockchain.raw) from Electroneum’s website (note: the file is about 10.4 GB in size at the time of writing). Store the file in a location you will remember. I suggest just saving it in C:Electroneum
When the file is done downloading, navigate back to the folder with the mining software. Now hover your mouse somewhere over the white area in that folder (not on top of a file or folder), then hold down the Shift key and right-click your mouse. From the menu that pops up, choose Open Command Window Here.
With the command window open, type in the following text (all on one line) and hit Enter:
electroneum-blockchain-import.exe --input-file C:Electroneumblockchain.raw --verify 0
Make sure you use two minus signs in front of input and in front of verify and change the file path after input-file to the location of the blockchain.raw file you just downloaded.
This will open electroneum-blockchain-import.exe and start decoding the backup file. You will see the program counting the blocks as they are detected.
After detecting the files, it will show a message such as Preparing to read blocks and then start importing the blocks and loading them onto your computer.
The process may sometimes appear to halt for a few minutes as the program processes the information. Don’t worry, this is normal. Give it some time, as this will take a couple of minutes to an hour.
When the import finishes you can close the window.
Now we can use the old method to synchronize all the blocks that were not included in the blockchain.raw file. So double-click on electroneumd.exe in the mining software folder.
It will start synchronizing the blockchain by getting block information from other nodes. Every once in a while it will show a message like Your node is # blocks (# days) behind. This will give you an indication of its progress.
A message like Synced 307601 / 316863 means that 307601 blocks have been synced out of a total of 316863 blocks.
When the syncing is done, you’ll see a message that reads “You are now syncronized with the network. You may now start electroneum-wallet-cli”.
Leave the electroneumd.exe window running in the background for the rest of the tutorial. It will continue to update the blockchain as we go along.
Loading Your Wallet
Now that the blockchain is synced to our computer, we can load our wallet and start managing our ETN.
If you don’t have a paper wallet already, create one by going through this tutorial.
Open a notepad file and type your paper wallet’s public wallet address, private view key, and private spend key into it. If you copied the keys from your paper wallet’s PDF, make sure to remove any spaces. You should be left with something like this:
Next, go to the folder that contains the mining software. Then open a command prompt again – make sure the mouse is not hovering over any of the files, then hold down Shift and right-click your mouse. From the menu that pops up, choose Open Command Window Here.
Now type in the following command (all on one line) and hit Enter to begin the process of loading your wallet:
electroneum-wallet-cli.exe --generate-from-keys Wallet.etn
Once again, make sure you have 2 minus signs in front of the generate-from-keys.
The text Wallet.etn at the end of the line will be your wallet’s name, so you can change it to anything you like (such as Wallet1.etn or ElectroneumWallet.etn). This will help you distinguish one wallet from another when you want to load another wallet later on.
The wallet now asks you for your Standard address (or your public wallet address). So move to your text file and copy the 98-character public wallet address. To paste it in the command line, right-click on the command line icon in the top left of the window and choose Edit -> Paste. Hit Enter.
It now asks you for the 64-character Secret spend key (or private spend key). Copy this from your text file, paste, and hit Enter.
You’ve guessed it. Repeat by copying and pasting the private view key when it asks for your 64-character Secret view key and hit Enter.
It now asks you for a password. This password will be used to open the wallet from a saved file later on. Make sure you can remember this password.
Enter the password and hit Enter. Then confirm the password and hit Enter.
It now asks you from which block height you would like to restore the wallet. Restoring means that the software goes through all the blocks in the blockchain and scans each one for transactions in which your wallet address was used.
If your wallet was only created a few days ago, it would, therefore, be a waste to scan all the blocks from the very beginning (the process takes quite a bit of time). Scanning only the blocks since your wallet was created will be a better option.
So type in either the block number you wish to restore from (such as 307849) or the date on which your wallet was created in the form of YYYY-MM-DD (so in my case, 25 June 2018 would be entered as 2018-06-25) and press Enter. It is important that you choose a date or block number before your wallet was created, else you’ll run into problems later on.
If you entered a date, the software will select the appropriate block number to restore from, so simply enter Y or Yes to confirm this block number, and press Enter.
If you don’t know which block to restore from, just leave this line empty and press Enter, which will cause the wallet to scan from the very first block (which will take a very long time).
Your wallet is now being restored and you can follow the progress on screen.
Any incoming transactions that it finds while scanning will show up in green while outgoing transactions will show up in purple.
Be patient while it scans the blockchain. This is the last long wait you’ll have to go through.
In due time, you’ll see a success message showing your wallet’s balance. The wallet restoration process is now finally complete!
Opening Your Wallet From File
If you accidentally closed the wallet window, there’s an easy way to open it up again without going through the whole restoring process.
To do this, first launch electroneumd.exe and give it time to catch up on all the blocks that were mined since your node was last synced. This shouldn’t take too long.
While leaving the electroneumd.exe window running, double-click on electroneum-wallet-cli.exe, and type in the name you gave to your wallet initially (e.g. Wallet.etn).
Press Enter, enter the password you set for the wallet, and press Enter again.
Your wallet is now open and you can now start managing your ETN using the command line! Let’s find out how…
Viewing Your Wallet Balance
- To view the balance of your wallet, type balance and hit enter (you might need to run the refresh command to update your wallet’s transactions since it was restored). Your balance and unlocked balance will be displayed on the screen.
- The incoming_transfers command will show all the transactions coming into your wallet.
- The show_transfers command will show both incoming and outgoing transfers.
To send Electroneum to someone else, you’ll need to use the transfer command together with a few parameters, like this:
transfer [<priority>] <address> <amount> [<payment_id>]
In the line above, each item in angle brackets < > is a placeholder and must be replaced with another value. Each item inside square brackets [ ] is optional and can be omitted.
The placeholders are as follows:
- priority indicates how urgent this transaction is. The possible options (in order of increasing urgency) are unimportant, normal, elevated, and priority. A more urgent transaction will demand a higher transaction fee, meaning that miners will move it to the front of the queue and process it before processing transactions with lower fees. As of this writing, the fees are 0.1 ETN for an unimportant transaction and 0.8 ETN for a priority transaction.
- address is the ETN address you wish to send your funds to (typically a 98-character text string starting with etn…).
- amount is the amount of ETN you wish to send. The fee is not included in this amount, so make sure you leave enough ETN for the fee when sending your entire balance.
- payment_id is an optional key that works like a payment reference in a regular bank transfer. It is usually required when sending ETN to an exchange. Refer to this article for more information.
So to send Electroneum, enter the command into the CLI wallet using the priority, address, amount, and payment ID you prefer. In this example, I will send 10 ETN to my address (etnkAAya…) with no payment ID and with an elevated priority level:
transfer elevated etnkAAya2AANFdVJviAZLRYREGisXY6fCKejkoJx3yw6WGWEYuPoUTAW1SLnrKEdrSBAXkg2dGBusBeTaevvyrWa6NXGP1PWAA 10
Next, enter your wallet password. If you’re not using a payment ID, confirm the prompt about the payment ID with Y or Yes.
It then tells you the backlog of transactions at your chosen priority level. Respond with Y or Yes. Finally, it tells you the fee at your chosen priority level (in this case, mine is 0.4 ETN). Respond with Y or Yes if you agree.
Your transaction has now been sent to the blockchain, and should take a couple of minutes to process! View the transaction status by using the show_transfers command.
Managing Your Wallet
The save command will save your current wallet configuration to file and reply with Wallet data saved.
The password command will let you change your wallet’s password. You’ll need to enter the old password once and then type and confirm a new password.
Viewing Your Wallet Keys
The address command will display your wallet’s public wallet address. Give this to someone else so they can send you ETN.
Likewise, the viewkey command will display your private view key and the spendkey command will display your private spend key (you’ll first need to enter your wallet password for both of these). Remember to keep these keys to yourself. Anyone with access to the private spend key can spend the funds in your wallet.
The seed command will display a mnemonic seed of several common words unique to your wallet. You can write down these words and use them to restore your wallet at a later stage, should you lose your wallet keys. When using this command you’ll first need to input your wallet password and choose your language.
Other Useful Information
- The status command will show information about the syncing status of your wallet and the version of the daemon (node software running in the background) that it’s using.
- To view the current block height that your node is on, use the bc_height command.
- The fee command will show the current fee as well as the current transaction backlog for each priority level. You can use this information to see which priority you should use when sending Electroneum.
- The help command will show you all the commands you can use in the CLI wallet, together with a short description of each.
You can view a complete list of CLI wallet commands on this Github page.
So there you have it! A complete Electroneum wallet manager on your own computer that does not rely on any intermediate institutions to function.
If you have any questions, please post them in the comment section below. I’ll be happy to answer each one.