First of all, if you just want to be an investor in Gridcoin, you can skip the following steps which explain how to set up a mining environment for Gridcoin. In that case, you will just need to install the Gridcoin Wallet.
To get Distributed-Proof-of-Research (DPOR) payments, you will have to participate in one or more projects of the Berkeley Open Infrastructure for Network Computing (BOINC). BOINC is a platform for universities and research groups to upload small packages of their research. These small packages, known as workunits, contain parts of calculations and numerical problems which your home computer can solve. You can find more information here and on Wikipedia.
Download the installer, then double-click the installer icon.
Most of the projects do not need the installation of VirtualBox, so the download link on the right side should be sufficient. More information about VirtualBox can be found here.
You can set install options by clicking the "Advanced"
button on the configuration screen. The options are:
Program directory - where BOINC's program
files will be stored.
Data directory - where BOINC's data files
will be stored. This will be a hidden directory. Where
it is is shown in the BOINC start up messages.
Use BOINC screensaver - Use the BOINC
screensaver for the current user.
Protected application execution - Run
project applications under an unprivileged account.
This provides increased protection against faulty
applications, but it prevents BOINC from using your
GPU, and it may cause graphics to not work with older
Allow all users on this computer to control
- If selected (public mode), all users
can control BOINC (attach/detach projects, etc.). If
not selected (private mode), the only users who
can control BOINC are: the installing user, members of
the Administrator group, and members of the
'boinc_users' group. When other users run the BOINC
Manager, they'll be shown a dialog saying to contact
the administrator to add them to the 'boinc_users'
To run BOINC invisibly, choose the "Protected application execution" option, then delete the BOINC shortcut from the Start/Programs/BOINC and Start/Programs/Startup menus (locate BOINC in each menu, right-click, select Delete). You can still run the BOINC Manager by going to C:\Program Files\BOINC and double-clicking on boincmgr.exe
If your browser has not already done so, expand the
zip archive by double-clicking on it in the
Double-click on the BOINC Installer
application to run the installer, then follow the
Close the installer when it is finished. This will
automatically launch the BOINC Manager.
If you want BOINC to be your screen saver, open
System Preferences from the Apple menu. Select
Desktop & Screen Saver and select
The default location for data directory of
. You may want to exclude this folder from
Time Machine backup system to prevent increase of
backup data size.
Several tools for macOS are available to:
Automatically run BOINC as a daemon or system service at boot time.
Improve security for stand-alone clients.
Prevent BOINC Manager from launching automatically when selected users log in.
You can install BOINC on a Linux computer in any of
Use the package management system of your Linux
Use the "Berkeley installer" provided by BOINC (a
self-extracting archive, not distro-specific);
Build directly from source code.
Installing BOINC as a package
Some Linux distributions (Fedora, Ubuntu, Debian,
Gentoo, possibly others) have BOINC packages that you can
install using your your distro's package manager. Compared
to using the Berkeley Installer, this has several
The resulting BOINC installation runs applications
under an unprivileged account, and is therefore more
The BOINC binaries are dynamically linked,
therefore they require less memory than the binaries in
the Berkeley Installer.
The package manager checks for dependencies and
installs any additional libraries required to run BOINC
on your Linux distro.
BOINC is installed as a daemon (BOINC runs
automatically at boot time even if no user is logged
BOINC updates can be automated if your Linux distro
has automated package update capability (most popular
If you want to use the packages from repositories, take into account that there are two packages that can be installed separately, one for BOINC Client and another for the BOINC Manager. Only the client part is required but you will likely want to install the manager as well unless you intend to manage the client from a remote host.
The Berkeley Installer
The Berkeley Installer is available directly from the BOINC project. It is a self-extracting archive. This type of installation requires that you be familiar with the UNIX command-line interface. The download files have names like boinc_7.2.23_i686-pc-linux-gnu.sh. After downloading the file, you'll need to be in the directory where you download the archive to unpack it.
Here is an example. The archive is downloaded to the desktop. It is then moved to the home directory (~). Finally BOINC is unpacked and installed. All of this can be done within a regular user account; root privileges are not needed.
$ mv ~/Desktop/boinc_7.2.23_i686-pc-linux-gnu.sh ~
$ cd ~
$ sh boinc_7.2.23_i686-pc-linux-gnu.sh
This creates a directory called 'BOINC/' under the home directory containing the following files:
boinc : The BOINC core client.
boincmgr : The BOINC Manager.
boinccmd : A command line tool for controlling a running core client.
run_client : A script that cd's into the BOINC directory and runs the core client.
run_manager : A script that cd's into the BOINC directory and
runs the manager.
To start the client manually enter the following
$ cd ~/BOINC
$ ./run_client --daemon
The BOINC working directory can be moved elsewhere as
you like, and can even be renamed. One common choice is
~/.boinc, since files and directories with names
that begin with "dot" do not show up by default in Unix
directory listings. Whatever the name, everything related
to the BOINC client is contained within that directory, and
you should always run the client and the manager from that
Build from Source
BOINC is open source software. You can download the
source code and build your own BOINC client, if you so
desire. It's not as easy as either of the two methods
above, but it may turn out to be more interesting. And some
people might even be interested in contributing to the
ongoing BOINC development efforts.
If you want to build BOINC on Linux, you need to keep in
mind that BOINC consists of both client software and
project server software. To run BOINC on your own Linux
computer and contribute to existing projects you only need
to build the client software.
Instructions for building BOINC from source code are in
a separate developer's wiki. You will need to start with
BOINC applications are native-mode programs, so different versions are required for each platform (a "platform" is the combination of an operating system and a CPU architecture: e.g., Linux/Intel32). Each BOINC-based project has application versions for one or more platforms. When the BOINC client requests work from the project's server, the client tells the server its platform, and the server gives it the appropriate version.
This addresses the needs of most BOINC participants, but it's inadequate if:
your computers have platforms not supported by BOINC or by the project;
for security reasons, you want to only run executables you have compiled yourself;
you want to optimize applications for particular architectures.
To handle these cases, BOINC offers a mechanism called anonymous platform. This lets you build applications yourse1lf, or obtain them from a third party, rather than getting them from the project server. This can be used only for projects that make their source code available. As an example, see the instructions for SETI@home.
To use the anonymous platform mechanism for a particular project:
Get the project's application source code and compile it, or download an executable from a third party.
Run the BOINC client and attach to the project. This will create a 'project directory' (whose name is the project URL) in the BOINC directory. Exit the client. Put your executables in the project directory (macOS users: see note below).
Create a file app_info.xml in the project directory. This file describes the applications you have compiled or downloaded. Its format is described below.
Run the BOINC client again. When it requests work from the scheduling server, it will report its platform as 'anonymous' and send a list of the applications you have supplied. The server will sends tasks for those applications.
macOS note: When you add files inside the Mac's BOINC Data directory, you must set ownership and permissions properly. If you are using the BOINC Manager, simply run the BOINC Installer again. If you are running the Unix command-line version, run the Mac_SA_Secure.sh shell script; it is bundled with the command-line BOINC Client and also available at Mac_SA_Secure.sh.
To switch back to using the project-supplied executables, delete the app_info.xml file and reset the project.
You may want to check out the following email lists (e.g. the port may already exist):
The file app_info.xml is an XML description of the applications you have compiled or downloaded. It has elements describing the files that make up the application, and describing the attributes of the application. The format is as follows:
<api_version>: the BOINC version number of the API the app uses.
<coproc>: describes a coprocessor requirement. The type element can refer to a GPU type specified in cc_config.xml.
<flops>: the expected FLOPS of the application (for multi-thread and coprocessor apps).
<avg_ncpus>: the average number of CPUs used by the app.
<max_ncpus>: the max number of CPUs used by the app.
Generally this should match the corresponding elements in a scheduler reply message (sched_reply_URL.xml), except
that the <platform> element should be removed.
Other sources of BOINC client software
The following sites offer downloads of BOINC software and
BOINC project applications, compiled for various platforms.
These downloads are not endorsed by BOINC or any BOINC project;
use them at your own risk.
Asteroid research - it uses photometric measurements of asteroids observed by professional big all-sky surveys as well as 'backyard' astronomers. The data is processed using the lightcurve inversion method and a 3D shape model of an asteroid together with the rotation period and the direction of the spin axis are derived.
Search for prime numbers. Primes play a central role in the cryptographic systems which are used for computer security. Through the study of prime numbers it can be shown whether current security schemes are sufficiently secure.
Simulations of various molecules and atoms in a classical mechanics environment. In contrast to other projects, Leiden Classical allows volunteers, students and other scientists to submit their personal calculations to the grid.
Lattice sieving step in Number Field Sieve factorization of large integers. Many public key algorithms, including the RSA algorithm, rely on the fact that the publicly available modulus cannot be factored. If it is factored, the private key can be easily calculated.
Astronomy Research. Combine the spectral coverage of GALEX, Pan-STARRS1, and WISE to generate a multi-wavelength UV-optical-NIR galaxy atlas for the nearby Universe. Calculate physical parameters such as: star formation rate, stellar mass of the galaxy, dust attenuation, and total dust mass of a galaxy; on a pixel-by-pixel basis using spectral energy distribution fitting techniques
International Centre for Radio Astronomy Research (ICRAR), a joint venture of Curtin University and The University of Western Australia