Search
K

Ecosystem Operator

Step-by-step guide for an ecosystem operator
An Ecosystem Operator is responsible for initializing the ecosystem, designing workflows and inviting participating organizations.

Workgroup Creation

A Workgroup is required to interact with counterparties using the baseline protocol.
prvd baseline workgroups init
During this process, you will be prompted to:
  • Name your Workgroup
  • Select a mainnet where the Workgroup will operate
    • You may select any listed mainnet, though for testing purposes we recommend Ropsten.
    • Select the appropriate Organization to be added to the Workgroup
Initialize a new workgroup:
CLI
Prompt
prvd baseline workgroups init --name '<workgroup name>' \
--network <network_id> \
--organization <organization_id>
❯ prvd baseline workgroups init
DEBU[0000] using stderr for new logger instance
Workgroup Name: Demo Workgroup
✔ Ethereum Rinkeby testnet
✔ ABC Corp
If you are not interesting in inviting participants and only wish to run the stack, you can skip Inviting Participants below and proceed to Run the Stack.

Inviting Participants

A Workgroup setup is incomplete without participants to send messages. You will need to generate a verifiable credential (signed JWT) to distribute to each invitee, which will be used to join your Workgroup:
prvd baseline workgroups participants invite
During this process, you will be prompted to:
  • Enter the name of the invitee's Organization
  • Enter the invitee's email address
  • Select the appropriate Workgroup
  • Select the appropriate Organization
