diff --git a/.github/logo.svg b/.github/logo.svg new file mode 100644 index 0000000..b4da076 --- /dev/null +++ b/.github/logo.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index d8d0c3d..17e6e44 100644 --- a/README.md +++ b/README.md @@ -1,109 +1,37 @@ -# NeoFS-API +

+NeoFS +

+

+ NeoFS API language-agnostic protocol definitions +

-NeoFS-API repository contains language-agnostic -[protocol buffers](https://developers.google.com/protocol-buffers) definitions -of neofs-node structures and services. +--- +![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/nspcc-dev/neofs-api?sort=semver) +![License](https://img.shields.io/github/license/nspcc-dev/neofs-api.svg?style=popout) -## Description +## Overview NeoFS-API repository is the basis for language-specific libraries, e.g.: - [neofs-api-go](https://github.com/nspcc-dev/neofs-api-go) - [neofs-api-csharp](https://github.com/nspcc-dev/neofs-api-csharp) -These libraries contain compiled protocol buffers code, defined in this -repository. Use them to integrate applications with NeoFS. +Those libraries contain compiled protocol buffers definitions, wrapped with +language-specific code. Use them to integrate applications with NeoFS. This repository contains: -- 12 protocol buffers packages, -- [auto-generated docs](proto-docs) for protocol buffers, -- [manually written docs](docs) for developers (to be done). +- protocol buffers packages +- [auto-generated docs](proto-docs) for protocol buffers +- [manually written docs](docs) for developers (to be done) +# Contributing -### Protocol packages +Feel free to contribute to this project after reading the [contributing +guidelines](CONTRIBUTING.md). -#### Accounting - -Accounting package defines services and structures for balance request and -`cheque` operations. - -See: - -- [Accounting service](proto-docs/accounting.md#accounting.Accounting) -- [Withdraw service](proto-docs/accounting.md#accounting.Withdraw) - -#### ACL - -ACL package defines targets of access control rules. - -#### Bootstrap - -Bootstrap package defines bootstrap service that connects storage nodes -to the network. - -See: - -- [Bootstrap service](proto-docs/bootstrap.md#bootstrap.Bootstrap) - - -#### Container - -Container package defines service and structure of containers. NeoFS stores -objects within the registered container according to a specified storage policy. - -See: - -- [Container service](proto-docs/container.md#container.Service) - -#### Decimal - -Decimal defines structure for encoding assets amount. - -#### Object - -Object is the storage unit in NeoFS. Object package defines structure of the -object and service requests. - -See: - -- [Object service](proto-docs/object.md#object.Service) - -#### Query - -Query package defines structure for object search requests. - -#### Refs - -Refs package defines identity types: object id, container id, etc. - -#### Service - -Service package defines utility structures for all public API requests: -TTL, request signature, etc. - -#### Session - -Session package defines service and structures to setup session between -the node and the client. Session token is required in some object service -requests. Node uses session private key to re-sign new objects and requests. - -See: - -- [Session service](proto-docs/session.md#session.Session) - -#### State - -State package defines service and structures for metrics gathering. - -See: - -- [Status service](proto-docs/state.md#state.Status) - -#### StorageGroup - -Storagegroup package defines structure that contains meta data for data audit. -This meta data stored as a header in the NeoFS object. +Before starting to work on a certain topic, create an new issue first, +describing the feature/topic you are going to implement. ## License