Liberty Documentation

_images/LibertyCoin_Logo_FullColor.png

If you are new to cryptocurrencies, the most important change to understand is that transactions occur directly between two parties without any central authority to facilitate the transaction. This also means that you are responsible for your own security - there is no bank or credit card company to reverse a transaction if your funds are stolen or lost. In this sense, it is similar to cash or gold, but cryptocurrency can be spent locally and internationally with equal ease, if you are confident you are sending funds to the right destination. For these reasons, the Liberty documentation has a strong focus on safety and understanding the concepts and features that drive the Liberty ecosystem. The videos, links and documentation below can help you get started, or use the table of contents on the left to find a specific topic of interest.

What is Liberty?

Liberty aims to be the most user-friendly and scalable payments-focused cryptocurrency in the world. The Liberty network features instant transaction confirmation, double spend protection, anonymity equal to that of physical cash, a self-governing, self-funding model driven by incentivized full nodes and a clear roadmap for on-chain scaling to up to 400MB blocks using custom-developed open source hardware. While Liberty is based on Bitcoin and compatible with many key components of the Bitcoin ecosystem, its two-tier network structure offers significant improvements in transaction speed, anonymity and governance. This section of the documentation describes these and many more key features that set Liberty apart in the blockchain economy.

The documentation and links collected here can help you get started, or use the table of contents on the left to find a specific topic of interest. New users may be interested in getting started with an appropriate wallet, learning about how to buy Liberty and where to spend Liberty, learning about safety or joining one of the many Liberty community sites.

Roadmap

The Liberty roadmap outlines key delivery milestones for future releases of Liberty and includes specific technical details describing how the development team plans to realize each challenge.

Liberty Roadmap

Features

Specifications

  • SHA256 hashing algorithm
  • Zerocoin privacy, which allows two parties to conduct business with disclosing their identities to each other.
  • SwiftX transaction, which allows a sender to get near instantaneous confirmations of transactions for real-time transactions.
  • Town Hall, which is a decentralized governance system, allows anyone to submit a proposal to Liberty citizens for approval. These proposals can use up to 10% of the overall blockchain budget to pay for projects that the community feels are important and masternode operators get to vote on them.

Masternodes

How To Buy

Liberty can be purchased and sold on a variety of exchanges.

  • Exchanges are one of the most popular ways to trade cryptocurrency. A wide range of exchanges exist, each offering slightly different features. Some serve different markets, some are in direct competition, some have cheaper fees, and some are subject to more or less strict regulatory requirements. Most exchanges are centralized, meaning they are operated by a single company, which may be obliged by the laws of the jurisdiction in which it operates to collect data on its customers. Others are decentralized, but as a result have higher escrow requirements since you are dealing peer-to-peer instead of with a trusted entity. Exchanges can be broadly broken down into two categories: exchanges which accept national currency (fiat money) and exchanges which deal in cryptocurrencies only. For safety, exchanges should not be used as wallets. Exchanges are for trading, not for savings.

DISCLAIMER: This list is provided for informational purposes only. Services listed here have not been evaluated or endorsed by Liberty Coin and no guarantees are made as to the accuracy of this information. Please exercise discretion when using third-party services.

Exchanges

Cryptocurrency exchanges exist to convert national currency, also known as fiat money, into cryptocurrency. Many exchanges do not accept fiat money, and exchange between various cryptocurrencies only. Trades are handled on markets, and trades are created between pairs of currencies, identified by their ticker codes. The volume traded on an exchange provides a good indication of how quickly a buy or sell order you place will be filled. This section introduces some of the most popular exchanges for trading Liberty.

CoinMarketCap

_images/coinmarketcap.png

CoinMarketCap lists all cryptocurrencies by their market capitalization. Clicking one of these currencies allows you to view price charts, and clicking Markets allows you to view the markets available and the trading pairs they offer.

  • CMC listing coming

Liberty markets

The official Liberty website also provides a list of major exchanges offering Liberty.

https://www.liberty-coin.com/

List of exchanges

The exchanges listed here are for informational purposes only and do not indicate endorsement or affiliation with any particular platform.

CryptoBridge
_images/CryptoBridge.png

https://crypto-bridge.org/

Information on CryptoBridge

Safety

If you are new to cryptocurrencies, the most important change to understand in comparison with the traditional banking system is that transactions occur directly between two parties without any central authority to facilitate the transaction. This also means that you are responsible for your own security - there is no bank or credit card company to reverse a transaction if your funds are stolen or lost. If you forget or lose your wallet file, recovery phrase or PIN, you will permanently and irrevocably lose access to your funds.

Liberty is designed from the ground up to be fast, secure, fungible and private. In this sense, it is similar to cash or gold, but cryptocurrency can be spent locally and internationally with equal ease, if you are confident you are sending funds to the right destination. For these reasons, the Liberty documentation has a strong focus on safety and understanding the concepts and features that drive the Liberty ecosystem.

A few general safety guidelines:

  • Do not trust any online service or person because they sound or look reputable. Always use an escrow service if you are buying peer-to- peer.
  • Do not use exchanges as wallets. Exchanges are for trading, not for savings.
  • Mobile wallets should be used for day-to-day purchases, but do not keep large amounts of funds in them. Transfer funds as necessary.

A list of known scams, fake wallets and Ponzi or pyramid schemes can be seen below. Do NOT trust them.

Scams

There are many “fake” Liberty pages on the internet attempting to trick users into sending Liberty or other cryptocurrencies or “open a wallet”. Other scams include selling fake mining hardware, fake Liberty or altcoins with a similar name, and Ponzi schemes (see below). Please be careful and do NOT trust any third parties listed here!!

Beware of fake Twitter accounts impersonating Liberty! The official Twitter account is: https://twitter.com/coin_liberty

Please report these and any others scams you encounter as follows:

  1. Report phishing and scams to Google: https://www.google.com/safebrowsing/report_phish
  2. Look up the registrar of the domain and send a complaint: https://www.whois.com/whois
  3. Report phishing to Netcraft: https://www.netcraft.com
  4. Report scams to the BadBitcoin Project: http://www.badbitcoin.org
  5. If in doubt, use Crypto Scam Checker to see if already report and report there as well: https://fried.com/crypto-scam-checker

Ponzi Schemes

A Ponzi scheme, Pyramid scheme or Multi-level marketing are a fraudulent investment operations where the operator provides fabricated reports and generates returns for older investors through revenue paid by new investors. More and more users must constantly join the scheme in order for it to continue operation, with ever greater numbers of people losing money to the originators of the scheme.

If you encounter a Ponzi scheme, follow the same reporting steps as above for scam websites!

List of known Ponzi schemes (there are many more - stay vigilant!):

OneCoin
SwissCoin
The Billion Coin
Sustaincoin
E-Dinar
DasCoin
BitConnect
HashOcean
CryptoDouble

Liberty Coin - Coin Swap Procedures

Welcome to the Liberty coin swap instructions page. Use the following instructions to install the new Liberty Coin 5 wallet, complete the coin swap using the Swap Bot, upgrade an existing MasterNode VPS Hot wallet, update an existing MasterNode Cold wallet, and verify that your MasterNode started correctly.

Unlock all of your Masternode coins

These instructions are intended for those that are running a MasterNode on a Linux VPS and are managing it using a Cold wallet. These instructions will walk you through the steps to unlock all of your MasterNode coins so that you can begin the process to conslidate your LBRT.

  1. Open your current Liberty wallet that is the MasterNode Cold Wallet

  2. Select Tools > Open Masternode Configuration File

  3. Insert a # symbol in front of each of the lines in your configuration file. This will remark out those lines so that the wallet will no longer lock the funds for those Masternodes, once a wallet restart has been completed.

    • Alternatively, you can just rename the masternode.conf file to something like masternode.bak.
  4. Close your Liberty wallet and then open it back up again and the funds should now be unlocked.

  5. Be sure to send all of the coins from your MasterNode(s) to a consolidated wallet address.

Once all of your coins have been unlocked, you can proceed to the next step to consolidate your coins into a single wallet address.

Consolidating Coins Into A Single Wallet Address

These instructions are intended for those that are consolidating all of your LBRT and zLBRT into a single wallet address. These steps are to be performed on an existing Liberty wallet, not the new wallet. This process is critical to prepare for completing the coin swap with the Swap Bot.

Consolidating LBRT

  1. Locate and copy the existing Liberty wallet address that you are consolidating all of your coins into.

  2. Open your current Liberty wallet(s) that currently contains LBRT.

  3. From the side wallet bar, click Send.

  4. In the Pay To: field, right click and select Paste to paste in the wallet address that you copied in Step 1.

  5. Click Open Coin Control.

    If you haven’t already enabled Coin Control then follow these steps:

    • From the Liberty Wallet, click on Settings, select Options, click on the Wallet tab and then click the check-box that says Enable coin control features.
    • This feature will allow you to control your wallet inputs, to verify that all coins are consolidated into a single input, to choose which inputs you send coins from, and to optimize staking.
  6. Click (un)Select all and ensure that all of the checkboxes are checked and that none of them are locked.

  7. Click OK to close the Coin Selection window.

  8. Locate the numbers next to the field After Fee and right click them and then select Copy after fee. This will copy the total amount of coins you have available to send after the fee is calculated.

  9. Right click in the Amount field box and select Paste. This will paste in the total amount of coins that you have available to send.

  10. Verify that the following information is correct:

    • Pay to wallet address is the correct wallet address you are consolidating all of the coins into.
    • Amount field is the correct amount of all of the coins in the wallet, after the fee is removed.
  11. Click Send to complete the transaction.

    • Enter your wallet passphrase, if prompted.
    • Click Yes when prompted to confirm that you are sure you want to send.

Warning

Repeat the above steps for each wallet that contains LBRT coins. It is critical that you successfully consoldate all of your LBRT coins into a single wallet address before proceeding with the coin swap.

Once all of your coins have been consolidated, you can proceed to the next step to perform the coin swap with the Swap Bot

Install the New Liberty Coin Wallet

These instructions are intended for those that are installing the new Liberty Coin wallet on your personal Windows or Mac computer.

Requirements:

  • Windows 7 or higher, Mac OS, or Linux
  • Outgoing internet access to sync the blockchain and enable the MasterNode remotely

Install the Liberty Coin Wallet

  1. Open the following URL in a web browser to download the appropriate wallet version for your system:

Warning