Invite a participant to the workgroup:
CLI
Prompt
prvd baseline workgroups participants invite --organization <organization_id> \
--workgroup <workgroup_id> \
--name 'DJ Corp' \
2021/05/21 11:24:39 invited baseline workgroup participant: [email protected]
eyJhbGciOiJSUzI1NiIsImtpZCI6IjIwOjU4OjU4OjQ3OmVkOmMxOmM0OmUyOjVkOjA4OmVkOmI4OjgxOjQ1OmZiOmJjIiwidHlwIjoiSldUIn0.eyJhdWQiOiJ0Y3A6Ly82LnRjcC5uZ3Jvay5pbzoxOTYyNiIsImJhc2VsaW5lIjp7Imludml0b3Jfb3JnYW5pemF0aW9uX2FkZHJlc3MiOiIweDBBNzlmZjAyNEFmMkViZjdCNURFNWNiOGQyNjZENWRiNjc4MTg2MTYiLCJyZWdpc3RyeV9jb250cmFjdF9hZGRyZXNzIjoiMHg5RkZEN2JlODk1NUUwZjdCZkZjRjUyN0E1MjkzNTk0QTJlMUU4QjhhIiwid29ya2dyb3VwX2lkIjoiMzg4MjEwNzAtNjYxMS00YTNiLTg5MDItN2VhNTQwZGQyNDQ5In0sImlhdCI6MTYyMTYxMDY3OSwiaXNzIjoib3JnYW5pemF0aW9uOjQwZWU4MGRhLTFjYzktNGFiYi04NDgwLWYyYjY4OGFjY2I5MCIsIm5hdHMiOnsicGVybWlzc2lvbnMiOnsicHVibGlzaCI6eyJhbGxvdyI6WyJiYXNlbGluZS5cdTAwM2UiXX19fSwic3ViIjoiZGpjb0Bwcm92aWRlLmxvY2FsIn0.fWo47v04w5hX6ghY-h5My0PTfH1OhPHTOSUyHvxUkB_XhGzbXrX6bgzLD28hDM6Nc1L0tznDulJOROgSniy-VXlos1aHXFF1sRjXEa1F-e3UbvzYLEGUSmRh3_j7rGf2_3QL4A1dXbftXwd_NRw-R_g-vp4dnA3PcuysEg5-YSRk4bMBGKlP7OpwGCaOUNH3vAi6X_D5p_S93U9nK5vgumQs_yuDfSQ9oV3YIRHNoNYGWDh4FMl3cXsncAHI5Rk9GjgHjq6kq2aLeo6LZ8ObOCkNlZpn8lBddTjBLSkNdJOnxA0qL18aIP8RsoWxzukmv9DUZxVhOwysRCC_dZ9rwlk5UKFBvem4mMqC2hxHv9WpKpOC3u4fxJHFdxcBk2e5nrRQvGKzb82q9xaJsCGLFZr3fKXkvVwqGOMi-t655N-qwvFGXLdj2ydsb4gqrlY-pkYR_3Qmm8UPjdfhHQrwrAL4DobIJWUhT_iDG945epPdXhtINEtPfGbR2kpwdeyMo_5kMro8SmThg44OdFhZae557XcP626P1TnA56-nttXgRK9LUrG-yTBbNz9sN2yofFL19xOkf6_dC1rOv-k2v2T_pxWwY69RrrEjKJVtN3BupKKarVJou5tEI8AWnnwRw91GQdMzttQgAxTIax67LNjc81Ar11qELhldCvorOEo
prvd baseline workgroups participants invite
DEBU[0000] using stderr for new logger instance
Invitee Name: DJ Co
Invitee Email: [email protected]
✔ EY Summit Day 4
✔ KT
2021/05/21 11:24:39 invited baseline workgroup participant: [email protected]
eyJhbGciOiJSUzI1NiIsImtpZCI6IjIwOjU4OjU4OjQ3OmVkOmMxOmM0OmUyOjVkOjA4OmVkOmI4OjgxOjQ1OmZiOmJjIiwidHlwIjoiSldUIn0.eyJhdWQiOiJ0Y3A6Ly82LnRjcC5uZ3Jvay5pbzoxOTYyNiIsImJhc2VsaW5lIjp7Imludml0b3Jfb3JnYW5pemF0aW9uX2FkZHJlc3MiOiIweDBBNzlmZjAyNEFmMkViZjdCNURFNWNiOGQyNjZENWRiNjc4MTg2MTYiLCJyZWdpc3RyeV9jb250cmFjdF9hZGRyZXNzIjoiMHg5RkZEN2JlODk1NUUwZjdCZkZjRjUyN0E1MjkzNTk0QTJlMUU4QjhhIiwid29ya2dyb3VwX2lkIjoiMzg4MjEwNzAtNjYxMS00YTNiLTg5MDItN2VhNTQwZGQyNDQ5In0sImlhdCI6MTYyMTYxMDY3OSwiaXNzIjoib3JnYW5pemF0aW9uOjQwZWU4MGRhLTFjYzktNGFiYi04NDgwLWYyYjY4OGFjY2I5MCIsIm5hdHMiOnsicGVybWlzc2lvbnMiOnsicHVibGlzaCI6eyJhbGxvdyI6WyJiYXNlbGluZS5cdTAwM2UiXX19fSwic3ViIjoiZGpjb0Bwcm92aWRlLmxvY2FsIn0.fWo47v04w5hX6ghY-h5My0PTfH1OhPHTOSUyHvxUkB_XhGzbXrX6bgzLD28hDM6Nc1L0tznDulJOROgSniy-VXlos1aHXFF1sRjXEa1F-e3UbvzYLEGUSmRh3_j7rGf2_3QL4A1dXbftXwd_NRw-R_g-vp4dnA3PcuysEg5-YSRk4bMBGKlP7OpwGCaOUNH3vAi6X_D5p_S93U9nK5vgumQs_yuDfSQ9oV3YIRHNoNYGWDh4FMl3cXsncAHI5Rk9GjgHjq6kq2aLeo6LZ8ObOCkNlZpn8lBddTjBLSkNdJOnxA0qL18aIP8RsoWxzukmv9DUZxVhOwysRCC_dZ9rwlk5UKFBvem4mMqC2hxHv9WpKpOC3u4fxJHFdxcBk2e5nrRQvGKzb82q9xaJsCGLFZr3fKXkvVwqGOMi-t655N-qwvFGXLdj2ydsb4gqrlY-pkYR_3Qmm8UPjdfhHQrwrAL4DobIJWUhT_iDG945epPdXhtINEtPfGbR2kpwdeyMo_5kMro8SmThg44OdFhZae557XcP626P1TnA56-nttXgRK9LUrG-yTBbNz9sN2yofFL19xOkf6_dC1rOv-k2v2T_pxWwY69RrrEjKJVtN3BupKKarVJou5tEI8AWnnwRw91GQdMzttQgAxTIax67LNjc81Ar11qELhldCvorOEo

Verifiable Credential

The invitation is a verifiable credential (signed JWT) that authorizes the invited party to connect and send protocol messages:
{
"aud": "tcp://8.tcp.ngrok.io:15739",
"baseline": {
"invitor_organization_address": "0x584f8C05f665E6bA1ffdb729cc588C8D9158c3cd",
"registry_contract_address": "0x7fC1B14a4DC8662e0F9092cc68182bFc26E49596",
"workgroup_id": "6b0e1154-1cbe-4c8b-9b90-6e176d70e4ca"
},
"iat": 1621700053,
"iss": "organization:789c6248-591e-4b71-bc95-1e766e51d629",
"nats": {
"permissions": {
"publish": {
"allow": [
"baseline.>"
]
}
}
},
}