BOINC projects export a number of Web RPCs
that can be used to create, query and update
accounts and host records.
These can be used for
account management systems and
credit statistics web sites.
BOINC's RPC mechanisms have the following conventions:
- Each RPC is an HTTP GET transaction.
- The input is the GET arguments, i.e. a string of the form
".html_text("
param1=val1¶m2=val2&...¶mn=valn
")."
where param1 ... paramN are the parameter names,
and val1 ... valn are the values.
-
The output is XML.
Create account
";
list_start();
list_item("URL", "project_url/create_account.php");
list_item(
"input",
"email_addr: email address
passwd_hash: the MD5 hash of the concatenation
of the user's password and the email address.
user_name: the user name
");
list_item(
"output",
html_text("
[ N ]
[ XXX ]
")
);
list_item(
"action",
"If the project already has an account with that email address,
and a different password, it returns an error.
If an account with that email address exists
and has the same password, it returns the authenticator.
Otherwise the project creates an account
and returns the authenticator.
");
list_end();
echo "
Look up account
";
list_start();
list_item("URL", "project_url/lookup_account.php");
list_item(
"input",
"email_addr: email address
passwd_hash: the MD5 hash of the concatenation
of the user's password and the email address.
");
list_item(
"output",
html_text("
[ N ]
[ XXX ]
")
);
list_item(
"action",
"If an account with the given email address and password hash exists,
return its account key."
);
list_end();
echo "
Get account info
";
list_start();
list_item("URL", "project_url/am_get_info.php");
list_item("input", "account_key");
list_item("output",
html_text("
ID
NAME
COUNTRY
POSTAL_CODE
GLOBAL_PREFS
PROJECT_PREFS
URL
SEND_EMAIL
SHOW_HOSTS
N
X
or
MSG
")
);
list_item("action", "returns data associated with the given account");
list_end();
echo "
Set account info
";
list_start();
list_item("URL", "project_url/am_set_info.php");
list_item("input",
"account_key
[ name ]
[ country ]
[ postal_code ]
[ global_prefs ]
[ project_prefs ]
[ url ]
[ send_email ]
[ show_hosts ]
[ teamid ] zero means quit current team, if any
[ venue ]
[ email_addr ]
[ password_hash ]
"
);
list_item("output",
html_text("
[ MSG ]
[ ]
")
);
list_item("action",
"Updates one or more attributes of the given account.
The password hash is MD5(password+lower_case(email_addr)).
If email address is changed,
you must also change the password hash."
);
list_end();
echo "
Set host info
";
list_start();
list_item("URL", "project_url/am_set_host_info.php");
list_item("input",
"account_key
hostid
venue
"
);
list_item("output",
html_text("
[ MSG ]
[ ]
")
);
list_item("action",
"Updates the host's venue"
);
list_end();
echo "
Get account/host credit information
";
list_start();
list_item("URL",
"project/show_user.php?userid=X&format=xml or
project/show_user.php?auth=X&format=xml"
);
list_item("input",
"id (user ID) or auth (account key)"
);
list_item("output",
html_text("
123
fe0b2753a355b17864ec061eb1b9e8de
918948493
Joe Smith
United States
3806.869739
200
1110833427.64028
114322
example.com
1
or
123
fe0b2753a355b17864ec061eb1b9e8de
1101918807
David
United States
0.293197
0.000883
1116963330.83107
0
example.com
1
123
1287339128
123
fe0b2753a355b17864ec061eb1b9e8de
0
0
0
Sorabji
1
Mobile Intel(R) Pentium(R) 4 - M CPU 2.20GHz
Pentium
330806175.78458
409200165.535107
Microsoft Windows XP
Professional Edition, Service Pack 2, (05.01.2600.00)
...
")
);
list_item("action",
"Returns info about an account.
If called with the account key,
returns a list of hosts associated with the account."
);
list_end();
echo "
Look up teams
";
list_start();
list_item("URL",
"project/team_lookup.php?team_name=string&format=xml"
);
list_item("input",
"Substring of team name"
);
list_item("output",
html_text("
5
BOINC@AUSTRALIA
Australia
9
BOINC Synergy
International
16
BOINC.BE
Belgium
23
HispaSeti & BOINC
International