Do not install the new wallet on the computer that contains an existing Liberty wallet that is currently holding LBRT coins. You will need to either install the new wallet on a different computer or move your coins to a different computers’ wallet, prior to installing the new wallet. This is to prevent any chance that the new wallet will overwrite your current wallet and cause you to lose your coins.

  1. Be sure that your existing wallet.dat and private keys are backed up from the old wallet. We strongly recommend backing up your wallet.dat and private keys prior to starting this process.

  2. Rename the old Liberty directory to something like Liberty4. This will prevent the new wallet install from conflicting with any of the existing data. This is only required if the computer contains the old Liberty wallet:

    • Mac: ~/Library/Application Support/Libertycore
    • Windows: ~/AppData/Roaming/Libertycore
  • NOTE: If you are confident that you no longer need this old data then you can just delete the old Liberty directory instead of renaming it.

Warning

Do not delete the current wallet directory if the existing wallet still has coins in it. You should be doing this install on a computer that does not currently have a Liberty wallet that contains coins.

  1. Unzip the wallet files and move the Liberty-cli and Liberty-qt files onto the Desktop or Application folder.

    • If prompted, confirm that you want to replace the existing file(s).

5.Double click the Liberty-qt file to open and install the new wallet.

  • If you are prompted to use a data directory then select the radio button next to Use the default data directory and click OK
  • Accept any pop ups asking to confirm if you want to continue with the installation
  • When prompted, select Use the default data directory and click OK
  • If prompted by security or antivirus software, click Allow Always
  • The new wallet should now open and begin to synchronize with the network

Documenting Your New Wallet Address

Now that the new Liberty Coin wallet is installed, you need to document your new wallet address to prepare for the coin swap with the Swap Bot.

  1. Open the new Liberty Coin wallet.

  2. Click on File and select Receiving addresses.

  3. Select the wallet address that is labeled no label and click Copy.

    • You can name the wallet with a description such as New Wallet by right clicking it and selecting “Edit”.
  4. Save this wallet address somewhere for safe keeping as you will be using it later in the process to convert your coins with the Swap Bot.

Updating the Wallet Default Settings

Now that the new wallet is installed, let’s take care of updating some very important default wallet settings. These steps are especially critical if you plan to setup a MasterNode.

Enable Coin Control

This feature will allow you to control your wallet inputs, to verify that all coins are consolidated into a single input, to choose which inputs you send coins from, and to optimize staking.

  1. Open the Liberty Wallet and click on Settings
  2. Select Options
  3. Click on the Wallet tab
  4. Click the check-box that says Enable coin control features

Disable XLIBz Automint

This feature will disable the auto minting of XLIB into XLIBz.

  1. Open the Liberty Wallet and click on Settings

  2. Select Options

  3. Click on the Main tab

  4. Uncheck the check-box that says Enable XLIBz Automint

  5. Click OK to close the wallet options.

    NOTE: THIS IS A CRITICAL STEP FOR THOSE THAT PLAN TO RUN A MASTERNODE

Once completed, you can proceed to the next step to perform the coin swap with the Swap Bot.

Swap Bot - Steps to Perform the Coin Swap

These instructions are intended for those that will be using the Swap Bot to perform the coin swap. There are simple instructions for advanced users and detailed instructions for those of you that would like a more in depth explanation of each step.

Simple Instructions for Advanced Users

Below are the simplified instructions for those advanced users that don’t require detailed steps. These are the same instructions that you will be receiving direclty from the Swap Bot by typing the $simple command in the Swap Bot Discord channel.

Each of the sentences that start with the $ symbol are commands that you will be sending directly to the SwapBot:

$start [oldwalletaddress]
VERIFY: Confirm the balance amount.
$sent [netamountsent] [txid]
$status
$address [newwalletaddress]
VERIFY: Triple check the new Liberty receiving address before proceeding.
$agree
VERIFY: Verify that .01 XLIB was received in the new wallet.
$confirm [txid]
$status

Congratulations, your coin swap is complete!  When you perform the final $status command your swap will be marked as completed by the bot.

Detailed Instructions

Below are the detailed instructions for performing a successful coin swap utilizing the Swap Bot. These are the same instructions that you will be receiving direclty from the Swap Bot by typing the $instructions command in the Swap Bot Discord channel.

Each of the sentences that start with the $ symbol are commands that you will be sending directly to the SwapBot:

1.  1st Command: $start [oldwalletaddress]
        a.  Example: $start LFCFtD4scWXUDswzZTvWQHgCyzfiryGguX
        b.  Explanation: To initiate the swap, please respond with the $start command and your
                consolidated wallet address.  I will respond with the coin swap receiving address
                and the approved balance for your registered LBRT address.
                Only the balance displayed will be accepted on the new chain.
                If you have a discrepancy with the balance that the snapshot is reporting,
                then issue the $alert command to be placed into the queue for manual administrative
                intervention.

2.  VERIFY: Confirm the balance is correct and send the full Liberty balance in a single transaction
        to the address that I provided.

3.  2nd Command: $sent [amountsent] [txid]
        a.  Example: $sent 15 138173567d430b154877e4e004ebafefce90c38038f920a0aacb03055c72514b
        b.  Explanation: After sending all Liberty in a single transaction, respond with
                the $sent command using the After Fee amount and txhash for the transaction.
        c.  NOTE: If you copy and paste your transaction, be sure to remove any spaces in the
                thousands place. 1000 is okay, 1 000 is not okay

4.  3rd Command: $status
        a.  Example: $status
        b.  Explanation: Check your current status by responding with the $status command.
                I will indicate if I have successfully confirmed the transaction.
                Upon enough successful confirmations you will be instructed to download the
                new wallet - https://github.com/Liberty-project/LBRT/releases.

5.  4th Command: $address [newwalletaddress]
        a.  Example: $address XANLeD7efUBtVxMWEiYyYfiewGypspSMFj
        b.  Explanation: After installing the new wallet, syncing the wallet fully, and
                generating a new address, respond with the $address command with your new address.
                This will confirm the wallet address that the bot will be sending the new coins to.

6.  VERIFY: Triple check my confirmation of the new address received and read the disclaimer
        before proceeding.

7.  5th Command: $agree
        a.  Example: $agree
        b.  Explanation: Respond with $agree to confirm the new receiving address is correct
                and that the disclaimer has been read.

8.  VERIFY:  Verify that .01 XLIB was received in the new wallet.

9.  6th Command: $confirm [txid]
        a.  Example: $confirm 138173567d430b154877e4e004ebafefce90c38038f920a0aacb03055c72514b
        b.  Explanation: Confirm the test transaction by issuing the $confirm command along with
                the txid (txhash) of the test transaction.
                Once the test transaction has been confirmed, then your remaining balance will begin
                to transfer.
        c.  NOTE: You may need to enter this command multiple times until all confirmations have
                been completed.  Expect this wait time to be around 75 minutes.

10. 7th Command: $status
        a.  Example: $status
        b.  Explanation: Respond with $status to check that the final transaction has been
                completed successfully.

Congratulations, your coin swap is complete!  When you perform the final $status command your swap will be marked as completed by the bot.

Once completed, you can move on to the next step to either update your existing Linux VPS Masternode or setup a fresh install of the VPS and Hot wallet using the basic setup guide.

Upgrade an Existing MasterNode VPS Hot Wallet

These instructions are intended for those that are already running a MasterNode and want to upgrade an existing VPS with the new Liberty Coin wallet.

Warning

We created this process for those of you that want to continue to use the same VPS. However, there is some minor risk involved as you may need to reboot the VPS during this process. If you are running MasterNodes from other coins on this same VPS then those MasterNodes may be impacted by the VPS reboots. To prevent the possible impact to the other MasterNodes you are running on this VPS, we suggest doing a fresh install, on a new VPS. Link to VPS and Hot wallet basic setup guide

  1. Login to the VPS provider website and update the external firewall ports to allow TCP port 10417 from all sources instead of port 41412. You can edit the existing rule and change the port from 41412 to 10417.

    • NOTE: This is not necessary for Virmach VPS users since they do not provide an external firewall.
  2. Use Putty (PC) or Terminal (MAC) to login to the Linux VPS that is running the Liberty Hot wallet.

  3. Login as the user that you used to install the wallet. Below are some of the possible usernames you may have used, depending on which installation guide you followed:

    • root (github)

    Note: These instructions will assume that you did not use root as the default user and therefore provides the commands starting with sudo to allow the commands to run with root privileges.

  4. Stop the current wallet daemon with the following command:

    liberty-cli stop
    
  5. Display the contents of your existing Liberty.conf file:

    cat ~/.libertycore/liberty.conf
    
  6. Copy the contents of the liberty.conf file and paste it into a text editor so you can easily update the necessary fields.

  7. In the text editor, update the following information to start using port 10417 instead of 41412:

    • On the line externalip= change port 41412 to the new port 10417
  8. Save the text file to be sure you don’t lose any of the data during the process.

  9. Back on the VPS, delete the existing Libertyd daemon from the /usr/local/bin directory:

    sudo rm /usr/local/bin/libertyd
    sudo rm /usr/local/bin/liberty-cli
    sudo rm /usr/local/bin/liberty-qt
    
  10. Delete the existing ~/.libertycore folders:

    sudo rm -rf ~/.libertycore
    
  11. Update the internal firewall to allow TCP port 10417 and to block 41412:

    sudo ufw allow 10417/tcp
    sudo ufw deny 41412/tcp
    
  12. Download the new wallet and extract it to the /usr/local/bin directory:

    wget https://s3.amazonaws.com/liberty-builds/5.0.58.0/linux-x64.tar.gz
    sudo tar xvzf linux-x64.tar.gz -C /usr/local/bin/
    
  13. OPTIONAL STEP: The following steps (13A - 13C) are optional. These steps are strongly recommended for those that want to implement security best practices. These steps are recommended so that the Hot wallet is not installed under the root user account.

    • In these steps you will create a new user named xlibmn, set a password, grant that user root access, and login as the new user.
    • All advanced Liberty setup guides will assume that you used xlibmn as your user.
    • For those of you that want to continue to use root as your user instead of xlibmn, you can skip ahead to step 14.

13A. Create a new user named xlibmn and assign a password to the new user:

useradd -m -s /bin/bash xlibmn
passwd xlibmn

Type in a new password, as you are prompted, two times. Be sure to save this password somewhere safe, as you will need it to manage the VPS Hot wallet.

13B. Grant root access to the new user xlibmn:

usermod -aG sudo xlibmn

13C. Login as the new user:

