P/s: Recommend to setup Manual Cold Staking


Introduction 

Bitcoin Confidential Core Wallet allows the user to run two types of staking: Hot and Cold.

For Hot Staking, your local wallet must be running on your PC to receive rewards. 

Cold Staking allows you to close your local wallet because you set the remote stake address on your VPS (Virtual Private Server). 

In this guide we'll take a look at how to configure both types of Staking in detail. 

Although the ROI between these types is the same, it is recommended to use Cold Staking to ensure higher security as your BC will not be exposed to the outside world 24/7


Note: 

Airdrop funds (after import) are already on the stake address, so you don't need to do a "Convert to Staking".


Hot Staking (not recommend) 

Note: For Hot Staking, your wallet must be constantly running.


1. Create an address in the “Staking” tab > “Addresses” in your wallet. Click on “New Stake Address”.

2. Open the “Convert to Staking” tab. Select your stake address. Enter amount or click “Use available balance” button. Select “Subtract fee from amount”. Confirm sending.

Note:  Funds need 225 confirmations before they’ll begin to stake.


3. Open the “Status” tab, then click “Start”.


Congratulations! You have successfully activated Hot Staking.


Note: Staking Confirmations before spendable - 100 blocks


Cold Staking 


To activate Cold Staking, you need a VPS, but you can close your local wallet.

First you need to buy a VPS server that will be running 24/7.


Server Specification 


· 1024MB memory 


· 20 GB of storage 


In a local wallet you can run cold staking in two ways: Automated ColdStaking activation and by sending an activation transaction. For a successful Automated ColdStaking activation, your wallet must be online for a certain period of time (you can check activation bar status; as soon as the activation bar shows complete, you can close the wallet). Alternatively, you can use “Activate Coldstaking” tab to send an activation transaction. This will take longer, but you can close your wallet during this process.


Server Setup 


In this guide, we will create a server on Vultr. But you can also choose other options like Digital Ocean or Amazon. 


· Choose a location closer to you 


· 64-bit Ubuntu version 16.04 or 18.04 


· 1 CPU, 1024MB memory 


In this case, the server cost is $5 / month.


Enter the server name and click “Deploy Now”.


You will receive an email with the data to connect to the server (you can also get this data on the website itself if you click on your server).


Connect to Server 


Use the console to connect to your server, for example, Putty.


Enter IP address of the server to connect through Putty. Click “Open”.


You will also see a security warning window - just click "Yes" to connect


Enter your server username (usually “root”) and password.

For security reasons, we recommend you to change the default password to a new one. Please write down the new password. To change the password, enter this command:


passwd


Software installation 



Automatic install via BC-Script  (recommend)


curl -sSL https://raw.githubusercontent.com/Bitcoin-Confidential/BC-Script/master/BC-Install-node.sh | bash 


Copy remote stake address below this line “Use this stake address on your local node to start staking”:


Manual install


1. Now enter the following commands:


wget https://github.com/Bitcoin-Confidential/BitcoinC-Core/releases/download/v1.0.3/bitcoinc-1.0.3-x86_64-linux-gnu.tar.gz


2. Enter this command to unpack the archive:


tar -xf bitcoinc-1.0.3-x86_64-linux-gnu.tar.gz


3. Go to your bin directory:


cd ~/bitcoinc-1.0.3/bin/


4. Start the wallet:


./bitcoincd -daemon


5. Create a wallet from mnemonic.  (required for 1.0.1+ wallets.)


./bitcoinc-cli mnemonic new

./bitcoinc-cli extkeyimportmaster (put the phrase from above here) 


or you can run combine command bellow


./bitcoinc-cli extkeyimportmaster "$(./bitcoinc-cli mnemonic new | grep mnemonic | sed -e 's/.*: "//' -e 's/",//')"


6. Enable staking:


./bitcoinc-cli walletsettings stakingstatus true



7. Create address on your remote node:


./bitcoinc-cli getnewstakeaddress


Copy the address from the output and go back to local wallet on your computer. After that you can close your connection to the server


You can start staking in two ways:


1. Automated ColdStaking activation (not recommend)


 clicking Start to activate hot staking is needed for automated coldstaking 



1. Open the “Staking” tab - “Status” > “Cold Staking”. 

2. Click “Enable” - Enter address of your remote node (stake address from output) from VPS and click “OK”.



2.“Activate Coldstaking” tab (recommend)


Note: Convert funds "to staking" (Staking > Convert to Staking) before sending transaction 


1. Open the Staking - “Activate Coldstaking” tab.

2. Enter Stake address of your remote node from VPS and ColdStake address from your local wallet (“Addresses” tab > New ColdStake Address).

3. Enter amount or click “Use available balance” button. Select “Subtract fee from amount”. Confirm sending.


Note:  Funds need 225 confirmations before they’ll begin to stake.


After you find the block, you need to wait 100 confirmations before you can convert the funds to spending.


You can check staking status on your VPS with the following commands:


./bitcoinc-cli walletsettings stakingstatus

./bitcoinc-cli getstakinginfo



If you have any questions, please contact us at Discord!