Terracoin Core Wallet

From Terracoin Wiki
Revision as of 00:02, 5 March 2018 by Clockuniverse (talk | contribs)
Jump to: navigation, search

Contents

Terracoin Core Wallet

Whenever you are storing objects with a market value, security is necessary. This applies to barter systems as well as economies using currency as a medium of exchange. While banks store balances on a private ledger, cryptocurrencies store balances under unique addresses on a distributed public ledger. The cryptographic private keys to access the balance stored on each public address are therefore the object of value in this system. This section of the documentation discusses different practical methods of keeping these keys safe in wallets, while still remaining useful for day-to-day needs.

The Terracoin Core Wallet is the full official release supporting all Terracoin features as they are released, including InstantSend and PrivateSend, as well as the governance, masternode and voting features. It is identical to the software used by the Terracoin masternodes, and as such, it requires you to download the entire Terracoin blockchain. It is available for macOS, Linux, and Windows.

Wallet Releases

The newest wallet releases can always be found here: https://github.com/terracoin/terracoin/releases

Introduction to Terracoin Core

WIP

This documentation describes the Terracoin Core Wallet and how to use its basic functions. Since the functionality is similar across all supported platforms (Windows, macOS, Linux), the instructions and screenshots will reference the Windows software, highlighting differences between the platforms where necessary. See here for separate installation guides specific to each platform.

The Terracoin Core Wallet (sometimes known as the QT wallet, due to the QT software framework used in development) is a professional or heavy wallet which downloads the full blockchain (several GB in size), operates as a full node on the network and offers all functions available to Terracoin. When the wallet starts up, some time is required for it to synchronise its copy of the blockchain with the network. Once this is done, the correct balances will be displayed and the functions in the wallet can be used.

Features:

  • PrivateSend
  • InstandSend
  • Wallet encryption
  • Coin control and fee control
  • QR code generation and address book
  • Masternode commands and voting
  • Automated backup
  • Debug console

Installation

Terracoin Core can be compiled from source or downloaded for Linux, macOS and Windows here. Full installation guides are available here.

The Main Window

The Terracoin Core Wallet is an application that runs on your computer and allows you to make transactions on the Terracoin network. Most transactions are for sending or receiving Terracoin, but it is also possible to create signed messages or control a masternode, for example.

The Terracoin Core window is broken up into several areas:

  • The menu bar
  • The tab bar
  • The main area
  • The status bar

Main Window.png

Terracoin Core Main Window

The Menu Bar

The menu bar provides access to all functions of Terracoin Core. There are four menus available:

  • File: The File menu is used to manage your wallet, messages and addresses.
  • Settings: The Settings menu provides access to wallet encryption options and general software settings.
  • Tools: The Tools menu provides information on the network, allows you modify masternode configuration files and other advanced functions.
  • Help: The Help menu links to documentation, guides and legal statements relating to Terracoin Core.

The Tab Bar

The tab bar is used to quickly switch between the main areas of the Terracoin Core. The content in the main area of Terracoin Core changes depending on which tab you have selected. The following tabs are available:

The Overview tab

The overview tab offers quick access to your balance and most recent transactions, as well as the PrivateSend feature and options for coin mixing.

Overview Tab.png

Terracoin Core Overview Tab

The left part of the main area is divided into two areas. The upper area shows your balances:

  • Available: This shows your current liquid balance. This is the amount of Terracoin you can spend now.
  • Pending: This shows funds waiting for a transaction to complete.
  • Immature: This shows funds from masternode or mining payments which have not yet reached the required number of confirmations.
  • Total: This is simply your available and pending funds added together.

The lower area shows the status of PrivateSend and allows you to mix your funds using the Terracoin Masternode Network.

The right part of the screen shows your recent transactions. These are identified by icons as follows:

Recent incoming transactions appear black, prefixed by a + sign

Recent outgoing transactions appear red, prefixed by a – sign

Incoming mining or masternode payments also appear black

For more details on your transaction history, see the Transactions tab.

The Send Tab

The Send tab allows you to send funds to another address on the Terracoin network. It contains fields to enter the recipient’s address, a label for the address, and the amount of Terracoin you wish to send. Options related to the transaction fee, InstantSend and PrivateSend are also available. A quick view of your total balance is also available in the lower right corner.

Send Tab.png

