Gridcoin 

BOINC Introduction

  • 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.
Select your operating system (click the buttons):

Microsoft Windows

  • 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 applications.
    • Allow all users on this computer to control BOINC - 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' group.
  • 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

MAC OSX

  • Download the installer.
  • If your browser has not already done so, expand the zip archive by double-clicking on it in the Finder.
  • Double-click on the BOINC Installer application to run the installer, then follow the prompts.
  • 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 BOINCSaver.
  • The default location for data directory of BOINC is /Library/Application Support/BOINC Data . You may want to exclude this folder from Time Machine backup system to prevent increase of backup data size.
  • Several tools for Mac OS X 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.

Linux

  • You can install BOINC on a Linux computer in any of three ways:
    • Use the package management system of your Linux distribution;
    • 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 advantages:
    • The resulting BOINC installation runs applications under an unprivileged account, and is therefore more secure.
    • 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 in).
    • BOINC updates can be automated if your Linux distro has automated package update capability (most popular distros do)
  • 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 terminal commands:
  • $ cd ~/BOINC
    $ ./run_client --daemon
    $ ./run_manager
    
  • 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 working directory.
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 these pages:

FreeBSD

  • Go to /usr/ports/net/boinc-client/, open the Makefile in a text editor
  • Change the CONFIGURE_ARGS=--disable-server as follows:
    • On 32 bit FreeBSD change it to
      CONFIGURE_ARGS=--disable-server --with-boinc-platform=i686-pc-freebsd --with-boinc-alt-platform=i686-pc-linux-gnu
    • On 64 bit FreeBSD change it to
      CONFIGURE_ARGS=--disable-server --with-boinc-platform=x86_64-pc-freebsd --with-boinc-alt-platform=i686-pc-linux-gnu
  • Do make install clean
  • If you receive an error like "ELF 0 ....", make sure you have installed
    • /usr/ports/emulators/linux_base-fc4 or higher
    • sysctl kern.elf32.fallback_brand=3
  • There is additional information on installing, configuring and running BOINC on FreeBSD.

