Get desktop application:
View/edit binary Protocol Buffers messages
List addresses into given blacklist
Remove removes given address from blacklist
Purge removes all addresses from your blacklist
If provided, supplierID, consumerID, and masterID fields are ignored. Any of the above IDs must match the provided value.
No values passed returns all orders, empty address (common.Address{}.Hex()) returns orders with CounterpartyID not set. To get a list of all orders that suit you, pass an empty address and your own address.
IDs associated with sender.
Deprecated: use GetChangeRequests.
DealManagement describe a bunch of methods to manage deals made into the SONM network
List produces a list of all deals made by client with given ID
Status produces a detailed info about deal with given ID.
Finish finishes a deal with given ID Deprecated: use FinishDeals instead
FinishDeals finishes deals with given IDs
PurgeDeals finishes all deals where client acts as a consumer
Open tries to open deal between two orders
ChangeRequestsList return change requests for given deal
CreateChangeRequest creates new change request for deal
ApproveChangeRequest approves change request by their ID
CancelChangeRequest removes pending change request
QuickBuy places BID order with the same parameters as given ASK order have, then opens deal with this two orders.
(message has no fields)
(message has no fields)
secured by capabilities.
Config returns the inspected server's configuration.
(message has no fields)
Config represents JSON encoded configuration of the inspected entity.
OpenFiles returns the list of open files of the inspected process.
(message has no fields)
Network returns host's network configuration and open connections of the inspected process.
(message has no fields)
HostInfo returns information about inspected host.
(message has no fields)
DockerInfo returns information about Docker on the inspected host.
(message has no fields)
DockerNetwork returns information about Docker network on the inspected host.
(message has no fields)
DockerVolumes returns information about Docker volumes on the inspected host.
(message has no fields)
WatchLogs subscribes for logs of the inspected process.
(message has no fields)
GetOrders returns orders by given filter parameters. Note that set of filters may be changed in the closest future.
CreateOrder places new order on the Marketplace. Note that current impl of Node API prevents you from creating ASKs orders.
GetOrderByID returns order by given ID. If order save an `inactive` status returns error instead. TODO: get rid of string ID #1237
CancelOrder removes active order from the Marketplace. TODO: get rid of string ID #1237 Deprecated: use CancelOrders instead
CancelOrders removes specified orders from the Marketplace.
Purge remove all active orders from marketplace Deprecated: use PurgeVerbose
PurgeVerbose remove all active orders from marketplace and return detailed status on each order
todo: implement this as part of Node API
WorkersList returns worker's list for current master address. List includes already registred workers and pending unapproved requests.
WorkerConfirm (as master) confirms incoming request for given Worker address.
WorkerRemove (as master) unbinds given Worker address from Master address.
List allows searching for profiles
Status shows detailed info about given profile
RemoveAttribute allows to remove profile attributes for the user's own profile
(message has no fields)
(message has no fields)
(message has no fields)
Flush completely resets
(message has no fields)
(message has no fields)
RelayInfo is a response returned from Info handle.
(message has no fields)
(message has no fields)
Resolve resolves the remote peer addresses.
ConnectRequest describes a connection request to a remote target, possibly located under the NAT.
ID describes an unique ID of a target. Mainly it's an ETH address.
Protocol describes the application protocol the peer wants to resolve.
PrivateAddrs describes source private addresses.
ResolveAll resolves remote servers using the specified peer ID, returning the list of unique id's of these servets. Such UUIDs can be used for establishing aimed connection with all servers under the same ID without randomization games.
Publish allows to publish the caller server's endpoints. While published the server can be located using the ID extracted from the transport credentials.
Protocol describes the application protocol the peer wants to publish.
PrivateAddrs describes source private addresses.
Info returns server's internal state.
RendezvousState is a response returned from Info handle.
TaskManagement describe a bunch of methods to manage tasks running into the SONM network Deprecated: use serviceWorker instead and pass dealID via context
List produces a list of all tasks running on different SONM nodes
PushTask pushes image to Worker
Start starts a task on given resource
JoinNetwork provides network specs to join specified task
Status produces a task status by their ID
Logs retrieves a task log (stdin/stderr) from given task
Stop stops a task by their ID
PullTask pulls task image back
TestTokens increases balance for some amount of test tokens into live-chian ethereum network. Deprecated: currently we do not use custom token with this possibility
Balance provide account balance for live- and side- chains. Deprecated: use BalanceOf method instead.
BalanceOf provide account balance of specified address.
Deposit transfers funds from masterchain to sidechain
Withdraw transfers funds from sidechain to masterchain
MarketAllowance returns current allowance for BC market
Transfer transfers funds from one sidechain account to another.
/ Task Management section
StartTask schedules the task associcated with a deal.
PurgeTasks stops all tasks by given deal
Note: currently used for testing pusposes.
WorkerManagement describe a bunch of methods to manage Worker instance. Must be called by Worker's owner.
Status produse a detailed info about worker
Devices provides detailed information about device and show benchmark results.
FreeDevices provides information about unallocated resources that can be turned into ask-plans. Deprecated: no longer usable.
Tasks produces a list of all running tasks on the worker
AskPlans allows to obtain previously assigned Ask Plans from for a given worker.
CreateAskPlan allows to create rules for creating Ask orders on Marketplace
RemoveAskPlan allows to remove rules for creating Ask orders on Marketplace
PurgeAskPlans removes all ask-plans Deprecated: use PurgeAsksPlansDetailed instead
PurgeAsksPlansDetailed removes all ask-plans in sync manner and returns error for each ask-plan (if it's present)
Schedule maintenance for worker: it will attempt to close all deals till that time point
Get next planned maintenance
Get useful debugging info - scheduler state and salesman state
Remove benchmark cached value by specified benchmark ID
Schedule full rebenchmarking on next restart
Metrics returns hardware metrics for this worker.
(message has no fields)
AddCapability allows to temporary provide admin capabilities to another subject.
Subject is the ETH address of a subject whose capabilities are extended.
Scope shows the capability scope.
TTL represents the capability TTL in seconds.
(message has no fields)
RemoveCapability allows to revoke provided admin capabilities from another subject.
Subject is the ETH address of a subject whose capabilities are removed.
Scope shows the capability scope.
(message has no fields)
Used in:
, , ,Protocol describes the underlying transport protocol, for example "tcp" or "udp".
Used as request type in: WorkerManagement.CreateAskPlan
Used as field type in:
,Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
, , , , ,Used in:
Used as response type in: TokenManagement.Balance, TokenManagement.BalanceOf
Benchmark describes a way to measure hardware performance
Used in:
, , , ,Used in:
,Used in:
Used as request type in: OrderPredictor.Predict
Used as field type in:
BigInt represents multi-precision value stored as a big integer.
Used as request type in: DWH.GetDealChangeRequests, DWH.GetDealDetails, DWH.GetOrderDetails, DealManagement.ApproveChangeRequest, DealManagement.CancelChangeRequest, DealManagement.ChangeRequestsList, DealManagement.Status, Profiles.RemoveAttribute, TokenManagement.Deposit, TokenManagement.Withdraw
Used as response type in: DealManagement.CreateChangeRequest, TokenManagement.MarketAllowance
Used as field type in:
, , , , , , , , , , , , , , , , , , , , , , , , , , , ,Used in:
Used in:
Used as response type in: Blacklist.List, DWH.GetBlacklist
Used as request type in: DWH.GetBlacklist, DWH.GetBlacklistsContainingUser
Used in:
,Used in:
Used in:
ModelName describes full model name. For example "Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz".
Cores describes number of cores on a CPU device.
Sockets describes number of CPU sockets on a host system.
Used in:
Used in:
,Used in:
Used as request type in: TaskManagement.PushTask, Worker.PushTask
Used as response type in: TaskManagement.PullTask, Worker.PullTask
Used in:
Used in:
, ,Used in:
Fd shows the file descriptor number.
Used in:
Image describes a Docker image name. Required.
SSH public key used to attach to the container.
CommitOnStop points whether a container should commit when stopped. Committed containers can be fetched later while there is an active deal.
Env describes environment variables forwarded into the container.
Volumes describes network volumes that are used to be mounted inside the container. Mapping from the volume type (cifs, nfs, etc.) to its settings.
Mounts describes mount points from the volume name to the container.
ContainerRestartPolicy describes the restart policies of the container.
Expose controls how container ports are exposed. Format is "public_ip:public_port:private_port/protocol" Protocol can be "tcp", "udp", "sctp". If the "protocol" parameter is ommited "tcp" is implied. If the "public_ip" parameter is ommited then the port is being exposed on all available ips.
Push the committed image to remote repository (works only if CommitOnStop is set to `true`).
ContainerRestartPolicy represents the restart policies of the container.
Used in:
Name can be either "always" to always restart or "on-failure" to restart only when the container exit code is non-zero. If on-failure is used, MaximumRetryCount controls the number of times to retry before giving up. The default is not to restart.
Used as request type in: DealManagement.List, Market.GetOrders
Used as response type in: DWH.GetDealDetails
Used as field type in:
Used as response type in: DWH.GetOrderDetails
Used as field type in:
Used as response type in: DWH.GetMatchingOrders, DWH.GetOrders, DWH.GetOrdersByIDs
Used in:
Used in:
,Used in:
,Used in:
Used as response type in: DealManagement.Open
Used as field type in:
, , ,Used as request type in: DealManagement.CreateChangeRequest
Used as field type in:
Used as response type in: DWH.GetChangeRequests, DWH.GetDealChangeRequests, DealManagement.ChangeRequestsList
Used in:
Used as request type in: DealManagement.Finish
Used as field type in:
Used as response type in: DealManagement.QuickBuy, DealManagement.Status, Worker.GetDealInfo
List of currently running tasks.
List of completed tasks.
Resources is a real resources (cores, ram bytes, GPU devices, etc) allocated on a worker for this deal.
Used in:
,BenchmarkType describes hardware group for which this benchmark is applicable
Used in:
Used as response type in: WorkerManagement.Devices, WorkerManagement.FreeDevices
Used as field type in:
Addr represents network address in form "host:port".
Used in:
, ,Used as request type in: Blacklist.Purge, DWH.GetStats, Market.Purge, Market.PurgeVerbose, Monitoring.MetricsNPP, Relay.Cluster, Relay.Info, Relay.Metrics, Rendezvous.Info, TokenManagement.Balance, TokenManagement.MarketAllowance, TokenManagement.TestTokens, WorkerManagement.AskPlans, WorkerManagement.DebugState, WorkerManagement.Devices, WorkerManagement.FreeDevices, WorkerManagement.NextMaintenance, WorkerManagement.PurgeAskPlans, WorkerManagement.PurgeAskPlansDetailed, WorkerManagement.PurgeBenchmarks, WorkerManagement.Status, WorkerManagement.Tasks
Used as response type in: Blacklist.Remove, DealManagement.ApproveChangeRequest, DealManagement.CancelChangeRequest, DealManagement.Finish, Market.CancelOrder, Market.Purge, MasterManagement.WorkerConfirm, MasterManagement.WorkerRemove, Profiles.RemoveAttribute, TaskManagement.Stop, TokenManagement.Deposit, TokenManagement.TestTokens, TokenManagement.Transfer, TokenManagement.Withdraw, Worker.StopTask, WorkerManagement.PurgeAskPlans, WorkerManagement.PurgeBenchmarks, WorkerManagement.RemoveAskPlan, WorkerManagement.RemoveBenchmark, WorkerManagement.ScheduleMaintenance
(message has no fields)
Used in:
,Used as response type in: DealManagement.FinishDeals, DealManagement.PurgeDeals, Market.CancelOrders, Market.PurgeVerbose
Used in:
Used as response type in: Blacklist.Purge, Worker.PurgeTasks, WorkerManagement.PurgeAskPlansDetailed
Used in:
Used as request type in: Blacklist.List, Blacklist.Remove, MasterManagement.WorkerConfirm, MasterManagement.WorkersList, TokenManagement.BalanceOf
Used as field type in:
, , , , , , , , , , , , , , , , , , , , , ,Used as request type in: DWH.GetProfileInfo, Profiles.Status
Used in:
Fd shows the file descriptor number.
Path shows either real path on the filesystem or its description if the file is not a real file, i.e. a socket for example.
Used in:
Used in:
,ID returns unique device ID on workers machine, typically PCI bus ID
VendorID returns an unique device vendor identifier
VendorName returns GPU vendor name.
DeviceID returns device ID (e.g.: NVidia)
DeviceName returns device name, (e.g.: 1080Ti)
MajorNumber returns device's major number
MinorNumber returns device's minor number
Memory is amount of vmem for device, in bytes
Hash string built from device parameters
DeviceFiles is something like "/dev/nvidia0", "/dev/nvidiactl", "/dev/dri/card0" and so on. This devices should be attached to a container.
DriverVolumes maps volume name into "hostPath:containerPath" pair. Applicable to nvidia drivers.
Used in:
Used in:
PeerType describes a peer's source.
Addr represents a common Ethereum address both peers are connecting around. In case of servers it's their own id. Must be signed. In case of clients - it's the target server id. In case of discovery requests this field has special meaning. Both client and server must discover the same relay server to be able to meet each other. At this stage there is no parameter verification. It is done in the Handshake method.
Signature for ETH address. Should be empty for clients.
Optional connection id. It is used when a client wants to connect to a specific server avoiding random select. Should be empty for servers.
Protocol describes the network protocol the peer wants to publish or to resolve.
Error describes an error number. Zero value means that there is no error.
Description describes an error above.
Used as request type in: Market.CancelOrder, Market.GetOrderByID, Rendezvous.ResolveAll, Worker.GetDealInfo, Worker.StopTask, Worker.TaskStatus, WorkerManagement.RemoveAskPlan
Used as response type in: WorkerManagement.CreateAskPlan
Used in:
, , , , ,Used in:
MTU represents the maximum transmission unit.
Name represents the network interface name, for example "en0", "lo0", "eth0.100".
HardwareAddr is the interface address in IEEE MAC-48, EUI-48 and EUI-64 form.
Flags provides additional interface info, like FlagUp, FlagLoopback, FlagMulticast.
Addrs represents IP addresses and its subnet assigned to this interface.
Used in:
,Used in:
Used in:
,Used in:
Used in:
Used in:
Used in:
, ,Used in:
Used in:
Used as response type in: TaskManagement.JoinNetwork, Worker.JoinNetwork
Used as field type in:
Used in:
Used as response type in: Market.CreateOrder, Market.GetOrderByID
Used as field type in:
, ,Used in:
,Used in:
, ,Used in:
Used as response type in: OrderPredictor.Predict
Used as field type in:
, ,Used as response type in: DWH.GetProfileInfo, Profiles.Status
Used as field type in:
Used in:
Used as response type in: DWH.GetProfiles, Profiles.List
Used as request type in: DWH.GetProfiles, Profiles.List
This value is LIKE-matched against both profile Name and UserID (case insensitive).
Used as response type in: TaskManagement.PushTask, Worker.PushTask
Used as request type in: TaskManagement.PullTask, Worker.PullTask
Used in:
Used in:
Total amount of RAM on machine
Available amount of RAM for task scheduling
Used amount of RAM on machine
Used in:
RelayMeeting represents relay point.
Used in:
RendezvousMeeting represents rendezvous point.
Used in:
RendezvousReply describes a rendezvous point reply.
Used as response type in: Rendezvous.Publish, Rendezvous.Resolve
Used as field type in:
PublicAddr is a public network address of a target.
PrivateAddrs describes private network addresses of a target. These addresses should be used to perform an initial connection attempt for cases where both peers are located under the same NAT.
Used in:
Used in:
Used in:
Used in:
, ,Addr describes an IP address.
Port describes a port number. Actually an `uint16` here. Protobuf is so clear and handy.
Used in:
, , , ,Used in:
SplittingAlgorithm describes how a benchmark is mapped to a device.
Used in:
Used as response type in: TaskManagement.Start, Worker.StartTask
Used as request type in: TaskManagement.Start, Worker.StartTask
Deal points to the deal associated with workers where the task should be started.
Used in:
Used in:
Used as request type in: TaskManagement.Status, TaskManagement.Stop
Used as field type in:
Id is task ID itself
Used as response type in: TaskManagement.List, WorkerManagement.Tasks
Used as response type in: TaskManagement.Logs, Worker.TaskLogs
Used as request type in: TaskManagement.Logs, Worker.TaskLogs
Used in:
Used in:
Used in:
Container describes container settings.
Used as response type in: TaskManagement.Status, Worker.TaskStatus
Used as field type in:
,TODO: looks like we need to use TaskSpec here
Used in:
Used in:
,Used as request type in: WorkerManagement.ScheduleMaintenance
Used as response type in: WorkerManagement.NextMaintenance
Used as field type in:
, , , , , ,Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999'999'999 inclusive.
Used in:
Volume describes volume settings.
Used in:
Type describes a volume driver.
Options describes a place for your volume settings.