Terracoin Core Send Tab

The Receive Tab

The Receive tab allows you to create addresses to receive Terracoin. You can create a request for a specific amount of Terracoin or include a specific message, and send it to another user as a link or QR code.

Receive Tab.png

Terracoin Core Receive Tab

The Transactions Tab

The transactions tab shows the entire transaction history for all addresses associated with your wallet. This appears as a table showing the time, type, label and amount of Terracoin for each transaction. You can also export the transaction history as a CSV file by clicking the Export button in the bottom right corner of the window.

The icons in the leftmost column indicate the status of the transaction. A tick indicates that the recommended number of confirmations has been passed, while a clock indicates that the transaction has yet to reach six confirmations.

Transaction Tab.png

Terracoin Core Transactions Tab

The Status Bar

The status bar shows a synchronization progress bar and a row of status icons which indicate the status of your connection to the Terracoin network.

The Synchronization Area

This bar shows the synchronization status of Terracoin Core with the Terracoin network. Each time you open Terracoin Core, it will begin downloading the blocks which have been created on the blockchain in the time since you last opened the app. These blocks are downloaded from other Terracoin users and masternodes. If you have never opened the app before, this could mean several years' worth of blocks need downloading. The following statuses are possible:

  • No block source available: This occurs if your internet connection is down, or if the ports required by Terracoin Core are blocked by a firewall.
  • Synchronizing with network: Terracoin Core is downloading blocks from the network.
  • Synchronizing masternodes/masternode payments/governance objects: Terracoin Core is synchronizing other data with the second layer network.

Once synchronization is complete, the progress bar will disappear and a tick will appear on the right of the status bar.

The Status Icons

The lock icons indicate the status of your wallet: either locked or unlocked. You need to unlock your wallet to send funds or perform certain other actions.

These icons indicate the quality of your connection to the Terracoin network. If you cannot connect because of network problems, you will see the icon on the left. More bars indicate more connections to your peers on the network.

These icons show the synchronization status of Terracoin Core with the network. Once synchronization is complete, the refresh icon will become a blue tick.

Terracoin Core Options

This documentation describes the functionality of the Terracoin Core Options dialog, available under the Settings > Options menu in Terracoin Core.

Main

The Main tab of the Options dialog contains settings related to startup and performance of the Terracoin Core app.

Options Main Tab.png

The Main tab of the Terracoin Core Options dialog

Start Terracoin Core on system login

This option causes Terracoin Core to start automatically when the current user logs in. On most computers there is only one main user account which is logged in automatically when the computer turns on, so this option is effectively the same as starting Terracoin Core together with the operating system.

Size of database cache

This option specifies the size of the database cache in memory. A higher value will result in increased performance when adding new blocks at the cost of higher memory usage. The default value is 100MB and it should not be set lower than this level.

Number of script verification threads

This option sets the number of script verification threads, ranging from -4 to 16. Script verification is the process of following instructions recorded in the blockchain to ensure the transactions are valid. 0 means automatic and will allow script verification to scale to the number of cores available on your processor. Setting a positive number specifies that Terracoin Core should use that number of processor cores, while setting a negative number will leave that number of processor cores free.

Wallet

The Wallet tab of the Options dialog contains settings related to how addresses are managed in the Terracoin Core app. The first time you run Terracoin Core, it will generate a new wallet containing 1000 unique Terracoin addresses. This tab allows you to configure how these addresses are used as inputs with the Coin Control, PrivateSend and Masternode features.

Options Wallet Tab.png

The Wallet tab of the Terracoin Core Options dialog

Enable coin control features

Your Terracoin Core wallet balance is actually the sum total of all addresses holding balance that are associated with your wallet. When you spend Terracoin, Terracoin Core will withdraw from as many inputs as necessary to make up the desired amount of Terracoin to be transferred. This behavior may be undesirable if you want to keep a certain balance on one address. The most common use case is the requirement to maintain 5000 Terracoin on a single address as collateral for a masternode.

Enabling this option will add a button labelled Inputs on the Send tab. This provides access to the Coin selection dialog, which can be used to lock, unlock and prioritize different addresses in your wallet. See here for a more detailed explanation of Coin Control.

Show Masternodes tab

Enabling this option causes Terracoin Core to display an additional Masternodes tab to the right of the Transactions tab. This option requires you to restart the Terracoin Core app.