sudo login xlibmn
  1. Install the new wallet by running the libertyd -daemon command:

    libertyd -daemon
    
  2. Generate a new MasterNode Private Key (aka GenKey):

    liberty-cli createmasternodekey
    
  3. Copy the outputted GenKey and paste it in the text editor, overwriting the old GenKey, with the new one you just copied, on the line masternodeprivkey=

  4. Stop the Hot wallet with the liberty-cli stop command:

    liberty-cli stop
    
  5. Edit the new liberty.conf file:

    nano ~/.libertycore/liberty.conf
    
  6. Copy the contents from the text editor, that you copied from the old liberty.conf file, and paste all of the lines into the new liberty.conf file.

  7. Close the file and save it by hitting Ctrl-X, and then type Y to confirm that you want to save it, and then hit ENTER to confirm the file name.

  8. Restart the Hot wallet with the libertyd -deamon command:

    libertyd -daemon
    
  • NOTE: If you get the error “error: couldn’t connect to server” then you may need to kill the process manually or reboot the VPS and then restart the wallet with the libertyd -daemon command.
  1. Run the ps -ef |grep liberty command to verify that the daemon is indeed running:

    ps -ef |grep liberty
    

NOTE: You should get output showing that the libertyd -daemon is running. If you only see one single line that contains this output “grep –color=auto liberty” then the daemon is not actually running. In this case, you may need to restart the VPS and then run the libertyd -daemon command to start the daemon successfully.

Once the libertyd -daemon service is confirmed as running, the setup of your new VPS and Hot wallet is complete. Please proceed to the next step to set up the Cold Wallet on your computer.

Update an Existing MasterNode Cold Wallet

These instructions are intended for those that were already running a MasterNode Cold wallet and want to update the existing wallet to start running the MasterNode again.

Prerequisites:

Create a MN1 Wallet Address and send it the required burn coins

  1. Create a receiving address for the MasterNode collateral funds.

    • Go to File -> Receiving addresses
    • Click New, type in a label and press Ok.
    • Select the row of the newly added address and click Copy to store the destination address in the clipboard.
    • You can name the wallet with a description such as “MN1” by right clicking it and selecting Edit.
  1. Send EXACTLY 50000 RUPX coins to the MN1 wallet address. Double check you’ve got the correct address before transferring the funds.

    After sending, you can verify the balance in the Transactions tab. This can take a few minutes to be confirmed by the network. Go get a glass of water. No alcoholic beverages please, we are not out of the woods yet.

Warning

If you are sending from an exchange, make sure you account for the withdrawal fee so that you get EXACTLY EXACTLY EXACTLY 50000 RUPX in the new wallet address. This is a common error that will cause the next step to not give you the transaction id that is needed.

