Network Configuration
co-circom
requires a network configuration file for establishing connections to other MPC parties for the generate-witness
and generate-proof
commands.
The network configuration file is a TOML file with the following structure:
my_id = 0
bind_addr = "0.0.0.0:10000"
key_path = "data/key0.der"
[[parties]]
id = 0
dns_name = "localhost:10000"
cert_path = "data/cert0.der"
[[parties]]
id = 1
dns_name = "localhost:10001"
cert_path = "data/cert1.der"
[[parties]]
id = 2
dns_name = "localhost:10002"
cert_path = "data/cert2.der"
See the example configuration in the collaborative-circom/examples/configs
folder, with pre-generated certificates and keys in the collaborative-circom/examples/data
folder.
Keys
my_id
is the party id of the party executing theco-circom
binary using the configuration file.bind_addr
is the local socket address this party is binding to and listening for incoming connections from other parties.key_path
is a path to a DER encoded PKCS8 private key file corresponding to the public key used in the certificate for our party.parties
is an array of tables containing the public information of each MPC party.id
: the party id of the MPC partydns_name
: the hostname/port combination where the party is publicly reachable. The hostname must be the a valid CN or SNI in the used certificate.cert_path
: a path to the DER encoded certificate (chain) file that is used to authenticate the connection with the party and is used to establish the secure communication channel.