The Masternodes tab can be used to manage interactions (start, stop, check status, etc.) with masternodes controlled by this wallet. This tab is an advanced feature not required by users that do not operate a masternode on the Terracoin network. See here for a description of the Masternodes tab.

Enable advanced PrivateSend interface

Enabling this option changes the PrivateSend mixing interface on the Overview tab of the Terracoin Core wallet to include more options, such as Try Mix and percentage completion. See here for a full explanation of how to use PrivateSend.

Warn if PrivateSend is running out of keys

Enabling this option will cause Terracoin Core to display a warning when your original set of 1000 addresses is running out, which may affect PrivateSend mixing. Every time a mixing event happens, up to 9 of your addresses are used up. This means those 1000 addresses last for about 100 mixing events. When 900 of them are used, your wallet must create more addresses. It can only do this, however, if you have automatic backups enabled. Consequently, users who have backups disabled will also have PrivateSend disabled.

Enable PrivateSend multi-session

Normally PrivateSend mixing is completed in several consecutive rounds, each using a single masternode. Enabling this option allows multi-session, which means you can use multiple masternode servers at the same time, greatly increasing the speed of the mixing process at the cost of creating more addresses and thus requiring more frequent wallet backups. This feature is experimental as of Terracoin Core 12.1.7.

Spend unconfirmed change

When this option is enabled, the Terracoin Core wallet permits you to immediately spend change from previous transactions that has been transferred internally between addresses associated with the same wallet. This is possible even if the transaction has not yet been confirmed because the wallet knows it will eventually be confirmed since it created the internal transaction itself. Leaving this option enabled allows you to create new transactions even if previous transactions have not yet been confirmed.

PrivateSend rounds to use

Use this option to control the number of rounds of PrivateSend mixing to be carried out for your chosen balance. Each round of mixing uses a new masternode. The higher the number of rounds, the more difficult it becomes to trace the Terracoin to its original address. This is at the expense of more time required for mixing and potentially higher fees. See here for a full explanation of how to use PrivateSend.

Amount of Terracoin to keep anonymized

This option allows you to specify how much Terracoin should be kept on balance in a ready-to-use anonymized state, meaning it has already passed through the PrivateSend mixing process. If you do not have sufficient Terracoin available in your balance of unlocked inputs, the amount will be automatically reduced to the available balance and shown in red in the PrivateSend interface on the Overview tab.

Network tab

This tab includes options related to how your connection to the Terracoin network is made.

Options Network Tab.png

The Network tab of the Terracoin Core Options dialog

Map port using UPnP

This option causes Terracoin Core to automatically attempt to open and map the client port on your router using UPnP (Universal Plug and Play). This feature is supported by most modern home routers and will allow you to connect to the Terracoin network without making any special settings on your router.

Allow incoming connections

This option causes your client to accept external connections. Since Terracoin is a peer-to-peer network and Terracoin Core is considered a full client because it stores a copy of the blockchain on your device, enabling this option helps other clients synchronize the blockchain and network through your node.

Connect through SOCKS5 proxy (default proxy)

These options allow users on an intranet requiring a proxy to reach the broader internet to specify the address of their proxy server to relay requests to the internet. Contact your system administrator or check out the network settings in your web browser if you are unable to connect and suspect a proxy may be the source of the problem.

Use separate SOCKS5 proxy to reach peers via Tor hidden services

These options allow you to specify an additional proxy server designed to help you connect to peers on the Tor network. This is an advanced option for increased privacy and requires a Tor proxy on your network. For more information about Tor, see here.

Window tab

This option contains options governing behavior of the Terracoin Core app window under Microsoft Windows.

Options Window Tab.png

The Window tab of the Terracoin Core Options dialog

Hide tray icon

When this option is enabled, Terracoin Core will not display an icon in the system tray. This option cannot be selected at the same time as Minimize to the tray instead of the taskbar.

Minimize to the tray instead of the taskbar

When this option is enabled and the Terracoin Core window is minimized, it will no longer appear in your taskbar as a running task. Instead, Terracoin Core will keep running in the background and can be re-opened from the Terracoin icon in the system tray (the area next to your system clock). This option cannot be selected at the same time as Hide tray icon.

Minimize on close