How to install BOINC on an Anonymous Platform

  • 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.
  • If the BOINC client is not available for your platform, you must build it yourself.
  • 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 (Mac OS X 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.
  • Mac OS X 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 format of app_info.xml
  • 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:
  • <app_info>
    <app>
    <name>setiathome_enhanced</name>
    </app>
    <file_info>
    <name>setiathome_6.6_windows_intelx86.exe</name>
    <executable/>
    </file_info>
    <file_info>
    <name>setiathome_graphics_6.6_windows_intelx86.exe</name>
    <executable/>
    </file_info>
    <app_version>
    <app_name>setiathome_enhanced</app_name>
    <version_num>660</version_num>
    <api_version>6.1.0</api_version>
    [
    <coproc>
    <type>CUDA</type>
    <count>1</count>
    </coproc>
    ]
    [ <plan_class>cuda</plan_class> ]
    [ <flops>X</flops> ]
    [ <avg_ncpus>X</avg_ncpus> ]
    [ <max_ncpus>X</max_ncpus> ]
    [ <cmdline>args</cmdline> ]
    <file_ref>
    <file_name>setiathome_6.6_windows_intelx86.exe</file_name>
    <main_program/>
    </file_ref>
    <file_ref>
    <file_name>setiathome_graphics_6.6_windows_intelx86.exe</file_name>
    <open_name>graphics_app</open_name>
    </file_ref>
    </app_version>
    </app_info>
    
  • app_info.xml's elements include:
    • <version_num>: the application's version number.
    • <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

Site Platforms Programs available
http://www.dotsch.de/boinc (Lars Bausch) AIX(Power/PowerPC)
DragonflyBSD(i386)
FreeBSD(Alpha, i386, IA64, SPARC64, x64)
HP-UX 10.x/11.x/11i (PARISC+IA64)
IRIX 6.5.x
Linux(Alpha, HPPA, IA64, MIPS Big Endian+Little Endian(EL), PPC/Power, Playstation 3 (PS3), Power64, SPARC, zSeries)
MacOS X Intel+PPC
NetBSD(i386, MIPS Little Endian(EL), PowerPC/Power, x86_64)
OpenBSD(Alpha, i386, SPARC64, x64)
Solaris(SPARC+x86)
TRU64
BOINC client, SETI@home Enhanced Multibeam, SETI@home Enhanced and Astropulse
Stefan Urbat Solaris: SPARC, AMD64 (Opteron), x86, i686
Linux: Alpha, SPARC, AMD64 (Opteron), PowerPC, Itanium, s390
HP-UX: PA RISC and Itanium/IA64 (includes BOINC Manager)
Tru64: Alpha
AIX: Power4 and later
OpenBSD: x86
NetBSD: x86
FreeBSD: x86, Alpha
BOINC core client, SETI@home
SETI@SummoneR.mikrocomp.hu OpenBSD: amd64 (x86_64) BOINC core client and SETI@home Enhanced non-graphical
SETI-Linux Linux: i686, Athlon-XP, AMD64, Pentium 3.
Some Links to other Platforms
BOINC, SETI@home
SOLARIS@x86 Solaris 9 on Intel x86 BOINC core client, SETI@home
lunatics.kwsn.net Linux and Windows/x86 BOINC and SETI@home. Also, How-Tos for BOINC and SETI@home compilation for Linux and Windows.
alioth.debian.org; installation instructions at wiki.debian.org Debian and Ubuntu GNU/Linux: i386, amd64
Debian GNU/Linux: alpha, armel, hppa, ia64, m68k, mips, mipsel, powerpc, s390 and sparc
Debian GNU/kFreeBSD: kfreebsd-amd64 and kfreebsd-i386
Debian GNU/Hurd: hurd-i386
BOINC core client , BOINC manager and SETI@home
nekochan.net SGI Irix 6.5.22 and above BOINC client 5.4.9 and SETI@home enhanced 5.12
FreeBSD.org FreeBSD on a variety of hardware. BOINC core client , SETI@home
BOINCpe Run BOINC from a RAM disk, on machines with as little as 256 MB RAM BOINC core client and Manager
macnn.com Mac OS X BOINC core client, SETI@home app
www.rechenaugust.de/boinc 32-bit and 64-bit Linux OpenSuse 11 6.10.58 and 6.12.x BOINC clients

Step 1B: Choose BOINC projects from the whitelist

Whitelist justification
  • The whitelist was created to increase security and to focus user's resources on active projects.
  • Without a whitelist, there was the potential for malicious BOINC projects being created for users to solomine for GRC, or potentially to infect gridcoin users with malware.
Whitelist discussion/scrutiny
Please note:
  • You will only be rewarded for whitelisted BOINC projects.
  • Any BOINC work done outside of the whitelisted BOINC projects will not be rewarded.
Confused by the above?

Step 3: Setup the pool

This pool is under active development and may have issues/bugs from time to time. However things have been pretty stable and everything, including payments, are working normally.

You can follow the pool.gridcoin.co forum thread on CryptoCoinTalk for all the latest updates and news regarding the pool; and to report any issues/bugs or leave some feedback!
How to Get Started
  • 1. Create an account here.
  • 2. Install BOINC if you haven't already.
  • 3. Run BOINC.
  • 4. In your BOINC client make sure "Advanced view..." is selected from "View > Advanced view...".
  • 5. Now go to "Tools > Use account manager..." and enter "http://pool.gridcoin.co" in the "Account manager URL" box.
  • 6. Click "Next" and fill out your login details, then "Next" again.
    • For BOINC versions prior to 7.6.10:
      Run "boinccmd --join_acct_mgr http://pool.gridcoin.co YOUR_EMAIL YOUR_PASSWORD" from the install directory.
      * See why you must do this here: https://github.com/BOINC/boinc/issues/1454
    • (Optional) Open "Tools > Event log..." to verify you were connected successfully.
  • 7. Select which projects you want to run on your profile and any settings for them.
    • You can still use your own accounts/CPID on other projects.
    • The account manager will not change any existing projects.
  • 8. Resync with the account manager in your BOINC client by going to "Tools > Synchronize with GridCoin.co Pool".
    (Optional) To verify projects are researching for the pool, "pool.gridcoin.co" will be shown under "Account" in BOINC's "Projects" tab.
  • All your selected projects should show up in your BOINC client now and start crunching away!
    You are now all set. Welcome to the pool! Please report any issues/bugs here.
  • Don't forget to provide the pool with your Gridcoin address to payments.
  • View the pool rankings (including yours) here.
  • View the payout history/frequency here.