computes-mesh v1.0.41
Computes Mesh
NPM module for creating, connecting, computing, and messaging on the computes.io supercomputer mesh network. Node module includes Kernel + Core + Messaging Engine in each node. (more details)
Install
$ npm install computes-mesh
Use
This version requires the go-ipfs daemon running in pubsub mode:
$ ipfs daemon --enable-pubsub-experiment
Here's the Node.JS code:
const computes = require('computes-mesh');
var job = computes.connect("domain-key-provided-by-computes.io");
API
job.on('ready', () => {})
Event fires when node is successfully connected to computes mesh network.
job.compute(operation, data)
Sends computes request to next available core in the network. Operations can be Javascript text strings or a URL such as a raw gist or an IPFS hash or an NPM URL
job.on('result', (result) => {})
Listens for results from computes requests. The result contains the core's computational result.
job.message(domain, message)
Sends message (string or buffer) to all nodes on the domain or to a specific nodeID.
job.on('message', (data) => {})
Listens for messages. data
is an object containing the following properties:
from
(string): peer idmessage
(Buffer): message content
job.peers(domain)
Returns array of peers attached to domain.
job.disconnect()
Leaves domain.
job.exit()
Leaves domain, stopping everything.
Example
This example echos 1 to 1000 across all of the nodes on the mesh network. It also demonstrates the message API:
const computes = require('computes-mesh');
var job = computes.connect("domain-key-provided-by-computes.io");
var operation = "(function(data) { var result = data; return result; })";
job.on("ready", function (){
console.log("connected to ipfs...");
for(var data = 0; data < 1000; data++) {
job.compute(operation, data);
}
});
// Fires as cores return results
job.on("result", function (result){
console.log(result);
// Demo broadcasting message with result
job.message("domain-key-provided-by-computes.io", result);
});
// Fires when messages are received
job.on("message", function (msg){
console.log(msg);
});
Notes:
Operations can also be a URL such as a raw gist or an IPFS hash or an NPM URL i.e.
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago