Skip to main content

MPC Websocket

Library:

Auth:

Headers:

  • Authorization: String ("Bearer ACCESS_TOKEN")

Example

const headers = {
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIxcXRYQXJabnR3MW1wbDRpZkNVODd6LW9fZjY0Z0d1MVZvNjZLbkgzLW5vIn0.eyJleHAiOjE2NzAzMDAyNjYsImlhdCI6MTY2OTg2ODI2NiwiYXV0aF90aW1lIjoxNjY5ODY4MjYzLCJqdGkiOiJlMjc2OTQyMC02NzVkLTQzMmUtOWM4YS0yYzI4MGQ3NmRlNDEiLCJpc3MiOiJodHRwczovL2lkLWRldi5taXJhaWxhYnMuY28vcmVhbG1zL21hc3RlciIsInN1YiI6ImYxOWJkOTAyLWE3MDAtNDU1MS04YTFlLWY3OWMyZTI5ZDU4MCIsInR5cCI6IkJlYXJlciIsImF6cCI6InNlY3VyaXR5LWFkbWluLWNvbnNvbGUiLCJub25jZSI6IjVjYTBlYmZlLTk4YTAtNDEyOS04ZmI2LTBiMjYzYzA3OWIyNyIsInNlc3Npb25fc3RhdGUiOiJmMDc3ZGZiZS04YTMyLTQzNjUtYjRjNS1jZTYxOTRkNzYzOGMiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbImh0dHBzOi8vaWQtZGV2Lm1pcmFpbGFicy5jbyJdLCJzY29wZSI6Im9wZW5pZCBlbWFpbCBwcm9maWxlIiwic2lkIjoiZjA3N2RmYmUtOGEzMi00MzY1LWI0YzUtY2U2MTk0ZDc2MzhjIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiZ2l2ZW5fbmFtZSI6IiIsImZhbWlseV9uYW1lIjoiIiwiZW1haWwiOiJhZG1pbkBwZWdheHkuaW8ifQ.eardklfkJd-ANKbBdFiECcxNl3cJifkl2XcZT2ZXu_WFo9cb43leM5dQD5YrYPZoaSnNhkQkDw8MZ1-kL20oDMwEw8f3Ll2P4Q9fL6FfYZih8V2P0Yp-wXxOraU2teJfRij8M8nfQiye8YKmATwOxBc2WJWsYEeWzAbnLEk3wuweArXSh03CJio3jlbMi3nhgiRYFjz2Typ6KVzWF-DPRfPM-TRccAxImm0jZVkdChVxCPi_X-lMFjDDlSwrv0hpNt57JPfGLirY9dhRfC3QgV4uCorXmatPqOBoVNEU0jwrVlIl1tMqEUYSFQgNKUWVXylkFJB6WcWhkkEhx4Aocg",
};

const socket = io('http://localhost:8080/mpc', {
transportOptions: {
polling: {
extraHeaders: {
...headers,
},
},
},
});

Compute Event

GetPail

  • Namespace: mpc
  • Event: get-pail
  • Header: Authorization Bearer
  • Data: JSON Object
NameRequire?TypeDescription
x[x]String
y[x]String
  • Response: String
NameTypeDescription
pailPrivKeyString
pailPubKeyString
proofPailNString
gcdRandString

Example

{
"ctx": "12cxa",
"keyPair1Public": "6d5ba3d6b910a8b39560b5a1bf8df3d28f690e43bd0aebc30ec7d4297a2a4a20bf85b910487ad96be134cb54eea8950c9e851bec78b88cb911a2aa50cc4e547df66f2c201db5063bd4053ab684c190"
}

Precompute

  • Namespace: mpc
  • Event: precompute
  • Header: Authorization Bearer
  • Data: JSON Object
NameRequire?TypeDescription
ctx[x]Stringcontext
keyPair1PublicStringEncode public key 1
  • Response: String
NameTypeDescription
messageStringMessage Encode

Example

{
"ctx": "12cxa",
"keyPair1Public": "6d5ba3d6b910a8b39560b5a1bf8df3d28f690e43bd0aebc30ec7d4297a2a4a20bf85b910487ad96be134cb54eea8950c9e851bec78b88cb911a2aa50cc4e547df66f2c201db5063bd4053ab684c190"
}

Step 1

  • Namespace: mpc
  • Event: compute-step1
  • Header: Authorization Bearer
  • Data: JSON Object
NameRequire?TypeDescription
message[x]StringMessage encode
  • Response: String
NameTypeDescription
messageStringMessage Encode

Example

{
"message": "12cxa"
}

Step 2

  • Namespace: mpc
  • Event: compute-step2
  • Header: Authorization Bearer
  • Data: JSON Object
NameRequire?TypeDescription
message[x]StringMessage encode
  • Response: String
NameTypeDescription
messageStringMessage Encode

Example

{
"message": "12cxa"
}

Done

  • Namespace: mpc
  • Event: compute-done
  • Header: Authorization Bearer
  • Data: Nonce
  • Response: Nonce

Signing Event

Signing

  • Namespace: mpc
  • Event: signing
  • Header: Authorization Bearer
  • Data: JSON Object
NameRequire?TypeDescription
ctx[x]Stringcontext
keyPair1PublicStringEncode public key 1
  • Response: String
NameTypeDescription
messageStringMessage Encode

Example

{
"ctx": "12cxa",
"keyPair1Public": "6d5ba3d6b910a8b39560b5a1bf8df3d28f690e43bd0aebc30ec7d4297a2a4a20bf85b910487ad96be134cb54eea8950c9e851bec78b88cb911a2aa50cc4e547df66f2c201db5063bd4053ab684c190"
}

Step 1

  • Namespace: mpc
  • Event: signing-step1
  • Header: Authorization Bearer
  • Data: JSON Object
NameRequire?TypeDescription
ctxMessage[x]StringContext Message
message[x]StringMessage
  • Response: String
NameTypeDescription
messageStringMessage Encode

Example

{
"ctxMessage": "12cxa",
"message": "12cxa"
}

Step 2

  • Namespace: mpc
  • Event: signing-step2
  • Header: Authorization Bearer
  • Data: JSON Object
NameRequire?TypeDescription
message[x]StringMessage encode
  • Response: String
NameTypeDescription
messageStringMessage Encode

Example

{
"message": "12cxa"
}

Done

  • Namespace: mpc
  • Event: signing-done
  • Header: Authorization Bearer
  • Data: Nonce
  • Response: Nonce