Creando una gobernanza

Una vez que el WPO tiene un nodo en la red kore, es momento de definir el caso de uso, que incluye participantes, reglas de interacción, modelos de información, entre otros aspectos. En la red kore, esto se logra creando una gobernanza, donde se especifica la funcionalidad específica del caso de uso.

Para crear una gobernanza básica, se requieren los siguientes pasos:

  • Para comenzar, ejecute el siguiente comando para crear una versión básica de una gobernanza:

    curl --request POST 'http://localhost:3000/event-requests' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "request": {
        "Create": {
          "governance_id": "",
          "schema_id": "governance",
          "namespace": "",
          "name": "wine_track"
        }
      }
    }'
    
  • Como resultado de la acción anterior, se devolverá un request-id. Cópialo y úsalo en el siguiente comando:

    curl --request GET 'http://localhost:3000/event-requests/{{REQUEST-ID}}/state'
    

    Este último comando proporcionará una respuesta como la siguiente:

    {
      "id": "{{REQUEST-ID}}",
      "subject_id": "{{GOVERNANCE-ID}}",
      "sn": 0,
      "state": "finished",
      "success": true
    }
    
  • Podemos verificar la gobernanza creada usando el siguiente comando:

    curl --request GET 'http://localhost:3000/subjects/{{GOVERNANCE-ID}}'
    

    El resultado obtenido debería ser similar al siguiente:

    {
      "subject_id": "{{GOVERNANCE-ID}}",
      "governance_id": "",
      "sn": 0,
      "public_key": "E8tVWEasubIp7P9fzk_HttNCsABymV9m9xEPAfr-QV7M",
      "namespace": "",
      "name": "wine_track",
      "schema_id": "governance",
      "owner": "{{CONTROLLER-ID}}",
      "creator": "{{CONTROLLER-ID}}",
      "properties": {
        "members": [],
        "policies": [
          {
            "approve": {
              "quorum": "MAJORITY"
            },
            "evaluate": {
              "quorum": "MAJORITY"
            },
            "id": "governance",
            "validate": {
              "quorum": "MAJORITY"
            }
          }
        ],
        "roles": [
          {
            "namespace": "",
            "role": "WITNESS",
            "schema": {
              "ID": "governance"
            },
            "who": "MEMBERS"
          }
        ],
        "schemas": []
      },
      "active": true
    }
    
Última modificación: 06/06/2024