Introduction

Gridcoin is cryptocurrency that rewards computation using a Distributed-Proof-of-Research (DPOR) reward mechanism. DPOR is a combination of two other mechanisms: Proof-of-BOINC (POB) and Proof-of-Stake (POS). This means Gridcoin rewards users based on work completed for BOINC, and for having stake in Gridcoin by holding Gridcoins in a wallet (earning interest). POS is used in other coins as well, such as Peercoin, Nxt, and BitShares. On the other hand, Bitcoin uses a Proof-of-Work (POW) mechanism, which rewards users based solely on their hashing power (this process is called mining).

It is important to determine if you’ll be mining or staking. Mining uses the work completed by BIONC to earn Gridcoins. Staking, however, doesn’t require BOINC, as you only earn interest on coins you hold (no need for BOINC to do work).

Setup BOINC

Install BOINC

Choose and setup projects

You’ll need to select a project from the Gridcoin whitelist. In addition, the project you select must match your machine capabilities. In my case, I’m choosing a CPU-based project (in particular, Citizen Science Grid). Once you’ve decided on a project, sign up for it (either through the BOINC client or online). Again, I covered signing up for a project in a previous post.

Join the Gridcoin team

After you’re signed up, you need to join the Gridcoin team, as described below.

Navigate to your project’s website and login

Click on the Find a team link

Search for “gridcoin”

Click on team Gridcoin

Click on the Join this team link

Setup Gridcoin Research Client

Install Gridcoin Research Client

If you’re working on Ubuntu, you have three possible way to install the Gridcoin Research Client.

clone git repository and compile manually

install a pre-compiled DEB package (using dpkg)

add a PPA

I’m going to be using option 3, since it’s the easiest to install and keep up-to-date.

Setup config file

I highly recommend you encrypt your wallet (especially if it will be stored on a public server). If you lose/forget this passphrase, your Gridcoins will be lost forever. Do this at your own risk, I’m not responsible for anything you break 🙂

sudo gridcoinresearchd encryptwallet wallet_passphrase_here

Then, start the Gridcoin client again.

sudo gridcoinresearchd

Next, you’ll need to create a hashed passphrase so your wallet can be automatically unlocked by the Gridcoin client. We’re doing this because if we don’t, you’ll need to type your passphrase into the shell every time you need to unlock your wallet (and risk it possibly falling into the wrong hands).

sudo gridcoinresearchd execute encrypt wallet_passphrase_here

The information it returns will look something like the example below. Copy the passphrase between the quotation marks.

Note – The passphrase is generated from certain attributes of the CPU and hard drive, then run through the MD5 algorithm. The procedure above will need to be repeated if the machine configuration (hardware) changes.

Populate the previous created configuration file with the necessary options. My file is below.

Sync client and acquire Gridcoin

Sync blockchain

After starting the Gridcoin client, it will start to sync the blockchain. I recommend skipping this (since it takes 24-48hrs) and downloading the blockchain manually. This isn’t the entire blockchain, but a snapshot that is about 90% complete.

To make sure the last 10% of blocks are downloading, check the latest block from a known working node. Then, repeat the command above to check the latest block you’ve downloaded. It may take a few hours to download the last blocks.

Acquire Gridcoin

You’ll need to acquire some starter Gridcoin in order to earn interest on it (you can’t earn interest on nothing). To get a new address, use the command below.

sudo gridcoinresearchd getnewaddress

Next, you’ll need to use free or paid methods to receive some starter Gridcoin.

Free methods

Paid methods (exchanges)

Earn Gridcoin

At this point, you’ll need to make sure your BOINC client is performing work and your Gridcoin balance is positive. If those are both true, you’ll just need to sit back and earn Gridcoin! In the meantime, here are some helpful commands for both the BOINC client and the Gridcoin Research Client.

Command

Description

boinccmd --help

Shows all possible commands

boinccmd --create_account <URL> <email> <password>

Create account

boinccmd --lookup_account <URL> <email> <password>

Lookup account key

boinccmd --project_attach <URL> <account_key>

Attach to a project

boinccmd --project <URL> detach

Detach from a project

boinccmd --project <URL> update

Update project (pulls preferences from website settings)

boinccmd --get_host_info

Show system information about the host where the BOINC client is running

boinccmd --get_disk_usage

Show disk usage of all projects

boinccmd --get_file_transfers

Show all current file transfers

boinccmd --get_project_status

Show status of all projects

boinccmd --get_tasks

Show all tasks of the client

boinccmd --get_simple_gui_info

Show status of projects and active tasks (same as get_tasks and get_project_status)

boinccmd --get_daily_xfer_history

Show network traffic history of the BOINC client

boinccmd --get_state

Show complete client state

Command

Description

sudo gridcoinresearchd help

Shows all possible commands

sudo gridcoinresearchd help <command>

Shows help for a specific command

sudo gridcoinresearchd

Start Gridcoin Research Client

sudo gridcoinresearchd stop

Stop Gridcoin Research Client

sudo gridcoinresearchd encryptwallet <wallet_passphrase_here>

Encrypt the Gridcoin wallet (only required once)

sudo gridcoinresearchd execute encrypt <wallet_passphrase_here>

Generate a hash of the wallet passphrase (only required once)

sudo gridcoinresearchd getinfo

Display general info about the Gridcoin client and its status

sudo gridcoinresearchd getmininginfo

Display mining info about the Gridcoin client and its status

sudo gridcoinresearchd getstakinginfo

Display staking info about the Gridcoin client and its status

sudo gridcoinresearchd getblockcount

Display the number of blocks in the chain

sudo gridcoinresearchd getnewaddress

Generate a new address for receiving payments

sudo gridcoinresearchd dumpprivkey <gridcoin_address>

Reveals the private key corresponding to a Gridcoin address

sudo gridcoinresearchd getbalance

Display balance for all accounts

sudo gridcoinresearchd backupwallet <location>

Backup wallet to a specified location

sudo gridcoinresearchd listreceivedbyaddress

Show all addresses and their balance

sudo gridcoinresearchd listreceivedbyaddress 0 true

Show all addresses and their balance (where confirmations can be zero and include empty addresses)

sudo gridcoinresearchd checkwallet

Check wallet for integrity

sudo gridcoinresearchd repairwallet

Repair wallet if checkwallet reports any problems

I’ll end this by saying that Gridcoin probably won’t make you rich. If you’re already donating resources to BOINC, this is a nice way to earn some beer money.

Just a heads up – it appears I was using the “gridcoin-daily” PPA, which runs on the testnet (see this comment). If you’re still using gridcoin, please switch to the “gridcoin-stable” PPA to use mainnet gridcoin.

Just a heads up – it appears I was using the “gridcoin-daily” PPA, which runs on the testnet (see this comment). If you’re still using gridcoin, please switch to the “gridcoin-stable” PPA to use mainnet gridcoin.

Hey Logan, you should not use gridcoin-daily on the main network. Gridcoin-daily builds the testnet clients that are very often not compatible with what the rest of the network is doing. Use the gridcoin-stable ppa for the current release mainnet client.
Also, if you do want to participate in testnet with gridcoin-daily, you should launc the client with the testnet flag.

Hi Logan,
Thanks for the info. I updated some things I hadn’t done. Encrypting the wallet was a great help. I’m still trying to sync.
It seems some of the commands are changed or depreciated now, but overall this is still good help.