CX Object System
Switch branches/tags
Nothing to show
Clone or download

README.md

cxo logo

中文文档 | по русски

CX Object System

Build Status GoReportCard Telegram group Google Groups

The CXO is objects system, goal of which is sharing any objects. The CXO is low level and designed to build application on top of it

Get Started and API Documentation

See CXO wiki to get this information

API Documentation

See CXO wiki to get this information

Installation and Version

Use dep to use particular version of the CXO. The master branch of the repository points to latest stable release. Actually, it points to alpha-release for now.

To get the release use

go get -u -t github.com/skycoin/cxo/...

Test all packages

go test -cover -race github.com/skycoin/cxo/...

Docker

docker run -ti --rm -p 8870:8870 -p 8871:8871 skycoin/cxo

Development

Modules

  • cmd - apps
    • cxocli - CLI is admin RPC based tool to control any CXO-node (wiki/CLI).
    • cxod - an averga CXO daemon that accepts all subscriptions
  • cxoutils - basic utilities
  • data - database interfaces, objects and errors
    • data/cxds - CX data store is implementation of key-value store
    • data/idxdb - implementation of index DB
    • data/tests - tests for the data interfaces
  • node - TCP transport for CXO
    • node/log - logger
    • node/msg - protocol messages
  • skyobject - CXO core: encode/decode, etc
    • registry - schemas, types, etc,

And

Formatting and Coding Style

See CONTRIBUTING.md for details.

Versioning

The CXO uses MAJOR.MINOR versions. Where MAJOR is

  • API changes
  • protocol changes
  • data representation changes

and MINOR is

  • small API changes
  • fixes
  • improvements

Thus, DB files are not compatible between different major versions. Nodes with different major versions can't communicate. Saved data may have another representation.

Versions
1.0

not defined

2.1
  • git tag: v2.1
  • commit: d4e4ab573c438a965588a651ee1b76b8acbb3724

Gopkg.toml

[[constraint]]
name = "github.com/skycoin/cxo"
revision = "d4e4ab573c438a965588a651ee1b76b8acbb3724"

or

[[constraint]]
name = "github.com/skycoin/cxo"
version = "v2.1"
3.0
  • git tag: v3.0
  • commit: 8bc2f995634cd46d1266e2120795b04b025e0d62

Gopkg.toml

[[constraint]]
name = "github.com/skycoin/cxo"
revision = "8bc2f995634cd46d1266e2120795b04b025e0d62"

or

[[constraint]]
name = "github.com/skycoin/cxo"
version = "v3.0"

Dependencies

Dependencies are managed with dep. The dep place all dependencies in vendor/ subfolder. Install the dep using link above and call

dep ensure

if you have problems with building the CXO.