Output your MN TXhash and Outputidx and update the MasterNode configuration file

  1. Open the Debug console of the wallet in order to type a few commands.

    Go to Tools -> Debug console

  1. Run the getmasternodeoutputs command to retrieve the transaction ID of the collateral transfer:

    getmasternodeoutputs
    
  • You should see an output that looks like this in the Debug console:

    ‘“txhash” : “c19972e47d2a77d3ff23c2dbd8b2b204f9a64a46fed0608ce57cf76ba9216487”,’ ‘“outputidx” : 1’

  • NOTE: If you do not get output resembling the above example then you likely do not have EXACTLY 50000 XLIB in the MN1 wallet address. You will need to resolve this issue and ensure that ONLY and EXACTLY 50000 XLIB is in the MN1 address and that it is in a single input.

  1. Copy and save the txhash and outputidx. Both the txhash and outputidx will be used in the next step. The outputidx will be either a 0 or 1, both are valid values.
  1. Go to Tools -> Open MasterNode Configuration File and add a line in the newly opened masternode.conf file. If you get prompted to choose a program, select a text editor like Notepad/TextEdit to open it.
  • These are the default directories for the Liberty data directory where this file is stored:

    • Mac: ~/Library/Application Support/Liberty
    • Windows: ~\AppData\Roaming\Liberty
  • Below is an example of what you need in the masternode.conf file, all on a single line with no carriage returns. The file contains an example that is commented out(with a # symbol in front). Read it for reference. Based on the output example from the masternode outputs command, you would add this line in:

    MN1 199.247.10.25:10417 87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK c19972e47d2a77d3ff23c2dbd8b2b204f9a64a46fed0608ce57cf76ba9216487 1
    
  • MN1 is the node’s alias.

  • 199.247.10.25 is the external IP of the masternode server that will provide services to the network.

  • 87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK is your masternode private key (aka GenKey), which is the value used for masternodeprivkey= in /root/.liberty/liberty.conf.

  • c19972e47d2a77d3ff23c2dbd8b2b204f9a64a46fed0608ce57cf76ba9216487 is your TXhash from masternode outputs.

  • 1 is your ‘outputidx’ (aka Index) from masternode outputs.

  1. Restart the Cold wallet to pick up the masternode.conf changes.
  1. Open the Debug console (Open Tools > Debug console) and run the command listmasternodeconf:

    listmasternodeconf
    
  • Verify that the output matches what you entered in the masternode.conf file.
  1. Go to the ‘Masternodes’ tab and check if your newly added masternode is listed.

    You should now see the newly added MasterNode with a status of MISSING. If you want to control multiple MasterNode Hot wallets from this Cold wallet, you will need to repeat steps 1-7. The masternode.conf file will contain an entry for each masternode that will be added to the network.

Starting the MN from the Cold Wallet

Warning

It is very important that you let the MasterNode Hot wallet synchronize for a couple of hours prior to starting it from the Cold wallet. If you attempt to start it before it is fully synchronized then it will fail.

  1. Run the startmasternode alias false MN1 command, in the Cold wallet Debug console, in order to enable the MasterNode:

    startmasternode alias false MN1
    
  • In the example above, the alias of my MasterNode was MN1. In your case, it might be different and is based on what you entered as the first word in the masternode.conf file.
  • You should get multiple lines of output. If one of the lines of output says “result” : successful” then you can proceed to the next step to verify the MasterNode started correctly on the VPS Hot wallet. If you did not get the successful output then there is likely an issue with the masternode.conf file that needs to be resolved first.

If you received the output that shows the MasterNode started successfully then you can proceed to the next step to verify that your MasterNode started correctly from the VPS Hot wallet.

Verify the MasterNode Hot Wallet Started Successfully

  1. Login to the Linux VPS console, via Putty or Terminal, as the user xlibmn (or the user that you used to install the Hot wallet).

  2. Run the command cat ~/.liberty/debug.log | grep HotCold:

    cat ~/.liberty/debug.log | grep HotCold
    
  • If the MasterNode started correctly then you will receive the following output: “CActiveFundamentalnode::EnableHotColdFundamentalNode() - Enabled! You may shut down the cold daemon.”
  • Output from this command will only show up if your MasterNode started successfully. If you do not receive the expected output, then your MasterNode did not start successfully.
  • The most common cause of this issue is attempting to start the MasterNode before the Hot wallet is fully synchronized. Wait a couple of hours and then try to start it from the Cold wallet again.
  1. Run the following command to verify the status of the MasterNode:

    liberty-cli getmasternodestatus
    
  • If you see status Not capable masternode: Hot node, waiting for remote activation, you need to wait a bit longer for the blockchain to reach consensus. It’s common to take 60 to 120 minutes before activation can be done.

  • If you see status MasterNode successfully started as well as the HotCold output from the first command then CONGRATULATIONS your MasterNode Hot wallet is now successfully enabled.

    • NOTE: It will take a few hours until the first rewards start coming in. The time before the first payout will increase as more MasterNodes come online.
  1. Check the MasterNode tracker website http://liberty5.mn.zone to see that your MasterNode(s) are showing up on the site.
  • You will need to search by your MN1 wallet address or your Linux VPS IP address to locate it on the website.
  • The site is refreshed every 5 minutes so don’t be surprised if it takes up to 5 minutes to show up on the website.

Congratulations! The initial setup process is complete and your MasterNode is fully operational! You can proceed to the Finishing Touches section to enable logrotate and Hot wallet auto start.

VPS: Getting Started with an SSH Client and SSH Keys

Mac Users - Generating and Using SSH Keys with Terminal

These instructions are intended for Mac users that want to generate an SSH key and start using it to connect to the Linux VPS. This step is to be completed on the computer that you will be using to manage the Linux VPS.

Generating an SSH Key

  1. Open the application named Terminal
  • Launch terminal by using Spotlight search in OS X, searching for terminal
  1. Generate an ssh key on the Mac by running the ssh-keygen command in Terminal:

    ssh-keygen
    
  • Hit ENTER to confirm the default file name.
  • Hit ENTER two times, without typing anything in, when prompted for an SSH Key Passphrase.
  1. Login to your Linux VPS via SSH by running the following command in Terminal:

    ssh root@<public_mn_ip_address_here>
    
  • Replace the variable <public_mn_ip_address_here> with your Linux VPS IP address
  • Type yes to confirm that you want to connect using SSH
  1. Generate an SSH key on the Linux VPS with the following command:

    ssh-keygen
    
  • Hit ENTER to confirm the default file name
  • When prompted for an SSH Key Passphrase, do not type anything in and hit ENTER two times to skip this step.

Using the SSH Key to Connect to the Linux VPS

  1. Open a new Terminal window on your Mac:

    ssh root@<public_mn_ip_address_here>
    
  • Replace the variable <public_mn_ip_address_here> with your Linux VPS IP address
  • Type yes to confirm that you want to connect using SSH
  1. Copy the SSH key from your Mac to your Linux VPS by running the following command on your Mac Terminal window:

    scp ~/.ssh/id_rsa.pub root@<public_mn_ip_address_here>:/root/.ssh/authorized_keys
    
  • Replace the variable <public_mn_ip_address_here> with your Linux VPS IP address
  • Type in the root password when prompted and hit ENTER

Now it’s time to test that your new SSH key is indeed working!

  1. Login to the Linux VPS using the new SSH key:

    ssh root@<public_mn_ip_address_here>
    
  • Replace the variable <public_mn_ip_address_here> with your Linux VPS IP address
  • You should no longer be prompted to enter a password.
  • If you were prompted for a password then one of the previous steps failed and you will need to try again.

If you are able to login to the Linux VPS without being prompted for a password then this process is complete and you can proceed to next section to disable password logins and root login access.

PC Users - Generating and Using SSH Keys with Putty

Generating a New SSH Key

These instructions are intended for PC users that want to generate an SSH key on a Windows computer. This step is to be completed on the computer that you will be using to connect to and manage the Linux VPS.

Implementation Steps

  1. Download the PuttyGen SSH key generator.

  1. Locate the puttygen.exe file in your Downloads folder.
  1. Double click the puttygen.exe file to open the Putty key generator.
  1. Click Generate to generate a new RSA 2048 bit key.

    • Be sure to check the Parameters to verify that RSA is selected.
    • Speed up the key generation process by moving your mouse around the blank area under the green loading bar.
  1. Highlight and copy all of the text in the box called Public key for pasting into OpenSSH authorized_keys file.

    • You have to scroll down to get the whole key copied.
    • The SSH key should begin with the word ssh-rsa and it should end with a date, such as rsa-key-20180406.
    • NOTE: IT IS CRITICAL THAT YOU COPY THE ENTIRE SSH KEY NOT JUST WHAT YOU SEE IN THE PUTTYKEY WINDOW.
  1. Save the copied SSH public key in a very safe location such as a password repository.

    • You can paste this into a txt file temporarily, but be sure NOT to save it on your local computer to reduce the chances of it being vulnerable to being hacked.
    • You will need this SSH public key again later in the process when adding it to the Linux VPS server.
  1. Save the new SSH private key by clicking the button Save private key.

    • Click Yes when prompted “Are you sure you want to save this key without a passphrase to protect it?”
    • Type in the name sshprivatekey in the File name: field.
    • Click Save to save the new sshprivatekey.ppk file in an easy to locate folder. You will need to reference this file again later in the setup process.

You are now done generating the new SSH Private Key. You can proceed to the next step to download and install the Putty terminal emulator.

Download Putty and Configure SSH

These instructions are intended for PC users that will be using Putty and SSH keys to login to the Linux VPS. If you already have Putty installed and are able to connect to the Linux VPS using an SSH key then you can skip this process and proceed to the next section to disable password logins and root login access.

Download Putty
  1. Download the Putty terminal emulator that matches your OS.

  1. Move the Putty application to your Desktop.
Create a New Saved Session Named xlib01
  1. Open Putty and create a saved session named xlib01 for your Linux VPS.

    • In the Hostname field, type in your Linux VPS IP address
    • In the Saved Sessions field, type in the name xlib01
    • Click Save to save the session
Configure Putty to use an SSH Key
  1. Follow these steps to add the SSH key into the xlib01 Putty session.

    • Click on the saved session named xlib01 and click Load
    • Expand the SSH Category on the left side of the window
    • Click on the Auth Category so that it is highlighted
    • Click on Browse on the right, under to the field Private key file for authentication
    • Browse to the folder that contains your SSH private key
    • Select the sshprivatekey.ppk file and click Open
    • Scroll back up on the left under Category and click on the word Session, at the top of the window, to bring back the Saved Sessions page
    • Click on Save to save the SSH Key to the xlib01 session.
    • NOTE: This step is very important. Make sure that your server xlib01 is loaded in the Saved Sessions window and that you click Save. If this step is not completed successfully, then your SSH Key will not be saved to this session and you will have to repeat these steps again
  1. In the Putty window, click Open to connect to your Linux VPS.

    • Click Yes on the PuTTY Security Alert to install the security certificate
  1. Login as the root user and type in, or paste in, your root password.
    • The screen will not display your password
    • NOTE: For those using Digital Ocean as your VPS provider, you will be prompted to change your root password.
Configure the Linux VPS to use an SSH Key

You should be logged into the Linux VPS as the root user to complete the following steps:

  1. Change directory into the /root/.ssh directory or create it if necessary:

    cd /root/.ssh
    
  • NOTE: If the directory does not already exist then use this command to create it:

    mkdir /root/.ssh
    
  1. Create and edit the file named authorized_keys with the following command:

    nano /root/.ssh/authorized_keys
    
  1. Paste the SSH public key into the authorized_keys file on the Linux VPS. This is the public key that you generated and then copied from the PuttyGen application.

    • CRITICAL NOTE: The SSH key that you paste in should begin with the text ssh-rsa and should end with a date, such as rsa-key-20181012. If you do not get the entire key pasted into this file then the following steps will fail and you will have to repeat these steps.
  2. Save and close the file by hitting Ctrl-X, and then type Y to confirm that you want to save it, and then hit ENTER to confirm the file name.

    • NOTE: Your new SSH key is now saved in the /root/.ssh/authorized_keys file. All future logins with the root username will allow you to login without being prompted for a password.

Let’s test it!

  1. Duplicate the current Putty session and login as the root user. This will verify that you can now login to the Linux VPS without entering a password.

    • To duplicate the existing Putty session to the Linux VPS, click the icon of two computers on the top left of the Putty application window and then select Duplicate Session
    • NOTE: You should be automatically logged in to the Linux VPS without having to type in the root password

Warning

If you are not automatically logged in without typing in a password then you likely did not save the SSH key into the putty session correctly, or you did not save the entire SSH key into the Linxu VPS file /root/.ssh/authorized_keys. You will need to walk through the steps to save the SSH key in the Putty session and to ensure that the ENTIRE SSH key is added to the authorized_keys file on the Linux VPS before you proceed with the next section.

If you are able to use Putty to login to the Linux VPS without being prompted for a password then you are done configuring your SSH keys and can proceed to the next section to disable password logins and root login access.

For those of you that were already in the middle of the MasterNode setup process, you can return to the Finishing Touches section to configure the user rupxmn to use SSH keys.

These instructions are intended for PC users that want to generate an SSH key, download the Putty terminal emulator, and configure Putty to use the new SSH key. These steps are crucial for properly securing your Linux VPS from brute force password attacks.

This section covers the following steps:
  • Generate an SSH key
  • Connect to a Linux VPS using an SSH client
  • Use an SSH key to log in to the Linux VPS (aka passwordless login)

All Users - Disabling Password Logins and Root Login Access

These instructions are intended for all users that want to reduce the risk of brute force login attacks by disabling password logins and root login access. These procedures will improve security on your Linux VPS by requiring the correct SSH Key to be able to login. After completing these steps, any computer, or SSH session, that does not have the correct SSH Key installed will not be able to login to the Linux VPS, and you will no longer be able to remotely login to the Linux VPS using the root user.

Disabling password login capabilities

Warning

Do not perform the following steps until you are able to successfully login to the Linux VPS using an SSH key rather than your username and password.

  • You should be logged in to the Linux VPS as the root user to complete the following steps:
  1. The following commands will edit the SSH file /etc/ssh/sshd_config to disable password login capabilities, and will then restart the sshd service to apply the change:

    sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
    systemctl reload sshd
    

Disabling root login access

Warning

Do not perform the following steps until you have created the user xlibmn and are able to login to the Linux VPS using an SSH key with that new user.

  • You should be logged in to the Linux VPS as the root user to complete the following steps:
  1. The following commands will edit the SSH file /etc/ssh/sshd_config to disable root login access, and will then restart the sshd service to apply the change:

    sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
    systemctl reload sshd
    

Let’s test it!

  1. Open a duplicate session to the Linux VPS and login as root.
  • NOTE: It should no longer allow you to login as root and a pop up window should appear with the following error: Disconnected: No supported authentication methods available

If password authentication and root login access have been successfully disabled then you can proceed to the next section to begin the MasterNode Basic Setup.

These instructions are intended for those that want to learn how to connect to a Linux VPS via an SSH client, such as Terminal for Mac users, or Putty for PC users. These steps are crucial for properly securing your Linux VPS from brute force password attacks.

This section covers the following steps:
  • Generate an SSH key
  • Connect to a Linux VPS using an SSH client
  • Use an SSH key to log in to the Linux VPS (aka passwordless login)
  • Disable password logins
  • Disable root login access

MasterNodes

Setup Overview

This guide will walk you through the steps required to setup a Liberty MasterNode on a Linux server and to setup a Cold wallet on a Windows or Mac computer.

This guide assumes that you have a basic understanding of how to navigate the Linux OS for the setup of the MasterNode, and that you have an understanding of either a Windows or Mac OS for the setup of the Cold wallet.

Common Terminology

Hosted masternode

  • Professional service that manages the installation and maintenance of the MasterNode server. Running a masternode on your own does require an intermediate understanding of blockchains and server configuration, and while we do provide guides and tools to make this as easy as possible, we understand that many may still prefer to have someone take care of all the setup and maitenance. Several members of the blockchain community have emerged to provide dedicated hosting solutions for a fee. No technical experience is required as you need only provide them with payment for the collateral and hosting services to receive the block rewards.

Self-operated masternode

  • Personally managing the installation and maintenance of a MasterNode server. Users with the required skills or the desire to learn more about the inner workings of the Liberty network may choose to run their own MasterNode on a server of their choosing. There are several steps involved in this process and the user assumes the responsibility to set up, configure, maintain, and secure your masternode collateral. The following pages will get you started on your journey to understanding the masternode role and setting up your first masternode.

Hot Wallet

In this guide, we refer to the Hot wallet as the Liberty wallet that is running on a Linux or Windows VPS.

  • The VPS runs the MasterNode server.
  • The VPS requires a public IP address statically configured on it.
  • The Hot wallet provides services to the blockchain network, for which it’s rewarded with coins.
  • It’s referred to as Hot because it’s connected to and running on the public internet 24/7, directly accessible on the peer-to-peer port (TCP 10417).
  • Because this wallet is always running, it is much more vulnerable to attack than a Cold wallet. This is why is is highly recommended to use a Cold wallet to receive the MasterNode rewards.

Cold Wallet

On the other side, the Cold wallet, running on Windows, OSX, or Linux, holds the XLIB collateral (50000 XLIB).

  • The Cold wallet is used to both enable the MasterNode server and to collect the rewards for its’ services.
  • The Cold wallet is normally run at home, behind a firewall, on a Windows, OSX or Linux computer.
  • After the MasterNode is enabled, the Cold wallet can even be run without direct connectivity from the internet, making it a more secure wallet.
  • Once the MasterNode is enabled and verified as working, the Cold wallet can then be closed and the MasterNode rewards will still show up the next time the wallet is started and synchronized.

MasterNode Address

This is the public wallet address that is created in the Cold Wallet. It is the address you will use to hold the callateral coins, when you create the MasterNode. It will also be the address that receives newly minted coins.

Virtual Private Server (VPS)

In this guide, the VPS is referring to the Linux server that will be running the MasterNode Hot wallet.

Block Count

The current Liberty Block Count can be verified by browsing to the Liberty Blockchain Explorer and looking for the number in the Current Block box in the top left of the website.

Liberty Wallet Debug Console

In the Liberty Cold wallet, click on Tools and select Debug Console. The Debug Console will allow you to run commands to verify the following:
  • Current wallet version and how many active connections are established - getinfo
  • MasterNode status - getmasternodestatus
  • Remotely start your MasterNode - startmasternode alias false MN1
  • Check the current Block Count - getblockcount
  • Check the current Block Hash. - getblockhash <blockcount>
  • Export your wallet Private Key - dumpprivkey <walletaddress>

Running a MasterNode Hot wallet on a home computer is a bad idea

Some people want to save a few bucks and run a MasterNode Hot wallet at home on a retired PC or Laptop. Here’s why that is not a good idea:

  • The purpose of a MasterNode is to be a highly available system that is always reachable, has low network latency, and high bandwidth. These are rarely found in the average home.
  • Static IP addresses are also harder to get for residential users or they cost extra money.
  • You could loose out on MasterNode rewards if your node loses connectivity due to an Internet or computer outage.
  • Running old PCs and Laptops at home also costs energy, creates noise and they can be a fire risk when running 24/7.
  • Your IP address can be traced back to your home, therefore it is unsafe. This gives potential thieves and hackers a target.

Recommendation: Get a $5 a month Linux VPS from a provider such as Digital Ocean, Vultr, or AWS and save yourself from the possible loss of revenue when your home Internet or home computer goes down.

Basic Setup

VPS and Hot wallet Setup

These instructions are intended for those that are setting up a MasterNode Hot wallet on a Linux VPS. This wallet and server will run 24/7 and will provide services to the network via TCP port 10417 for which it will be rewarded with coins. It will run with an empty wallet balance, reducing the risk of losing the funds in the event of an attack.

Order and setup a Linux VPS
  1. Identify a VPS provider and order a Linux Ubuntu 16.04 server. It’s important not to run the VPS at home because of the risk of network instability that could cause loss of connectivity to the server. A VPS that meets the following requirements should cost around $5 per month.

    Recommended VPS Providers:


    VPS Minimum Requirements:

    • Linux - Ubuntu 16.04 - 64 Bit OS
    • 1GB of RAM
    • 20GB of disk space
    • Dedicated Public IP Address
  1. Login to the VPS provider website and configure the external firewall to allow SSH port 22 and the Liberty Wallet TCP port 10417.
  1. Login to the VPS, via SSH, as the root user.

    • If you need assistance using SSH then please refer to the VPS: Getting Started with an SSH client and SSH Keys section of the guide for more information on how to use SSH to connect to the Linux VPS.
    • If you are running a VPS from Digital Ocean, Vultr, or a similar provider, then you need to use an SSH client, such as Putty, if you want to have copy and paste functionality. Otherwise you will have to type all of the following commands out manually!
  1. Install Linux updates. Run the following commands one at a time:

    apt install make
    apt install aptitude -y
    apt-get update -y
    apt-get upgrade -y
    
  • NOTE: If a pop up window appears asking “What would you like to do about menu.list?” then select the option: keep the local version currently installed
  1. Install fail2ban and create modifiable configs for fail2ban and its jail settings. Run these commands one at a time to install basic ssh protection with fail2ban:

    apt-get install fail2ban -y
    cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
    cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
  1. Install tzdata. Run the following command to install the application that will allow you to select your clock timezone:

    apt install tzdata
    
  1. Set your time zone. Run the following command to set your preferred time zone:

    dpkg-reconfigure tzdata
    
  1. Configure a virtual swap space on the VPS to avoid running out of memory:

    fallocate -l 3000M /mnt/3000MB.swap
    dd if=/dev/zero of=/mnt/3000MB.swap bs=1024 count=3072000
    mkswap /mnt/3000MB.swap
    swapon /mnt/3000MB.swap
    chmod 600 /mnt/3000MB.swap
    echo '/mnt/3000MB.swap  none  swap  sw 0  0' >> /etc/fstab
    
  1. Configure the VPS internal firewall to allow SSH port 22 and the Liberty Wallet port 10417:

    ufw default deny incoming
    ufw default allow outgoing
    ufw allow 22/tcp
    ufw limit 22/tcp
    ufw allow 10417/tcp
    ufw logging on
    ufw --force enable
    
Create a New User and Login as xlibmn

OPTIONAL STEP: The following steps (1 - 3) are optional. These steps are strongly recommended for those that want to implement security best practices. These steps are recommended so that the Hot wallet is not installed under the root user account.

  • In these steps you will create a new user named xlibmn, set a password, grant that user root access, and login as the new user.
  • All advanced Liberty setup guides will assume that you used xlibmn as your user.
  • For those of you that want to continue to use root as your user instead of xlibmn, you can skip ahead to the next section Download and Configure the Liberty Hot Wallet.
  1. Create a new user named xlibmn and assign a password to the new user:

    useradd -m -s /bin/bash xlibmn
    passwd xlibmn
    
  • Type in a new password, as you are prompted, two times. Be sure to save this password somewhere safe, as you will need it to manage the MasterNode Hot wallet.
  1. Grant root access to the new user xlibmn:

    usermod -aG sudo xlibmn
    
  1. Login as the new user xlibmn:

    login xlibmn
    
Download and Configure the Liberty Hot wallet
  1. Install the Liberty Hot wallet on the VPS. Download and unpack the Liberty wallet binaries by running the following commands one at a time:

    wget https://s3.amazonaws.com/liberty-builds/5.1.1.0/linux-x64.tar.gz
    sudo tar xvzf linux-x64.tar.gz -C /usr/local/bin/
    
  1. Start the Hot wallet service. When the service starts, it will create the initial data directory ~/.liberty/:

    libertyd -daemon
    
  1. Generate the MasterNode private key (aka GenKey). Wait a few seconds after starting the wallet service and then run this command to generate the masternode private key:

    liberty-cli createmasternodekey
    
  1. Copy and save the MasterNode private key (GenKey) from the previous command to be used later in the process. The value returned should look similar to the below example:

    • 87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK
  1. Stop the Hot wallet with the liberty-cli stop command:

    liberty-cli stop
    
  1. Copy the liberty.conf template, paste it into a text editor, and update the variables manually. All variables that need to be updated manually are identified with the <> symbols around them:

    rpcuser=Libertyrpc
    rpcpassword=<alphanumeric_rpc_password>
    rpcport=10416
    rpcallowip=127.0.0.1
    rpcconnect=127.0.0.1
    rpcbind=127.0.0.1
    maxconnections=512
    listen=1
    daemon=1
    masternode=1
    masternodeaddr=<public_mn_ip_address_here>
    bind=<public_mn_ip_address_here>
    masternodeprivkey=<your_masternode_genkey_output>
    
  • Update the variable after rpcpassword= with a 40 character RPC rpcpassword.
  • You will need to generate the rpcpassword yourself.
  • Use the ifconfig command, on the Linux VPS, to find out your Linux VPS IP address. It is normally the address listed after the eth0 interface after the word inet addr:
  • Save your Linux VPS IP address as we are going to use this IP again in the Cold wallet setup
  • Update the variable after masternodeaddr= with your Linux VPS IP
  • Update the variable after bind= with your Linux VPS IP
  • Update the variable after masternodeprivkey= with your MasterNode private key (GenKey)
  • Once all of the fields have been updated in the text editor, copy the template into your clipboard to be used in the next steps.
  1. Edit the MasterNode Hot wallet configuration file ~/.liberty/liberty.conf:

    nano ~/.liberty/liberty.conf
    
  1. Paste the updated template into the liberty.conf configuration file on the Linux VPS.
  • You can right click in Putty to paste the template into the configuration file.

  • This is a real example of what the configuration file should look like when you are done updating the variables.

  • The rpcpassword, IP address (199.247.10.25 in this example), and masternodeprivkey will all be different for you:

    rpcuser=xlibuser
    rpcpassword=someSUPERsecurePASSWORD3746375620
    rpcport=10416
    rpcallowip=127.0.0.1
    rpcconnect=127.0.0.1
    rpcbind=127.0.0.1
    maxconnections=512
    listen=1
    daemon=1
    masternode=1
    masternodeaddr=199.247.10.25
    bind=199.247.10.25
    masternodeprivkey=87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK
    
  1. Save and exit the file by typing CTRL+X and hit Y + ENTER to save your changes.
  1. Restart the Hot wallet with the libertyd -daemon command:

    libertyd -daemon
    
Verify the Hot wallet is synchronizing with the blockchain
  1. Run the liberty-cli getinfo command to make sure that you see active connections:

    liberty-cli getinfo
    
  1. Run the liberty-cli getblockcount command every few mins until you see the blocks increasing:

    liberty-cli getblockcount
    
  • NOTE: If your block count is NOT increasing then you will need to stop the Hot wallet with the liberty-cli stop command and then reindex with the libertyd -reindex command.
  • NOTE: If you did the reindex and you continue to have issues with establishing connections then check that the VPS provider external firewall is setup correctly to allow TCP port 10417 from anywhere. If that is not setup correctly then you will not be able to proceed beyond this step.

If your block count is indeed increasing, then you can proceed to the next step to setup the Cold wallet.

Cold Wallet Setup

These instructions are intended for those that are installing the new Liberty Coin wallet on your personal Windows or Mac computer. The Cold wallet is where the MasterNode collateral will be locked. After the setup is complete, this wallet will be the one receiving the MasterNode rewards. This wallet will not have to run 24/7, once the setup is complete.

Requirements:
  • Windows 7 or higher, Mac OS, or Linux
  • Outgoing internet access to sync the blockchain and enable the MasterNode remotely
Install the Liberty Cold Wallet
  1. Open the following URL in a web browser to download the appropriate wallet version for your system:

Warning

Do not install the new wallet on the computer that contains an existing Liberty wallet that is currently holding XLIB coins. You will need to either install the new wallet on a different computer or move your coins to a different computers’ wallet, prior to installing the new wallet. This is to prevent any chance that the new wallet will overwrite your current wallet and cause you to lose your coins.

  1. Be sure that your existing wallet.dat and private keys are backed up from the old wallet. We strongly recommend backing up your wallet.dat and private keys prior to starting this process.
  1. Rename the old Liberty directory to something like Liberty4. This will prevent the new wallet install from conflicting with any of the existing data. This is only required if the computer contains the old Liberty wallet:

    • Mac: ~/Library/Application Support/Libertycore
    • Windows: ~/AppData/Roaming/Libertycore
  • NOTE: If you are confident that you no longer need this old data then you can just delete the old Liberty directory instead of renaming it.

Warning

Do not delete the current wallet directory if the existing wallet still has coins in it. You should be doing this install on a computer that does not currently have a Liberty wallet that contains coins.

  1. Unzip the wallet files and move the Liberty-cli and Liberty-qt files onto the Desktop or Application folder.

    • If prompted, confirm that you want to replace the existing file(s).

5.Double click the Liberty-qt file to open and install the new wallet.

  • If you are prompted to use a data directory then select the radio button next to Use the default data directory and click OK
  • Accept any pop ups asking to confirm if you want to continue with the installation
  • When prompted, select Use the default data directory and click OK
  • If prompted by security or antivirus software, click Allow Always
  • The new wallet should now open and begin to synchronize with the network
Create a MN1 Wallet Address and Send it the 50000 Collateral Coins
  1. Create a receiving address named MN1. This wallet address will be used for the MasterNode collateral funds.

    • Go to File -> Receiving addresses
    • Click New, type in a label and press Ok.
    • Select the row of the newly added address and click Copy to store the destination address in the clipboard.
    • You can name the wallet with a description such as “MN1” by right clicking it and selecting “Edit”.
  1. Send EXACTLY 50000 XLIB coins to the MN1 address. Double check you’ve got the correct address before transferring the funds.

    • After sending, you can verify the balance in the Transactions tab. This can take a few minutes to be confirmed by the network. Go get a glass of water. No alcoholic beverages please, we are not out of the woods yet.

Warning

If you are sending from an exchange, make sure you account for the withdrawal fee so that you get EXACTLY EXACTLY EXACTLY 50000 XLIB in the new wallet address. This is a common error that will cause the next step to not give you the transaction id that is needed.

Output your MN TXhash and Outputidx and update the MasterNode configuration file
  1. Open the Debug console.

    Go to Tools -> Debug console

  1. Run the getmasternodeoutputs command to retrieve the transaction ID of the new MN1 wallet that contains the 50000 XLIB collateral:

    getmasternodeoutputs
    
  • You should see an output that looks like this in the Debug console:

    ‘“txhash” : “c19972e47d2a77d3ff23c2dbd8b2b204f9a64a46fed0608ce57cf76ba9216487”,’ ‘“outputidx” : 1’

NOTE: If you do not get output resembling the above example then you likely do not have EXACTLY 50000 XLIB in the MN1 wallet address. You will need to resolve this issue and ensure that ONLY and EXACTLY 50000 XLIB is in the MN1 address and that it is in a single input.

  1. Copy and save the txhash and outputidx.

    • Both the txhash and outputidx will be used in the next step.
    • The outputidx will be either a 0 or 1, both are valid values.
  1. Go to Tools -> Open Masternode Configuration File to open the masternode.conf file.

    • If you get prompted to choose a program, select a text editor like Notepad/TextEdit to open it.

    • These are the default directories for the Liberty data directory where this file is stored:

      • Mac: ~/Library/Application Support/Liberty
      • Windows: ~/AppData/Roaming/Liberty
  2. Copy the following template and paste it into the masternode.conf file, on a new line:

    MN1 <public_mn_ip_address_here>:10417 <your_masternode_genkey_output> <collateral_output_txid> <collateral_output_index>
    
  3. Update the masternode.conf file variables as instructed below.

  • Leave MN1 as is. This is the node’s alias and will be used in the Cold wallet Debug Console to enable the MasterNode.

  • Replace the variable <public_mn_ip_address_here> with your Linux VPS IP address.

  • Leave :10417 as is and ensure that there are no spaces between the IP address and the port. This is the TCP port that the Liberty wallet uses.

  • Replace the variable <your_masternode_genkey_output> with your masternode private key (aka GenKey) that you received as output from the liberty-cli createmasternodekey command on the Linux VPS.

  • Replace the variable <collateral_output_txid> with the txhash that you received as output from the getmasternodeoutputs command in the Cold wallet Debug Console.

  • Replace the variable <collateral_output_index> with the outputidx that you received as output from the getmasternodeoutputs command in the Cold wallet Debug Console.

  • NOTE: Below is an example of what the newly added line will look like once you have updated it will all of the required information. All of the information should be contained in a single line with no carriage returns:

    MN1 199.247.10.25:10417 87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK c19972e47d2a77d3ff23c2dbd8b2b204f9a64a46fed0608ce57cf76ba9216487 1
    
  1. Restart the Cold wallet to pick up the changes to the masternode.conf file.
Verify the Masternode.conf File is Configure Correctly
  1. Open the Debug console and run the command listmasternodeconf:

    listmasternodeconf
    
  • Verify that the output matches what you entered in the masternode.conf file.
  1. Go to the Masternodes tab and verify that the newly added MasterNode is listed.

    • You should now see the newly added MasterNode with a status of MISSING.
  • NOTE: If you want to control multiple MasterNode Hot wallets from this Cold wallet, you will need to repeat the previous steps to create a new MN wallet address, send it the 50000 collateral coins, and update the masternode.conf file. The masternode.conf file requires an entry for each MasterNode that you will be managing with this Cold wallet.
Start the MasterNode from the Cold Wallet

Warning

It is very important that you let the MasterNode Hot wallet synchronize for a couple of hours prior to starting it from the Cold wallet. If you attempt to start it before it is fully synchronized then it will fail.

  1. Run the startmasternode alias false MN1 command, in the Cold wallet Debug console, in order to enable the MasterNode:

    startmasternode alias false MN1
    
  • In the example above, the alias of the MasterNode is MN1. In your case, it might be different and is based on what you entered as the first word in the masternode.conf file.
  • You should get multiple lines of output. If one of the lines of output says “result” : successful” then you can proceed to the next step to verify the MasterNode started correctly on the VPS Hot wallet.
  • If you did not get the successful output then there is likely an issue with the masternode.conf file that needs to be resolved first.

If you received the output that shows the MasterNode started successfully then you can proceed to the next step to verify that your MasterNode started correctly from the VPS Hot wallet.

Verify the MasterNode Hot Wallet Started Successfully

  1. Login to the Linux VPS console, via Putty or Terminal, as the user rupxmn (or the user that you used to install the Hot wallet).

  2. Run the command cat ~/.liberty/debug.log | grep HotCold:

    cat ~/.liberty/debug.log | grep HotCold
    
  • If the MasterNode started correctly then you will receive the following output: “CActiveFundamentalnode::EnableHotColdFundamentalNode() - Enabled! You may shut down the cold daemon.”
  • Output from this command will only show up if your MasterNode started successfully. If you do not receive the expected output, then your MasterNode did not start successfully.
  • The most common cause of this issue is attempting to start the MasterNode before the Hot wallet is fully synchronized. Wait a couple of hours and then try to start it from the Cold wallet again.
  1. Run the following command to verify the status of the MasterNode:

    liberty-cli getmasternodestatus
    
  • If you see status Not capable masternode: Hot node, waiting for remote activation, you need to wait a bit longer for the blockchain to reach consensus. It’s common to take 60 to 120 minutes before the activation can be done.

  • If you see status MasterNode successfully started as well as the HotCold output from the first command then CONGRATULATIONS your MasterNode Hot wallet is now successfully enabled.

    • NOTE: It will take a few hours until the first rewards start coming in. The time before the first payout will increase as more MasterNodes come online.
  1. Check the MasterNode tracker website http://liberty5.mn.zone to see that your MasterNode(s) are showing up on the site.
  • You will need to search by your MN1 wallet address or your Linux VPS IP address to locate it on the website.
  • The site is refreshed every 5 minutes so don’t be surprised if it takes up to 5 minutes to show up on the website.

Congratulations! The initial setup process is complete and your MasterNode is fully operational! You can proceed to the Finishing Touches section to enable logrotate and Hot wallet auto start.

These instructions are intended for users that want to setup a MasterNode on a Linux VPS and a Cold wallet on a PC or Mac computer.

If you are an advanced user and would like to skip some of the explanations that are provided in the Basic Setup Guide, then I recommend using the Advanced Setup Guid.

Finishing Touches

This section is intended for MasterNode users that want to configure the following:

Configure the User xlibmn to Use SSH Keys

These instructions will walk you through the steps to configure the Linx VPS to allow the user xlibmn to login using an SSH key rather than the user password. These steps are crucial for properly securing your Linux VPS from brute force password attacks.

Prerequisites
  1. Generate an SSH key:

  2. Configure your terminal emulator to use the SSH Key:

Warning

Do not proceed with the following steps until the above prerequisites have been completed successfully. You will need to already be able to login to the Linux VPS, as the root user, using an SSH key for the following steps to work properly.

Implementation Steps
  1. Login to the Linux VPS as the root user.

  2. Create a directory named .ssh in the /home/xlibmn/ directory:

    mkdir /home/xlibmn/.ssh
    
  3. Copy the file named authorized_keys from the directory /root/.ssh to the directory /home/xlibmn/.ssh:

    cp /root/.ssh/authorized_keys /home/xlibmn/.ssh
    
  4. Change ownership of the authorized_keys file from root to the user xlibmn:

    chown xlibmn:xlibmn /home/xlibmn/.ssh/authorized_keys
    

Let’s test it!

  1. Open a duplicate session to the Linux VPS and login as the user xlibmn.
  • You should now be logged in without having to enter your password.
  • For PC users, be sure that the Putty session has the SSH key saved, or this step will fail.

If you are able to login to the Linux VPS with the user xlibmn, without having to type in your password, then you can proceed to the next section to disable password logins and root login access.

Disable Password Logins and Root Login Access

These instructions are intended for all users that want to reduce the risk of brute force login attacks by disabling password logins and root login access. These procedures will improve security on your Linux VPS by requiring the correct SSH Key to be able to login. After completing these steps, any computer, or SSH session, that does not have the correct SSH Key installed will not be able to login to the Linux VPS, and you will no longer be able to remotely login to the Linux VPS using the root user.

Disabling password login capabilities

Warning

Do not perform the following steps until you are able to successfully login to the Linux VPS using an SSH key rather than your username and password.

  1. Connect to the Linux VPS and login as the xlibmn user.

  2. Elevate to the root user. This is necessary because the other steps in this process require elevated privileges:

    sudo -i
    
  3. The following commands will edit the SSH file /etc/ssh/sshd_config to disable password login capabilities, and will then restart the sshd service to apply the change:

    sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
    systemctl reload sshd
    
Disabling root login access

Warning

Do not perform the following steps until you have created the user xlibmn and are able to login to the Linux VPS using an SSH key with that new user.

  • You should be logged in to the Linux VPS as the root user to complete the following steps:
  1. The following commands will edit the SSH file /etc/ssh/sshd_config to disable root login access, and will then restart the sshd service to apply the change:

    sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
    systemctl reload sshd
    

Let’s test it!

  1. Open a duplicate session to the Linux VPS and login as root.
  • NOTE: It should no longer allow you to login as root and a pop up window should appear with the following error: Disconnected: No supported authentication methods available

If password authentication and root login access have been successfully disabled then you can proceed to the next section to configure logrotate.

Configure Logrotate

This section is intended for MasterNode users that want to configure automatic log rotation. This is to prevent the log files from filling up the Linux VPS hard drive. If you do not occassionally clean up the log files then your Linux VPS hard drive will eventually fill up and the server will crash. Completing the steps in this section will configure your Linux VPS to automatically clean up the logs every 30 days, rather than having to do it manually. This is a necessary step for anyone running a MasterNode.

  1. Connect to your Linux VPS and login as xlibmn.

  2. Elevate to root level privelege:

    sudo -i
    
  3. Run the following command to create and edit the file /etc/logrotate.d/liberty:

    nano /etc/logrotate.d/liberty
    
  • If prompted, type in the number 2 and hit ENTER to select Nano as your text editor
  1. Copy the following text and paste it into the file:

    /home/xlibmn/.liberty/*.log {
            su root adm
            size 3M
            daily
            missingok
            rotate 30
            copytruncate
            dateext
            compress
            notifempty
            create
    }
    
  • Save and close the file by hitting Ctrl-X, and then type Y to confirm that you want to save it, and then hit ENTER to confirm the file name.
  1. Run the following command to initialize logrotate:

    logrotate /etc/logrotate.d/liberty --state /home/xlibmn/logrotate-state --verbose
    
  2. Run the following command to open and edit the crontab file:

    crontab -e
    
  • If prompted, type in the number 2 and hit ENTER to select Nano as your text editor
  1. Copy the following text and paste it on a new line at the bottom of the crontab file:

    0 1 * * * /usr/sbin/logrotate /etc/logrotate.d/liberty --state /home/xlibmn/logrotate-state
    
  • Save and close the file by hitting Ctrl-X, and then type Y to confirm that you want to save it, and then hit ENTER to confirm the file name.
  • This above line added to the crontab file will configure the Linux VPS to initialize logrotate when the Linux VPS is rebooted.

Now that logrotate is configured, you can proceed to the next section to automatically start the MasterNode Hot wallet when the Linux VPS reboots

Enable Hot Wallet Auto Start

This section is intended for MasterNode users that want to configure the Linux VPS to automatically start the MasterNode Hot wallet when the Linux VPS is rebooted.

  1. Connect to your Linux VPS and login as xlibmn.

  2. Elevate to root level privelege:

    sudo -i
    
  3. Run the following command to create and edit the file /etc/cron.d/resetliberty. This file will be used to tell the server to restart the Hot wallet upon bootup:

    nano /etc/cron.d/resetliberty
    
  4. Copy the following text and paste it into the resetliberty file. This will create a cronjob that will start the Hot wallet automatically in the event that the server is rebooted:

    @reboot xlibmn sleep 5 && /usr/local/bin/libertyd
    
  • Save and close the file by hitting Ctrl-X, and then type Y to confirm that you want to save it, and then hit ENTER to confirm the file name.
  1. Reboot the Linux VPS to test and verify that the Hot wallet will restart upon boot:

    reboot
    
  2. Wait a couple minutes and then reconnect your Linux VPS and login as xlibmn.

  • It will take a couple of minutes for the Linux VPS to reboot.
  1. Run the command ps -ef |grep libertyd to verify the Hot wallet is running:

    ps -ef |grep libertyd
    
  • You should get two lines of output, and one of the lines will have the text /usr/local/bin/libertyd.
  • If you only get one line of text with the output grep –color=auto liberty then the wallet is not running and you will need to walk through the above steps again.
  1. Run the command liberty-cli getblockcount to verify that your Hot wallet is indeed running and that your block count is increasing:

    liberty-cli getblockcount
    
  2. Verify that your MasterNode is still showing up on the MasterNode tracker website. The site is refreshed every 5 minutes so check it a few times just to be sure.

If the MasterNode Hot wallet automatically restarts after a reboot then you have successfully completed this section. CONGRATULATIONS!! The setup of your MasterNode is now fully complete!

NOTE: There is no need to proceed to the next section since all of the configuration steps have been completed.

Advanced Setup

VPS and Hot wallet Setup

These instructions are intended for advanced users that are setting up a MasterNode Hot wallet on a Linux VPS and don’t want to waste time with all those pesky details and explanations.

Order and setup a Linux VPS
  1. Identify a VPS provider and order a Linux Ubuntu 16.04 server.

    Recommended VPS Providers:


    VPS Requirements

    • Linux - Ubuntu 16.04 - 64 Bit OS
    • 1GB of RAM
    • 20GB of disk space
    • Dedicated Public IP Address
  2. Login to the VPS provider website and configure the external firewall to allow SSH port 22 and the Liberty Wallet TCP port 10417.

  3. Login to the VPS, via SSH, as the root user.

  4. Install Linux updates:

    apt install make
    apt install aptitude -y
    apt-get update -y
    apt-get upgrade -y
    
  5. Install fail2ban and create modifiable configs for fail2ban and its jail settings. Run these commands one at a time to install basic ssh protection with fail2ban:

    apt-get install fail2ban -y
    cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
    cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
  6. Install tzdata. Run the following command to install the application that will allow you to select your clock timezone:

    apt install tzdata
    
  7. Set your time zone. Run the following command to set your preferred time zone:

    dpkg-reconfigure tzdata
    
  8. Configure a virtual swap space on the VPS to avoid running out of memory:

    fallocate -l 3000M /mnt/3000MB.swap
    dd if=/dev/zero of=/mnt/3000MB.swap bs=1024 count=3072000
    mkswap /mnt/3000MB.swap
    swapon /mnt/3000MB.swap
    chmod 600 /mnt/3000MB.swap
    echo '/mnt/3000MB.swap  none  swap  sw 0  0' >> /etc/fstab
    
  9. Configure the VPS internal firewall to allow SSH port 22 and the Liberty Wallet port 10417:

    ufw allow 22/tcp
    ufw limit 22/tcp
    ufw allow 10417/tcp
    ufw logging on
    ufw --force enable
    
Create a New User and Login as xlibmn
  1. Create a new user named xlibmn and assign a password to the new user:

    useradd -m -s /bin/bash xlibmn
    passwd xlibmn
    
  2. Grant root access to the new user xlibmn:

    usermod -aG sudo xlibmn
    
  3. Login as the new user xlibmn:

    login xlibmn
    
Download and Configure the Liberty Hot wallet
  1. Install the Liberty Hot wallet on the VPS:

    wget https://s3.amazonaws.com/liberty-builds/5.0.58.0/linux-x64.tar.gz
    sudo tar xvzf linux-x64.tar.gz -C /usr/local/bin/
    
  2. Start the Hot wallet:

    libertyd -daemon
    
  3. Generate the MasterNode private key (aka GenKey):

    liberty-cli createmasternodekey
    
  4. Copy and save the MasterNode private key (GenKey) from the previous command to be used later in the process:

  5. Stop the Hot wallet with the liberty-cli stop command:

    liberty-cli stop
    
  6. Copy the liberty.conf template, paste it into a text editor, and update the variables manually:

    rpcuser=Libertyrpc
    rpcpassword=<alphanumeric_rpc_password>
    rpcport=10416
    rpcallowip=127.0.0.1
    rpcconnect=127.0.0.1
    rpcbind=127.0.0.1
    maxconnections=512
    listen=1
    daemon=1
    masternode=1
    externalip=<public_mn_ip_address_here>:10417
    masternodeaddr=<public_mn_ip_address_here>
    masternodeprivkey=<your_masternode_genkey_output>
    
  7. Edit the MasterNode Hot wallet configuration file ~/.liberty/liberty.conf:

    nano ~/.liberty/liberty.conf
    
  8. Paste the updated template into the liberty.conf configuration file on the Linux VPS.

  9. Save and exit the file by typing CTRL+X and hit Y + ENTER to save your changes.

  10. Restart the Hot wallet with the libertyd -daemon command:

    libertyd -daemon
    
Verify the Hot wallet is synchronizing with the blockchain
  1. Run the liberty-cli getinfo command to make sure that you see active connections:

    liberty-cli getinfo
    
  2. Run the liberty-cli getblockcount command every few mins until you see the blocks increasing:

    liberty-cli getblockcount
    
  • NOTE: If your block count is NOT increasing then you will need to stop the Hot wallet with the liberty-cli stop command and then reindex with the libertyd -reindex command.
  • NOTE: If you did the reindex and you continue to have issues with establishing connections then check that the VPS provider external firewall is setup correctly to allow TCP port 10417 from anywhere. If that is not setup correctly then you will not be able to proceed beyond this step.

If your block count is indeed increasing, then you can proceed to the next step to setup the Cold wallet.

Cold Wallet Setup

These instructions are intended for advanced users that are setting up a Cold wallet and don’t want to waste time with all those pesky details and explanations.

Requirements:
  • Windows 7 or higher, Mac OS, or Linux
  • Outgoing internet access to sync the blockchain and enable the MasterNode remotely
Install the Liberty Cold Wallet
  1. Open the following URL in a web browser to download the appropriate wallet version for your system:

  2. Be sure that your existing wallet.dat and private keys are backed up from the old wallet. We strongly recommend backing up your wallet.dat and private keys prior to starting this process.

  3. Rename the old Liberty directory to something like Liberty4. This will prevent the new wallet install from conflicting with any of the existing data. This is only required if the computer contains the old Liberty wallet:

    • Mac: ~/Library/Application Support/Libertycore
    • Windows: ~/AppData/Roaming/Libertycore
  4. Unzip the wallet files and move the Liberty-cli and Liberty-qt files onto the Desktop or Application folder.

5.Double click the Liberty-qt file to open and install the new wallet.

Create a MN1 Wallet Address and Send it the 50000 Collateral Coins
  1. Create a receiving address named MN1. This wallet address will be used for the MasterNode collateral funds.
  2. Send EXACTLY 50000 XLIB coins to the MN1 address. Double check you’ve got the correct address before transferring the funds.

Warning

If you are sending from an exchange, make sure you account for the withdrawal fee so that you get EXACTLY EXACTLY EXACTLY 50000 XLIB in the new wallet address. This is a common error that will cause the next step to not give you the transaction id that is needed.

Output your MN TXhash and Outputidx and update the MasterNode configuration file
  1. Open the Debug console.

  2. Run the getmasternodeoutputs command to retrieve the transaction ID of the new MN1 wallet that contains the 50000 XLIB collateral:

    getmasternodeoutputs
    
  3. Copy and save the txhash and outputidx.

  4. Go to Tools -> Open Masternode Configuration File to open the masternode.conf file.

  5. Copy the following template and paste it into the masternode.conf file, on a new line:

    MN1 <public_mn_ip_address_here>:10417 <your_masternode_genkey_output> <collateral_output_txid> <collateral_output_index>
    
  6. Update the masternode.conf file variables as instructed below.

  • Leave MN1 as is.

  • Replace the variable <public_mn_ip_address_here> with your Linux VPS IP address.

  • Leave :10417 as is and ensure that there are no spaces between the IP address and the port.

  • Replace the variable <your_masternode_genkey_output> with your masternode private key (aka GenKey).

  • Replace the variable <collateral_output_txid> with the txhash.

  • Replace the variable <collateral_output_index> with the outputidx.

  • NOTE: Below is an example of what the newly added line will look like once you have updated it will all of the required information:

    MN1 199.247.10.25:10417 87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK c19972e47d2a77d3ff23c2dbd8b2b204f9a64a46fed0608ce57cf76ba9216487 1
    
  1. Restart the Cold wallet to pick up the changes to the masternode.conf file.
Verify the Masternode.conf File is Configure Correctly
  1. Open the Debug console and run the command listmasternodeconf:

    listmasternodeconf
    
  • Verify that the output matches what you entered in the masternode.conf file.
  1. Go to the Masternodes tab and verify that the newly added MasterNode is listed.

    • You should now see the newly added MasterNode with a status of MISSING.
Start the MasterNode from the Cold Wallet

Warning

It is very important that you let the MasterNode Hot wallet synchronize for a couple of hours prior to starting it from the Cold wallet. If you attempt to start it before it is fully synchronized then it will fail.

  1. Run the startmasternode alias false MN1 command, in the Cold wallet Debug console, in order to enable the MasterNode:

    startmasternode alias false MN1
    
  • You should get multiple lines of output. If one of the lines of output says “result” : successful” then you can proceed to the next step to verify the MasterNode started correctly on the VPS Hot wallet. If you did not get the successful output then there is likely an issue with the masternode.conf file that needs to be resolved first.

If you received the output that shows the MasterNode started successfully then you can proceed to the next step to verify that your MasterNode started correctly from the VPS Hot wallet.

Verify the MasterNode Hot Wallet Started Successfully

  1. Login to the Linux VPS console as the user xlibmn (or the user that you used to install the Hot wallet).

  2. Run the command cat ~/.liberty/debug.log | grep HotCold:

    cat ~/.liberty/debug.log | grep HotCold
    
  • If the MasterNode started correctly then you will receive the following output: “CActiveFundamentalnode::EnableHotColdFundamentalNode() - Enabled! You may shut down the cold daemon.”
  • Output from this command will only show up if your MasterNode started successfully. If you do not receive the expected output, then your MasterNode did not start successfully.
  • The most common cause of this issue is attempting to start the MasterNode before the Hot wallet is fully synchronized. Wait a couple of hours and then try to start it from the Cold wallet again.
  1. Run the following command to verify the status of the MasterNode:

    liberty-cli getmasternodestatus
    
  • If you see status Not capable masternode: Hot node, waiting for remote activation, you need to wait a bit longer for the blockchain to reach consensus. It’s common to take 60 to 120 minutes before the activation can be done.

  • If you see status MasterNode successfully started as well as the HotCold output from the first command then CONGRATULATIONS your MasterNode Hot wallet is now successfully enabled.

    • NOTE: It will take a few hours until the first rewards start coming in. The time before the first payout will increase as more MasterNodes come online.
  1. Check the MasterNode tracker website http://liberty5.mn.zone to see that your MasterNode(s) are showing up on the site.
  • You will need to search by your MN1 wallet address or your Linux VPS IP address to locate it on the website.
  • The site is refreshed every 5 minutes so don’t be surprised if it takes up to 5 minutes to show up on the website.

Congratulations! The initial setup process is complete and your MasterNode is fully operational! You can proceed to the Finishing Touches section.

This section of the guide is for advanced users that do not require explanations for each task. The Advanced Setup guide provides you with the steps and commands necessary to setup the Linux VPS, Hot wallet, and Cold wallet without providing details about how or why each step is being performed.

Scripts and Config File Templates

gdiscord Install Script

This section is to provide MasterNode users with a simple install script to setup a masternode with a docker image.

  • First retrieve the script on your fresh linux VPS.:

    wget https://raw.githubusercontent.com/gdiscord/cryptocoins/master/start_xlib_mn.sh && chmod +x ./start_xlib_mn.sh
    
  • Then run the script and it will prompt you with the proper usage documentation.:

    ./start_xlib_mn.sh
    
  • NOTE: Must be run as ‘root’

Hot Wallet Configuration File

This section is to provide MasterNode users with a template to use for the Hot wallet file liberty.conf. This file is updated during the setup of the Linux VPS and the Hot wallet. This section contains both a template and an example of what the file should look like once it is updated.

  • The file liberty.conf is located on the Linux VPS in the following directory:

    • ~/.liberty/liberty.conf

TEMPLATE

Below is the template for the Hot wallet liberty.conf file. Copy and paste this template into a text editor, and update the variables manually. All variables that need to be updated manually are identified with the <> symbols around them:

rpcuser=libertyrpc
rpcpassword=<alphanumeric_rpc_password>
rpcport=10416
rpcallowip=127.0.0.1
rpcconnect=127.0.0.1
rpcbind=127.0.0.1
maxconnections=512
listen=1
daemon=1
masternode=1
externalip=<public_mn_ip_address_here>:10417
masternodeaddr=<public_mn_ip_address_here>
masternodeprivkey=<your_masternode_genkey_output>
  • Update the variable after rpcpassword= with a 40 character RPC rpcpassword.
  • You will need to generate the rpcpassword yourself.
  • Use the ifconfig command, on the Linux VPS, to find out your Linux VPS IP address. It is normally the address listed after the eth0 interface after the word inet addr:
  • Update the variable after externalip= with your Linux VPS IP. Ensure that there are no spaces between the IP address and the port :10417
  • Update the variable after masternodeaddr= with your Linux VPS IP
  • Update the variable after masternodeprivkey= with your MasterNode private key (GenKey)

EXAMPLE

Below is what the file should look like once it is updated and pasted into the ~/.liberty/liberty.conf file on the Linux VPS.

  • This is a real example of what the configuration file should look like when you are done updating the variables.

  • The rpcpassword, IP address (199.247.10.25 in this example), and masternodeprivkey will all be different in your configuration file:

    rpcuser=xlibuser
    rpcpassword=someSUPERsecurePASSWORD3746375620
    rpcport=10416
    rpcallowip=127.0.0.1
    rpcconnect=127.0.0.1
    rpcbind=127.0.0.1
    maxconnections=512
    listen=1
    daemon=1
    masternode=1
    externalip=199.247.10.25:10417
    masternodeaddr=199.247.10.25
    masternodeprivkey=87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK
    

Cold Wallet Masternode Configuration File

This section is to provide MasterNode users with a template to use for the Cold wallet file masternode.conf. This file is updated during the setup of the Cold wallet. This section contains both a template and an example of what the file should look like once it is updated.

  • The file masternode.conf is located on the computer running the Cold wallet and can be found in the following directory:

    • Mac: ~/Library/Application Support/Liberty
    • Windows: ~/AppData/Roaming/Liberty

TEMPLATE

Below is a template for the masternode.conf file. Every word in this template is a variable that needs to be replaced with your specific information:

alias IP:port masternodeprivkey collateral_output_txid collateral_output_index
  • Replace alias with the node alias that you wish to use. For consistency sake, we recommend using MN1
  • Replace IP with the external IP address of the Linux VPS MasterNode server.
  • Replace port with 10417 which is the TCP port that is used by the wallet to establish connections.
  • Replace masternodeprivkey with the masternode private key (aka GenKey) that you received as output from the liberty-cli createmasternodekey command on the Linux VPS.
  • Replace collateral_output_txid with the txhash that you received as output from the getmasternodeoutputs command in the Cold wallet Debug Console.
  • Replace collateral_output_index with the outputidx that you received as output from the getmasternodeoutputs command in the Cold wallet Debug Console.

EXAMPLE

Below is an example of what the newly added line in the masternode.conf file will look like once you have updated it will all of the required information. All of the information should be contained in a single line with no carriage returns:

MN1 199.247.10.25:10417 87LBTcfgkepEddWNFrJcut76rFp9wQG6rgbqPhqHWGvy13A9hJK c19972e47d2a77d3ff23c2dbd8b2b204f9a64a46fed0608ce57cf76ba9216487 1

Cold Wallet Configuration File

This section is to provide users with a list of possible options that you can configure in the Cold wallet file liberty.conf. These settings are optional and are not configured by default. By default, the wallet configuration file is blank.

  • The file liberty.conf is located on the computer running the Cold wallet and can be found in the following directory:

    • Mac: ~/Library/Application Support/Liberty
    • Windows: ~/AppData/Roaming/Liberty
  1. Disable staking:

    staking=0
    
  2. Enable staking:

    staking=1
    
  3. Disable XLIBz autominting:

    enablezeromint=0
    
  4. Enable XLIBz autominting:

    enablezeromint=1
    
  5. Configure the wallet to auto mint 20% of staking rewards into XLIBz instead of XLIB. The number can be modified from 1 - 100:

    zeromintpercentage=20
    
  6. Disable the wallet from writing to the debug.log. This will prevent the debug.log file from growing too large and filling up your hard drive:

    printtoconsole=1
    

This section is to provide users with automation scripts and the common templates that are used during the setup process.

Introduction

MasterNodes are servers with a pre-determined amount of collateral backing their power to validate transactions on the network. Features of the MasterNode network include anonymous and instant transactions, as well as governance of the development of the Liberty network through a monthly budget and voting. This in itself is a first in the crypto world, and MasterNodes are necessary to achieve the privacy and speed that Liberty offers.

Your MasterNode server, running the Liberty Coin Hot wallet, is enabled to validate transactions on the blockchain. For this validation service you are rewarded in two ways. The most straightforward way is in the case of MasterNode Rewards (set amount of currency). The second is through the governance system. Proposals are submitted and only MasterNode owners may vote on those proposals and thereby you help to control the growth and development of your investment.

Requirements

  • Collateral: 50000 XLIB
  • Linux VPS to run the MasterNode Hot wallet
  • Personal computer (i.e. PC or Mac) to run the Cold wallet
  • Basic Linux skills
  • Basic computer skills

Warning

It’s very common in this industry for scammers to offer “help” via remote screen sharing (TeamViewer, Skype, Zoom, WebEx, etc). They will use nicknames like MasterNode Helper, MasterNode Support, Cryptopia Support and will be very nice and helpful to you. At least until they manage to run a command like dumpprivkey, sendtoaddress and your funds will be gone, adios, sayonara. Please be aware and stay safe!