When this option is enabled, clicking the X button in the top right corner of the window will cause Terracoin Core to minimize rather than close. To completely close the app, select File > Exit.

Display tab

This tab contains options relating to the appearance of the Terracoin Core app window.

Options Display Tab.png

The Display tab of the Terracoin Core Options dialog

User interface language

Select your preferred language from this drop-down menu. Changing the language requires you to restart the Terracoin Core app. Terracoin Core currently offers translations in Bulgarian, German, English, Spanish, Finnish, French, Italian, Japanese, Polish, Portuguese (Brazil), Russian, Slovenian, Swedish, Vietnamese, Simplified Chinese and Traditional Chinese.

User interface theme

You can use this option to select a different theme governing the appearance of the Terracoin Core window. All functionality is identical under the different themes, although the default Terracoin-light theme is most recent and most likely to work without any display artifacts.

Unit to show amounts in

This allows you to change the default unit of currency in Terracoin Core from TRC to mTRC, µTRC or duffs. Each unit shifts the decimal separator three places to the right. Duffs are the smallest unit into which Terracoin may be separated.

Decimal digits

This option allows you to select how many decimal digits will be displayed in the user interface. This does not affect internal accounting of your inputs and balance.

Third party transaction URLs

This option allows you to specify and external website to inspect a particular address or transaction on the blockchain. Several blockchain explorers are available for this. To use this feature, enter the URL of your favorite blockchain explorer, replacing the %s with the transaction ID. You will then be able to access this blockchain explorer directly from Terracoin Core using the context menu of any given transaction.

Terracoin Core Tools

This documentation describes the functionality of theTerracoin Core Tools dialog, available under the Tools menu in Terracoin Core.

Information

The Information tab of the Tools dialog contains information related to the software and network.

Tools Information.png

The Information tab of the Terracoin Core Tools dialog

General

This section displays information on the name and version of the client and database, and the location of the current application data directory.

Network

This section displays information and statistics on the network to which you are connected.

Block chain

This section shows the current status of the blockchain.

Memory pool

This section shows the status of the memory pool, which contains transactions that could not yet be written to a block. This includes both transactions created since the last block and transactions which could not be entered in the last block because it was full.

Open debug log file

This button opens debug.log from the application data directory. This file contains output from Terracoin Core which may help to diagnose errors.

Console

The Console window provides an interface with the Terracoin Core RPC (remote procedure call) console. This is equivalent to the terracoin-cli command on headless versions of Terracoin, such as terracoind running on a masternode. Click the red – icon to clear the console, and see the detailed documentation on RPC commands to learn about the possible commands you can issue.

Tools Console.png

The Console tab of the Terracoin Core Tools dialog

Network Traffic

The Network Traffic tab shows a graph of traffic sent and received to peers on the network over time. You can adjust the time period using the slider or Clear the graph.

Tools Network Traffic.png

The Network Traffic tab of the Terracoin Core Tools dialog

Peers

The Peers tab shows a list of other full nodes connected to your Terracoin Core client. The IP address, version and ping time are visible. Selecting a peer shows additional information on the data exchanged with that peer.

Tools Peers.png

The Peers tab of the Terracoin Core Tools dialog

Wallet Repair

The Wallet Repair tab offers a range of startup commands to restore a wallet to a functional state. Selecting any of these commands will restart Terracoin Core with the specified command-line option.

Tools Wallet Repair.png

The Wallet Repair tab of the Terracoin Core Tools dialog

Salvage wallet

Salvage wallet assumes wallet.dat is corrupted and cannot be read. It makes a copy of wallet.dat to wallet.<date>.bak and scans it to attempt to recover any private keys. Check your debug.log file after running salvage wallet and look for lines beginning with "Salvage" for more information on operations completed.

Rescan blockchain files

Rescans the already downloaded blockchain for any transactions affecting accounts contained in the wallet. This may be necessary if you replace your wallet.dat file with a different wallet or a backup - the wallet logic will not know about these transactions, so a rescan is necessary to determine balances.

Recover transactions

The recover transactions commands can be used to remove unconfirmed transactions from the memory pool. Your wallet will restart and rescan the blockchain, recovering existing transactions and removing unconfirmed transactions. Transactions may become stuck in an unconfirmed state if there is a conflict in protocol versions on the network during PrivateSend mixing, for example, or if a transaction is sent with insufficient fees when blocks are full.

