The past few months I've really enjoyed contributing spare CPU cycles to the World Community Grid. Visit their website here.

1. Install epel-release:

yum -y install epel-release

2. Install the boinc-client and the boinc-manager:

yum -y install boinc-client boinc-manager

3. Enable the boinc-client so that it starts on boot/after a reboot:

systemctl enable boinc-client

4. Set a blank password file:

touch /var/lib/boinc/gui_rpc_auth.cfg

5. Start the boinc-client so that it can initialize itself, run system benchmarks for the first time etc:

systemctl start boinc-client

6. Optional: If you don't know what your account number for World Community Grid is, you can lookup your account ID - make sure to replace your username and password to the ones you use to login to World Community Grid:

boinccmd --lookup_account http://www.worldcommunitygrid.org email@domain.com replace_with_your_password_no_quotes_needed

If this works correctly you should see output like this:

status: Success
poll status: operation in progress
poll status: operation in progress
poll status: operation in progress
account key: <your_account_id>

7. Attach to the World Community Grid project - once again replace your account ID with yours - this step doesn't require a username or a password:

boinccmd --host localhost \
--passwd "" \
--project_attach \
http://www.worldcommunitygrid.org \
replace_with_your_account_id_no_quotes_needed \
--task resume

8. Boinc will now connect to the World Community Grid for the first time, run a benchmark for the local system and then start pulling jobs. This process should take a couple of minutes. To confirm that you're connected, use the --get_project_status switch like this:

boinccmd --host localhost --passwd "" --get_project_status

This is what it looks like for me when it's connected:

======== Projects ========
1) -----------
 name: World Community Grid
 master URL: http://www.worldcommunitygrid.org/
 user_name: <redacted>
 team_name: 
 resource share: 100.000000
 user_total_credit: 1241723.812680
 user_expavg_credit: 13550.756580
 host_total_credit: 0.000000
 host_expavg_credit: 0.000000
 nrpc_failures: 0
 master_fetch_failures: 0
 master fetch pending: no
 scheduler RPC pending: no
 trickle upload pending: no
 attached via Account Manager: no
 ended: no
 suspended via GUI: no
 don't request more work: no
 disk usage: 0.000000
 last RPC: Thu Oct 24 00:49:11 2019
project files downloaded: 1571892574.543879
GUI URL:
 name: Research Overview
 description: Learn about the projects hosted at World Community Grid
 URL: <a href="https://www.worldcommunitygrid.org/research/viewAllProjects.do" data-index="4">https://www.worldcommunitygrid.org/research/viewAllProjects.do
GUI URL:
 name: News and Updates
 description: The latest information about World Community Grid and its research projects
 URL: <a href="https://www.worldcommunitygrid.org/about_us/displayNews.do" data-index="5">https://www.worldcommunitygrid.org/about_us/displayNews.do
GUI URL:
 name: My Contribution
 description: Your statistics and settings
 URL: <a href="https://www.worldcommunitygrid.org/ms/viewMyMemberPage.do" data-index="6">https://www.worldcommunitygrid.org/ms/viewMyMemberPage.do
GUI URL:
 name: Results Status
 description: View the status of your assigned work
 URL: <a href="https://www.worldcommunitygrid.org/ms/viewBoincResults.do" data-index="7">https://www.worldcommunitygrid.org/ms/viewBoincResults.do
GUI URL:
 name: Device Profiles
 description: Update your device settings
 URL: <a href="https://www.worldcommunitygrid.org/ms/device/viewProfiles.do" data-index="8">https://www.worldcommunitygrid.org/ms/device/viewProfiles.do
GUI URL:
 name: Forums
 description: Visit the World Community Grid forums
 URL: <a href="https://www.worldcommunitygrid.org/forumLogin.do" data-index="9">https://www.worldcommunitygrid.org/forumLogin.do
GUI URL:
 name: Help
 description: Search for help in our help system
 URL: <a href="https://www.worldcommunitygrid.org/help/viewHelp.do" data-index="10">https://www.worldcommunitygrid.org/help/viewHelp.do
 jobs succeeded: 0
 jobs failed: 0
 elapsed time: 0.000000
 cross-project ID: <redacted>

Set CPU usage to 100:

Optional: On a host that's dedicated to running boinc-client you can set the CPU usage to 100%. Since the configuration files are XML, we can use the xq tool to edit them:

1. Install python3-pip, jqandmoreutils so that we can get the sponge command:

yum -y install python3-pip moreutils jq

2. Install yq (you get xq with it):

pip3 install yq

3. Edit the preferences file so that we can use 100% of CPU:

cd /var/lib/boinc

4. Make sure the permissions are good:

chown boinc:boinc global_prefs.xml

5. Restart the boinc-client so that the configuration is applied:

systemctl restart boinc-client

Other stuff that's good to know:

1. To get the project status:

boinccmd --host localhost --passwd "" --get_project_status

2. To remove (detach) a project:

boinccmd --host localhost --passwd "" --project http://www.worldcommunitygrid.org detach

Sources: