Resource Service

This service groups the requests associated with remote Resource access and verification.

service ResourceService { rpc Get(SignedGetRequest) returns (SignedGetResponse) {} rpc Share (SignedResourceMetadataRequest) returns (SignedShareResourceResponse) {} rpc Verify(SignedVerifyRequest) return (SignedVerifyResponse) {} }

Get Resource

The Get Resource task is a request to read (Get) a resource data from a remote Node. The requested resource is identified in the params field. A resource includes a version field which correspond to the version of the resource data, every change in the content of the data will increment the resource version.

Request Message

The message identify the resource this Node is requesting information for. Multiple resources can be requested from the same Organization. If an Organization receives a request to Get resource it does not manage, it ignores them returning only resource information it manages. Once can request a specific version of the resource or leave the version blank to receive the latest version.

message SignedGetResourceRequest { GetResourceRequest request = 1; common.Signature signature = 2; } message GetResourceRequest { common.Envelope envelope = 1; common.ResourceID resourceId = 2; string acceptType = 3; uint32 version = 4; }
Response Message

The response includes the requested data for each resource. If any of the requested resources cannot be retrieved, an error message is returned with a status code and status message

message SignedGetResourceResponse { GetResourceResponse response = 1; common.Signature signature = 2; } message GetResourceResponse { common.Envelope envelope = 1; common.ResourceID resourceId = 2; string acceptType = 3; bytes resource = 4; uint32 version = 5; }

Share Resource

An Organization can Share / Push resources updates to other Organizations. This is an another method which the Organization can use to distribute its resources information.

Request Message

The message includes the resource ID and resource payload in the default content-type

Response Message

The response code reflects if the recipient got the Resource Payload or if there was an error.

Verify Resource

To verify that a resource data received its authentic and current, an Organization can send a Broadcast request to receive the current hash of resource ID. The sender will then verify the received hashes from the responders with its own calculated hash. The verification algorithm is not specified, but an Organization is expected to store a hash of the current resource data into its cluster underlying DLT.

Request Message
Response Message

The response is collected from all the members of the cluster.