storj/pkg/pb/payments.proto

49 lines
1.6 KiB
Protocol Buffer
Raw Normal View History

// Copyright (C) 2018 Storj Labs, Inc.
// See LICENSE for copying information.
syntax = "proto3";
option go_package = "pb";
// The service definition for the Payments API
service Payments {
// Pay creates a payment to a single storage node
rpc Pay(PaymentRequest) returns (PaymentResponse);
// Calculate determines the outstanding balance for a given storage node
rpc Calculate(CalculateRequest) returns (CalculateResponse);
// AdjustPrices sets the prices paid by a satellite for data at rest and bandwidth
rpc AdjustPrices(AdjustPricesRequest) returns (AdjustPricesResponse);
}
// The request message containing the details needed to pay a storage node.
message PaymentRequest {
// ID of the storage node to be paid
string node_id = 1;
}
// The response message for payments.
message PaymentResponse {}
// The request message containing the details needed to calculate outstanding balance for a storage node.
message CalculateRequest {
// ID of the storage node to be calculated
string node_id = 1;
}
// The response message for payment calculations.
message CalculateResponse {
// ID of the storage node calculation made for
string node_id = 1;
// total balance in Storj of outstanding credit
int64 total = 2;
}
// The request message for adjusting the cost of storage/bandwidth for a satelitte.
message AdjustPricesRequest {
// price per gigabyte of bandwidth calculated in Storj
int64 bandwidth = 1;
// price for GB/H of storage calculated in Storj
int64 storage = 2;
}
// The response message from adjusting cost basis on satelittes.
message AdjustPricesResponse {}