...
- Smart Contract
- Dapp UI (*contact us for demo access)
Web[A web-based GUI is coming soon].
Custom Arrangements
Please contact us with any special needs, which may not be covered above.
...
- Docker images available on Docker Hub (e.g.
docker:python:3.7) - Custom Docker images available anywhere online (e.g.
docker:image-name https://example.com/filefor 64bit docker images, ordocker-x86:image-name https://example.com/filefor 32bit docker images) - Applications deployed directly on the Charity Engine network, both open-source and proprietary (e.g.
charityengine:wolframengine). For a list, see our App Library.
Each job should be a fully independent, self-contained unit of work. Structure your parameter space so that each job covers a distinct range — for example, a starting offset or task index passed as a command-line argument — and runs a predefined number of iterations calibrated to approximately one hour on an average CPU (e.g. a modern i5 or Ryzen 5).
| Info |
|---|
Example: suppose your application searches a parameter space defined by a single integer offset N. Calibrate how many iterations complete in one hour, then assign each job a distinct starting point: |
See instructions on the appropriate interface (section 1.1) for further execution details.
...
To run raw code on Charity Engine, just upload your code and specify the relevant execution environment, either using a "named" environment in our App Library, or by specifying an appropriate container on Docker Hub or the web (see 1.2 "Applications", above)
Examples:
A simple example in python would be to run a "hello world" command:
| Code Block | ||||
|---|---|---|---|---|
| ||||
print("hello world") |
Upload and execute this file in Python by using the Remote CLI:
| Code Block | ||
|---|---|---|
| ||
ce-cli --app "docker:python:slim" --commandline "python /local/input/hello-world.py > /local/output/hello.out" --inputfile hello-world.py --auth [...] |
This produces an output file in the local directory named hello.out that contains the text string "hello world".
An example in NodeJS could perform a simple sum of all numbers passed as parameters. Consider a script named calc-sum.js:
| Code Block | ||||
|---|---|---|---|---|
| ||||
const fs = require('node:fs');
var sum = 0;
for (let i = 2; i < process.argv.length; i++) {
sum += Number(process.argv[i]);
}
try {
fs.writeFileSync('/local/output/sum.out', sum.toString());
}
catch (e) {
console.log(e);
}
|
Because the node Docker container does not handle I/O redirects in the same way as the python container, the script handles writing the output to the correct location within the container and the Remote CLI --commandline only specifies the script and the numbers to include in the sum:
| Code Block | ||
|---|---|---|
| ||
ce-cli --app "docker:node:slim" --commandline "node /local/input/calc-sum.js 1 2 3 4.2" --inputfile calc-sum.js --auth [...] |
This produces an output file named "sum.out" in the local directory, which contains the sum of the numbers given on the command line.
See Packaging as a Docker container for details on how to package your application into a self-sufficient Docker container.sfsdfd
See instructions on the appropriate interface (section 1.1) for further execution details.
...
| Textstyles | ||
|---|---|---|
| ||
[In development] |
Support
Please contact us with any questions.
...