A Node, a Wallet and a Smart Contract

Components of Cold Staking

  • A Staking Node — running a new wallet
  • A Wallet with your PART tokens
  • A Cold Staking Script — this is like the script in bitcoin or smart contracts on other alts

The Staking Node is a computer running Particl that is always on and always connected to the internet. A Raspberry Pi 3 or comparable device makes a perfect staking node as it consumes very little energy, is compact and easy to tailor for dedicated tasks.

This guide assumes the staking node computer runs a flavor of Linux. Your staking node wallet does not need to have any PART tokens in it.

The Wallet is where your PART tokens live. For this guide, your wallet needs to live on a 2nd computer running the Particl Wallet App. It technically only needs to be on and/or connected to the internet during the setup of Cold Staking.

Once the staking activation process is complete you could take your PART wallet offline either on a hardware wallet like Ledger (integration in progress) or a paper wallet. It could also live on Particl Copay (update in progress) or on any device running Particl wallet products.

The Cold Staking Script is essentially a smart contract that says `if this is a cold staking transaction, then allow the private key from the staking node to sign the transaction; otherwise the private key from the wallet is required.`

Requirements

  • 2 computers with internet access
  • Partyman App

dasource/partyman
Contribute to partyman development by creating an account on GitHub.github.com

  • Particl Wallet App

particl/partgui
partgui - Particl Angular GUI - The source for the Particl GUI.github.com

Getting Started

A staking node is a full blockchain node which has been configured to stake on behalf of your wallet (aka it has been delegated staking power over your wallet). This can be a dedicated server, cloud or virtual server, Raspberry Pi3+ or Rock64 etc.

It is important to note that CPU does matter when staking, so do not expect to get the same results from a earlier Pi vs the new generation Pi3s etc.

Make sure your system is up-to-date
sudo apt-get update && sudo apt-get upgrade

Verify you have the programs we will use in this guide
sudo apt-get install python git unzip pv jq

Next we will setup the Staking Node.


Partyman App: A simple wallet/daemon management script

  • This script installs, updates, and manages single-user particl daemons and wallets
  • This script provides the ability to create a new wallet and manage staking node (cold staking functionality)

Watch a demo of Partyman setting up a Particl Staking Node:

How to setup a Particl "stakingnode"
This demo covers setting up a "stakingnode" on the Particl Blockchain. "stakingnodes" are essentially full nodes on the…asciinema.org

Grab the Partyman App
cd ~ && git clone https://github.com/dasource/partyman

Install
cd partyman/
./partyman install

This will download, unzip and install the latest release Particl Core daemon (particld).

Start particld
./partyman restart now

Check particld Status
./partyman status

You should see a summary similar to this:

Create a wallet
./partyman stakingnode init

Follow the directions to complete wallet setup and keep your recovery phrase private and in a safe place. This is the only key to your wallet. Lose the key, lose the wallet!

🏁 Congratulations! You’ve created your Staking Node wallet. Let’s continue.

Create a Cold Staking Public Key

Next, we’ll create the public key which we will use within the Particl Core GUI (Particl Wallet) to activate Cold Staking. We can use the Partyman App for this too.

Create new staking node public key
./partyman stakingnode new

Follow the directions to complete staking node public key creation. You should see a Particl public key similar to this:

🏁 Congratulations! You’ve created your Cold Staking Public Key.

Summary: Staking Node Setup

You’ve successfully setup your first computer:

  • Latest Particl Core daemon
  • Created a wallet
  • Created a staking node public key.

Your Staking Node setup for this computer is done. Next we’ll move onto the 2nd computer and complete setting up Particl Cold Staking.


Particl Wallet App: An advanced graphical user interface (GUI)

  • The Particl Wallet App works in tandem with Particl Core (daemon).
  • You don’t need to open both applications.
  • Particl Wallet will automatically download, install and run the latest daemon from the Particl Core releases during startup.

On your 2nd computer: Launch the Particl Wallet App

If this is your first time using Particl Wallet you’ll be met with a “New Wallet” screen that recommends you encrypt the wallet before anything and then gives you the option to create a new wallet or import an existing wallet. Walk through the steps if you haven’t already.

https://miro.medium.com/max/4800/1*yD1WrAoB69uibKtAFYrYDw.gif

Unlock wallet for staking

In the upper right hand of the GUI there are three icons.

  • Clicking on the middle “lock” icon brings up a dialog window.
  • Check the “Unlock for Staking only” box
  • Enter your encryption phrase
  • Click “Unlock wallet” button

Add Cold Staking Node Key

Within the Cold Staking modal on the right side of the wallet:

  • Click the “+” button for Cold Staking Node

A dialog box saying “Cold Wallet Setup” pops up.

  • Enter your Cold Staking Public Key you created earlier on your staking node.
  • Click “Enable cold staking” button

A dialog box saying “Unlock your wallet” pops up.

    🏁 Congratulations! You’ve initiated the Cold Staking Activation Process

    The Cold Staking box on your dashboard should now show a Cold Staking Progress bar. It is very important to follow the instructions in the box that says, “Please keep this wallet online until the cold staking activation process is complete.”

    Keep in mind, it may take several weeks to finish the activation process. With each stake the percentage increases towards 100%.

    Summary

    This guide is now complete. Here is a list of accomplishments you have achieved by reaching the end.

    • Created a Staking Node wallet
    • Created a Staking Node Public Key
    • Linked a Staking Node wallet with 0 PART to a 2nd wallet on another computer that has the PART you want to stake.
    • Unlocked wallet with PART tokens for staking only
    • Enabled the Cold Staking Activation Process

    Once you’ve reached 100% complete on the Cold Staking progress bar your two wallets are linked. The staking node wallet needs to be online 24/7 to receive staking rewards. The wallet holding your PART tokens can be offline, safe and secure.

    For more information on Particl Cold Staking we created a primer here:

    Primer: Cold Staking on Particl
    Quantum Computer Resistantparticl.news


    ¯\_(ツ)_/¯ Who said creating smart contracts had to be complicated?