Skip to main content

ResQ.Blockchain.INeoClient

INeoClient.RecordLocationAttestationAsync(LocationAttestation, CancellationToken) Method

Records a drone location attestation on the blockchain.
System.Threading.Tasks.Task<ResQ.Blockchain.TransactionResult> RecordLocationAttestationAsync(ResQ.Blockchain.LocationAttestation attestation, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

attestation LocationAttestation The location attestation containing drone position and signature. cancellationToken System.Threading.CancellationToken Cancellation token for the operation.

Returns

System.Threading.Tasks.Task<TransactionResult>
A TransactionResult containing the transaction hash and confirmation status.

Exceptions

System.InvalidOperationException
Thrown when the blockchain operation fails.
System.OperationCanceledException
Thrown when the operation is cancelled.

Example

var attestation = new LocationAttestation(
    DroneId: "drn-001",
    Latitude: 37.7749,
    Longitude: -122.4194,
    Altitude: 100.0,
    Timestamp: DateTimeOffset.UtcNow,
    Signature: "0x..."
);

var result = await neoClient.RecordLocationAttestationAsync(attestation);

Remarks

Location attestations provide cryptographic proof of a drone’s position at a specific time. This is useful for compliance, incident reconstruction, and verification of mission execution.