Upgrade wallet format

This command is available for very old wallets where an upgrade to the wallet version is required in addition to an update to the wallet software. You can view your current wallet version by running the getinfo command in the console.

Rebuild index

Discards the current blockchain and chainstate indexes (the database of unspent transaction outputs) and rebuilds it from existing block files. This can be useful to recover missing or stuck balances.

How to send and receive Terracoin

Transactions

Your Terracoin Core Wallet is associated with a number of unique addresses that can be used to send and receive TRC. Each address holds its own balance, and the sum of all your balances is what appears on the Overview tab. When you send Terracoin, your wallet will automatically transfer funds from as many of your addresses as necessary to the destination address, which is controlled by another Terracoin user and associated with their wallet. You can control which addresses you use using the Coin Control feature.

When you confirm a transaction, Terracoin Core will enter the transaction in a block, which will then be added to the blockchain for other clients to confirm. A transaction is generally considered confirmed once six blocks have been added after the block containing your transaction, although masternode and mining payments are only released after 101 blocks. Note that a different process is used for InstantSend and PrivateSend transactions.

Terracoin addresses are 34 characters long and begin with a 1.

Sending Terracoin

You can use Terracoin Core to send Terracoin from your balance to another user. The receiving user will provide you with a Terracoin address to which you should send the funds. Click the Send tab in the tab bar and enter the destination address in the Pay To field.

Send Tab No Control.png

The Terracoin Core Send tab

You can also use the three icons to the right of the Pay To field to select a previously used address, paste an address from the clipboard, or clear the current address. If this is a new address, you can enter a name for the address in the Label field to help identify it again later. Finally, enter the amount of Terracoin you want to transfer in the Amount field.

The other options relate to fees and PrivateSend/InstantSend. You can choose if you want to pay the network fee in addition to the amount sent, or subtract it from the amount sent. You can also increase your fee to encourage nodes on the network to prioritize your transaction. Choosing InstantSend has a similar effect, but actually relies on a different mechanism in the second layer network to speed up the transaction time. You can read more about InstantSend here. Choosing PrivateSend will send Terracoin from an address that has previously been mixed. You can find out more about PrivateSend and mixing here.

Let’s try an example. Say you have decided to donation 5 TRC to the Terracoin Foundation.

Send Tab Filled Out.png

The Send tab filled out for a transaction

Once you have entered the destination address and the amount, click the Send button. If you have encrypted your wallet, you will now be required to enter your password to unlock the wallet.

Send Tab Password.png

Entering the password to unlock the wallet

Finally, you are given one final confirmation and chance to cancel your send transaction before Terracoin Core processes the transaction on the blockchain.

Send Tab Final Confirmation.png

Final confirmation window

If you respond with Yes, your transaction will be processed. Your operating system may display a notification, and the transaction will appear on the Transactions tab, where you can monitor its progress.

Send Tab Sent.png

The Windows 10 sent transaction confirmation notification

Note that the amount of the transaction increased by .00007460 Terracoin. This is the transaction fee. In the next section, we will see what this procedure looks like from the receiving side.

Receiving Terracoin

To receive Terracoin, you must first create a receiving address to give to the sending party. To do this, click File > Receiving addresses. The Receiving addresses window appears.

Receive Addresses.png

The Receiving addresses window

Either copy an existing address by clicking on the address and then the Copy button, or create a new address by clicking the New button. You can also edit an existing address by right clicking and selecting Edit address from the context menu. Give this address to the person who will send you Terracoin. Your wallet does not need to be open to receive funds, but if it is, you can watch the transaction arrive in real time. This is because your wallet constantly watches for new blocks on the blockchain when it is open, and will recognize a new transaction involving your receiving address when it occurs.

Incoming Transaction.png

The Windows 10 received transaction confirmation notification

Once you have been paid, you can see the balance both on the Overview tab and on the Transactions tab.

Transactions 2.png

The received transaction

How to use PrivateSend

Introduction to PrivateSend

Setting default PrivateSend options

Initiating the PrivateSend process

Monitoring PrivateSend progress

Sending payments with PrivateSend

How to safely back up your wallet

Guides for advanced functions

Terracoin Core video guides

Enable the Masternodes tab

How to run multiple wallets

Command line arguments

RPC commands

Anti Virus Issues

Running Terracoin