Create a Virtual Node for the MGM heading-link-icon

You can create a virtual node using the POST method of the /api/v5_1/virtualnode endpoint. The following sections describe how to use this method:

To create a virtual node for the MGM Membership Group Manager. May also be referred to as the Network Manager. It is a virtual node and Corda identity that acts as a central registrar for group membership. on Linux or macOS, run the following commands in Bash to send the request using Curl, changing the X.500 A series of international standards defining a global directory service protocol for computer networks. It provides a structured framework for storing, accessing, and managing information about network resources and users in a hierarchical and distributed manner. name and using the checksum retrieved when you uploaded the MGM CPI:

export CPI_CHECKSUM=<CPI-checksum>
export X500_NAME="C=GB, L=London, O=MGM"
curl -k -u $REST_API_USER:$REST_API_PASSWORD -d '{ "request": {"cpiFileChecksum": "'$CPI_CHECKSUM'", "x500Name": "'$X500_NAME'"}}' $REST_API_URL/virtualnode

You can use the requestId from the response to check that the virtual node was created successfully. Run the following, replacing <request-ID> with the ID received:

curl -k -u $REST_API_USER:$REST_API_PASSWORD -X GET $REST_API_URL/virtualnode/status/<request-ID>

Once the operation is complete, this request returns a JSON object with status set to SUCCEEDED. You may have to call the /virtualnode/status endpoint multiple times until you receive the SUCCEEDED status. Once complete, to save the ID of the virtual node for future use, run the following command, replacing <resource-ID> with the ID returned in the received response:

export MGM_HOLDING_ID = <resource-ID>

To create a virtual node for the MGM on Windows, run the following commands in PowerShell, changing the X.500 name. The command uses the checksum of the CPI from the response saved when you uploaded the MGM CPI.

$X500_NAME = "C=GB, L=London, O=Alice"
$VIRTUAL_NODE_RESPONSE = Invoke-RestMethod -SkipCertificateCheck  -Headers @{Authorization=("Basic {0}" -f $AUTH_INFO)} -Uri "$REST_API_URL/virtualnode" -Method Post -Body (ConvertTo-Json @{
    request = @{
       cpiFileChecksum = $CPI_STATUS_RESPONSE.cpiFileChecksum
       x500Name = $X500_NAME
    }
})

You can use the requestId from the response to check that the virtual node was created successfully by running the following:

$VIRTUAL_NODE_RESPONSE_STATUS = Invoke-RestMethod -SkipCertificateCheck  -Headers @{Authorization=("Basic {0}" -f $AUTH_INFO)} -Uri "$REST_API_URL/virtualnode/status/$($VIRTUAL_NODE_RESPONSE.requestId)" -Method Get

Once the operation is complete, this request returns a JSON object with status set to SUCCEEDED. You may have to call the /virtualnode/status endpoint multiple times until you receive the SUCCEEDED status. Once complete, to save the ID of the virtual node for future use, run the following command:

$HOLDING_ID = $VIRTUAL_NODE_RESPONSE_STATUS.resourceId

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.