Core Wallet Guide

Last updated 3 months ago

Introduction

The SHIELD Core wallet (also known internally as the SHIELD Hadron client) is the backbone of the SHIELD network.

An upgrade to the Core wallet can upgrade the whole SHIELD network, and running the Core wallet supports the network. Transactions are processed and relayed by decentralised Core wallets hosted all around the world, by any person that chooses to run one.

Being so fundamental to the network, the Core wallet has a few system requirements. It needs a relatively large amount of drive space to store and verify the blockchain (currently about 1GB), and also requires a fair amount of network traffic to participate with the rest of the network.

It is not recommended for novices and everyday users, but rather for more advanced/experienced users. However, it is the most decentralised and "purest" wallet you can use; the other wallet clients all, in one way or another, depend on a Core wallet to function.

The Turbo wallet is functionally identical to the standard Core wallet, but has a faster start-up time, and is in testing.

Getting Started

Source code: GitHub, GitLab Latest binary releases: GitHub

Setting up the wallet

  1. Open shield-qt / shield-qt.exe / SHIELD Core.app to see the main window

  2. A window should show up confirming your desired location for your data folder. You can leave this as the default.

  3. After you proceed, you should see a popup window saying that the wallet is synchronising headers. You can safely hide this message, minimise the wallet and let it continue. Optionally, you can use this to speed up synchronisation.

  4. After synchronisation, you're ready to use the Core wallet!

Core Wallet Usage

Receiving SHIELD

You can receive SHIELD with the Core wallet in a few ways. You can give people your address directly, or you can make a QR code or URI link that others can use.

To begin, choose the Receive tab in the wallet, as shown above.

Method A) Generate a receive address only (recommended)

  1. (optional) You can fill in a label for your new address in the Label field. This is stored locally for your personal use (i.e. not transmitted across the network).

  2. Choose Request payment.

  3. Choose Copy Address to copy your new address to your clipboard, then hit Close.

Method B) Generate payment URI/QR code (not recommended)

  1. (optional) You can fill in a label for this requested payment in the Label field. This is stored locally for your personal use, and is also shown to someone that scans the QR code, or uses the URI link.

  2. (optional) You can choose an amount that you want to receive to your new address. This will be shown to someone that scans the QR code, or uses the URI link.

  3. (optional) A message for your new address. This will be shown to someone that scans the QR code, or uses the URI link.

  4. Choose Request payment to generate your QR and URI.

  5. Choose Copy URI to paste and send someone your payment URI, or Save Image... to save the QR code for someone to scan later, then hit Close.

If you want to see all the receive addresses you've generated in the past, please choose File -> Receiving addresses in the Menu bar.

Sending SHIELD

To send SHIELD using the Core wallet, please choose the Send tab in the wallet, as shown above.

  1. Fill in the Pay to field with your desired destination address.

  2. (optional) If you plan to send future transactions to this address, and/or simply want to remember what a transaction was for, you can give the it a label so you can more easily identify it in your wallet history.

  3. Fill in the Amount field with the number of SHIELD you want to send.

  4. Press Send to send your coins across the network!

Wallet Backup

Keeping a backup of your wallet is very important!

If you neglect to do this, you may lose your SHIELD if something unexpected ever happens.

  1. (optional) It is recommended to encrypt your wallet with a password first, with Settings -> Encrypt Wallet... in the menu bar.

  2. In the Menu bar, choose File -> Backup Wallet...

  3. Choose a safe location to save your wallet backup.

Please don't share this backup file with anyone, and make sure to save it in a location you won't easily forget.

Extract the bootstrap for faster syncing

The bootstrap is an archived version (or "snapshot") of the blockchain at a certain point, which you can use to speed up the synchronisation of the Core wallet. To make use of the bootstrap, you need to download the archive and extract it into the Core wallet data folder. Here's how:

  1. Firstly, close the Core wallet if it is running.

  2. Please make a backup of your wallet.dat file to a safe place, even if you have made earlier backups. You can find your wallet file in the data folder, or in the wallets subfolder inside the data folder.

  3. If the folders blocks, chainstate and/or indexes exist in the data folder, delete them.

  4. Use 7zip to extract the contents of the bootstrap archive into the data directory.

  5. Lastly, start the wallet and wait for it to finish syncing.

If the above three folders exist before extracting the bootstrap, please delete them. They will be replaced by new folders that share the same names after extraction.

You can find the latest version of the bootstrap archive here.

Updating to a new version

  1. Close the SHIELD Core wallet if it's running (File -> Exit).

  2. Delete the old executable (e.g. default names: shield-qt.exe, shield-qt, orSHIELD Core.app).

  3. Run the new version.

Using Tor nodes to hide your wallet's IP address

  1. Add the following lines to your SHIELD.conf in your data folder:

    onlynet=tor
    onion=127.0.0.1:9050
    connect=6vg6bcexl5tynjqp.onion
    connect=tqbrn4rnwsjol6xw.onion
    connect=avxjazbutru5mufe.onion
    connect=w3z6kpzdtxbphrwy.onion
    connect=cx4ym6mbf6rw7nbd.onion
    connect=oj4k7gr3e6a4zgvc.onion
    connect=w4zigl6cpm3viocu.onion
    connect=pv6wdgmopellnhwq.onion
    connect=7woi5h3mn5t73rc3.onion
    connect=466ll6hop2ihx43f.onion
    connect=m5wkhjmsu6tno7vg.onion
    connect=vlbkobjzqdz4jtav.onion
    connect=va7aht25p4davcp7.onion

    Note: Tor may use port 9150 instead (e.g. for the browser bundle). If the above doesn't work, change the port to 9150 and try again.

  2. Remove any addnode= lines to non-Tor (non-onion) addresses.

  3. Run a Tor client such as the Tor daemon (e.g. tor.exe from the "expert bundle" at https://www.torproject.org/download/download).

  4. Restart your Core wallet.

Now your wallet's node IP will be hidden at all times through the Tor network.

Importing another wallet

Importing Paper Wallet private key into Core wallet

WARNING: We recommend you to never re-use your paper wallet once it has been imported.

  1. Download the Core wallet here.

  2. Set up the Core wallet.

  3. In the Menu bar in the top-left corner, choose Tools -> Debug window

  4. Enter your Paper wallet private key in the box at the bottom in the format: importprivkey KEY, where importprivkey should be typed as-is, and KEY is the private key.

    • for example: importprivkey VS1fK1j4Yj7dGMx2tPBvK2F4PsFaRsAxAi4bw329DKFDEvCX2iv

  5. Hit Enter

  6. After rescanning, you can close the Debug window, and you'll see your Paper wallet funds now available in your Core wallet. If you accidentally cancelled rescanning before it was complete, please initiate another rescan by typing rescanblockchain in the Debug window that you opened earlier.

Congratulations! You should now see your new imported balance, ready for use.