BOINC RPC Support?

Message boards : Questions and problems : BOINC RPC Support?
Message board moderation

To post messages, you must log in.

AuthorMessage
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99588 - Posted: 2 Jul 2020, 13:15:43 UTC

I'm making a web based dashboard showing me info on all of my crypto wallets and distributed computing apps. The basic way this works is that timed scripts run and gather information from the apps, load it into an SQL database, and then the website pulls that info and shows it in a nice, neat, organized way.

I had fairly good luck starting this, getting lots of info out of all of the crypto wallets very easily. Their RPC system is, while not very well documented, very easy to use.

But I haven't had as much luck with BOINC. Lots of 10+ year old forum threads. Lots of conflicting, undated information. Pages about using boinccmd which doesn't appear to even exist any more?

Can anyone point me in the right direction here? Whether its done via HTTP requests or by direct cli commands, either way as fine as long as I can use it to get info on all of the currently running work units. It seems that the BOINC Manager itself uses some form of RPC to communicate to the actual underlying BOINC processes so there must be some way to do it, no?
ID: 99588 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 99589 - Posted: 2 Jul 2020, 13:53:26 UTC - in response to Message 99588.  

boinccmd still exists, and is documented here.

The full RPC specification is documented at https://boinc.berkeley.edu/trac/wiki/GuiRpcProtocol
ID: 99589 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99627 - Posted: 5 Jul 2020, 7:32:52 UTC - in response to Message 99589.  

Well if it's still around then where is it? Or where do I download it? I can't find it anywhere.
ID: 99627 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 99628 - Posted: 5 Jul 2020, 8:20:48 UTC - in response to Message 99627.  

It should be in the same folder/directory as the other main BOINC components - bonc(.exe) and boincmgr(.exe)

On my Linux machines, that's /usr/bin
On my Windows machines, that's D:\BOINC (personal choice in the installer) - the default is C:\Program Files\BOINC

I don't have a Mac to check.
ID: 99628 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99650 - Posted: 6 Jul 2020, 14:37:23 UTC - in response to Message 99628.  

The manager application goes right into /Applications as an app bundle. I don't see anything like boinccmd inside the app bundle anywhere.
It's also not in the /Library/Application Support/BOINC Data folder. I don't know where else it would possibly be. I'm thinking the Mac client might not come with boinccmd?
ID: 99650 · Report as offensive
Profile Dave
Help desk expert

Send message
Joined: 28 Jun 10
Posts: 2515
United Kingdom
Message 99653 - Posted: 6 Jul 2020, 16:18:50 UTC - in response to Message 99650.  

You can tell whether it is there or not by running a boinccmd command. I find it hard to believe that the Mac client comes without it.
ID: 99653 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 99655 - Posted: 6 Jul 2020, 17:22:10 UTC

If you can't find it any other way, it's certainly in the "(Unix command-line version)" on the download_all page.
ID: 99655 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99680 - Posted: 7 Jul 2020, 14:18:35 UTC - in response to Message 99653.  

$ boinccmd
-bash: boinccmd: command not found
ID: 99680 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99681 - Posted: 7 Jul 2020, 14:20:49 UTC - in response to Message 99655.  

If you can't find it any other way, it's certainly in the "(Unix command-line version)" on the download_all page.


Yup apparently you have to download it as a separate piece on macos.
ID: 99681 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 99682 - Posted: 7 Jul 2020, 14:36:27 UTC - in response to Message 99680.  
Last modified: 7 Jul 2020, 14:37:05 UTC

You have to run it from the directory you put it in, or add that directory to your environment path.
Also make sure the BOINC client is running first
ID: 99682 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99683 - Posted: 7 Jul 2020, 14:39:01 UTC - in response to Message 99589.  

boinccmd still exists, and is documented here.

The full RPC specification is documented at https://boinc.berkeley.edu/trac/wiki/GuiRpcProtocol


Now that boinccmd is working, I'm confused by the difference here. Does boinccmd not use the RPC? If no, then how do I do RPC commands? The RPC page you linked to shows results coming back in XML yet boinccmd's results are all coming back as one long multi-line string.
ID: 99683 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 99684 - Posted: 7 Jul 2020, 14:52:09 UTC - in response to Message 99683.  

The boinccmd utility contains the library routines for converting between XML and human formats as required.
ID: 99684 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99689 - Posted: 7 Jul 2020, 17:09:13 UTC - in response to Message 99684.  

The boinccmd utility contains the library routines for converting between XML and human formats as required.

Well thats good, so how do you DO that? I can't find any mention in any of the online docs?
ID: 99689 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 99691 - Posted: 7 Jul 2020, 17:25:56 UTC - in response to Message 99689.  

That's up to you.

either you ask boinccmd to get information, which will provide human-readable answers in a fairly sparse, predictable format - some people are able to parse that output with scripting tools.

or you write your own RPC handler, and work at the XML level.

boinccmd may use XML RPCs internally, but it is not designed to output the raw XML to the user.
ID: 99691 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99720 - Posted: 8 Jul 2020, 3:28:01 UTC - in response to Message 99691.  

That's up to you.

either you ask boinccmd to get information, which will provide human-readable answers in a fairly sparse, predictable format - some people are able to parse that output with scripting tools.

or you write your own RPC handler, and work at the XML level.

boinccmd may use XML RPCs internally, but it is not designed to output the raw XML to the user.


How does the RPC work, is it just HTTP requests? Making my own handler to directly talk to that should be pretty easy. Any documentation for how to access that?
ID: 99720 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 99723 - Posted: 8 Jul 2020, 8:10:02 UTC - in response to Message 99720.  

How does the RPC work, is it just HTTP requests? Making my own handler to directly talk to that should be pretty easy. Any documentation for how to access that?
I gave you that link in my first answer, but here it is again:

https://boinc.berkeley.edu/trac/wiki/GuiRpcProtocol
ID: 99723 · Report as offensive
l008com

Send message
Joined: 22 Mar 09
Posts: 51
United States
Message 99744 - Posted: 8 Jul 2020, 15:34:36 UTC - in response to Message 99723.  

How does the RPC work, is it just HTTP requests? Making my own handler to directly talk to that should be pretty easy. Any documentation for how to access that?
I gave you that link in my first answer, but here it is again:

https://boinc.berkeley.edu/trac/wiki/GuiRpcProtocol


I don't see on that page how you actually send and receive those commands?
ID: 99744 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 99745 - Posted: 8 Jul 2020, 16:21:40 UTC - in response to Message 99744.  

I got it running under Windows, something over 10 years ago - so my memory is rusty. I'd been doing some complex office automation work using Access and SQL Server, so my mind was full of VBA syntax - YMMV.

Under those circumstances, I used the Visual Basic component of Visual Studio 6, running under Windows XP (I think - probably). That led me to a Winsock control, which exposed the required methods - probably similar to https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-start-page-2. My code has elements like:

Winsock_Connect [HostIP, HostPort]
Winsock.state
Winsock_DataArrival
Winsock.GetData
Winsock.SendData
Winsock.Close
I haven't used for, well, 10 years, but it ran for many months collecting status logs not otherwise available. I see a line of code:

nonce_hash = LCase$(MD5_string(nonce + HostPwd))
which matches the documentation I directed you to. Good luck.
ID: 99745 · Report as offensive

Message boards : Questions and problems : BOINC RPC Support?

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.