CXO - система обмена объектами на основе блокчейн
April 16, 2018 · View on GitHub

CXO - система обмена объектами на основе блокчейн
CXO - это система объектов, цель которой - обмен любыми объектами (включая дерево объектов, и обновления в этих деревьях и так далее). CXO - это библиотека низкого уровня разработаная для построения приложения поверх.
Быстрый старт и API документация
Смотри CXO wiki (рус.)
API документация
Смотри CXO wiki (англ.)
Установка и версии
Используйте dep для выбора версии CXO. Мастер ветка репозитория указывает на последний стабильный релиз.
Установить библиотеку
go get -u -t github.com/skycoin/cxo/...
И протестировать
go test -cover -race github.com/skycoin/cxo/...
Docker
docker run -ti --rm -p 8870:8870 -p 8871:8871 skycoin/cxo
Разработка
Модули
cmd- приложенияcxocli- CLI для администрирования CXO-ноды основаное на RPC (wiki/CLI (англ.)).cxod- CXO-демон который принимает все подписки
cxoutils- базовые утилитыdata- интерфейсы базы данных, объекты и ошибки связанные с базой данныхdata/cxds- хранилище типа ключ-значени для объектов, хранилище типа хэш -> данные, с некоторыми дополнениямиdata/idxdb- хранилище для корнеывых объектов, подписок и так далееdata/tests- наборы тестов для интерфейсов бах данных
node- TCP-транспорт с функциями подписки и для получения объектов и обмена имиnode/log- логгерnode/msg- протокол (поверх протоколаgithub.com/skycoin/net)
skyobject- ядро CXOregistry- схемы, регистры типов, типы данных CXO и так далее
И
intro- примеры
Форматирование и стиль
Смотри CONTRIBUTING.md (англ.)
Что значит номер версии
Испоьзуется MAJOR.MINOR версии. Где MAJOR
- API изменения
- изменения протокола
- изменения в базах данных (другой формат храниния)
и MINOR это
- небольшие измениния API
- поправки, исправления
- улучшения
Таким образом файлы баз данных от разных MAJOR версий не совместимы. И ноды различных версий не могут коммуницировать.
Версии
1.0
не определена
2.1
- git тэг:
v2.1 - коммит:
d4e4ab573c438a965588a651ee1b76b8acbb3724
Gopkg.toml
[[constraint]]
name = "github.com/skycoin/cxo"
revision = "d4e4ab573c438a965588a651ee1b76b8acbb3724"
или
[[constraint]]
name = "github.com/skycoin/cxo"
version = "v2.1"
3.0
- git тэг:
v3.0 - коммит:
8bc2f995634cd46d1266e2120795b04b025e0d62
Gopkg.toml
[[constraint]]
name = "github.com/skycoin/cxo"
revision = "8bc2f995634cd46d1266e2120795b04b025e0d62"
или
[[constraint]]
name = "github.com/skycoin/cxo"
version = "v3.0"
Зависимости
Для контроля версий и зависимостей используется dep.
Dep помещает все зависимости в подпапку vendor/. Установите dep используя
ссфлку выше и запустите
dep ensure
если возникли каки-то проблемы с компиляцией CXO.