Compute
Blind computation requires three elements:
- Storing of a Program (via self or by someone else)
- Invoking the program with your parameters
- Retrieving the computed results
Note: in order to use these functions, you (as the developer) should have created Nada programs to interact with. See this guide if you have not done this process.
useNilStoreProgram
To store a program, you would have computed a XXX.nada.bin file after you built a successful nada program. You will need to upload this file via the FileReader to upload the program. The mutation.execute({ name, program }) part should automatically take in your program + name.
loading...
useNilInvokeCompute
To invoke a program, you pass in the programId of the program you have uploaded with considerations of the inputs you want to provide in your options. computeTimeValues with respect to name and value are what you want to adjust.
const options = {
programId,
inputBindings: [{ party: "Party1", user: client.id }],
outputBindings: [{ party: "Party1", users: [client.id] }],
valueIds: [],
computeTimeValues: [
{
name: "A",
value: NadaValue.new_secret_integer("10"),
},
{
name: "B",
value: NadaValue.new_secret_integer("4"),
},
],
};
loading...
useNilRetrieveComputeResults
To retrieve, you simply pass in the id from the previous invocation.
loading...