Системные контракты
|
Репозиторий содержит в себе смарт-контракты операционной системы coopOS, образующих протокол COOPENOMICS.
В качестве окружения используется контейнер операционной системы coopOS. Для запуска выполните команду из корня репозитория:
После выполнения команды и входа в контейнер, выполняйте команды компиляции внутри него.
Для компиляции выполните команду:
Компиляция всех контрактов произойдёт в папку build/contracts. Для указания конкретного контракта, который необходимо скомпилировать, используйте названия папок из директории cpp в качестве параметра -DBUILD_TARGET. Например, для контракта fund:
Для компиляции всех контрактов передавайте пустой параметр -DBUILD_TARGET= . Без явной передачи параметра используйте кэшированный, ранее переданный параметр, что может привести к путанице. Поэтому, всегда явно передавайте параметр цели компиляции.
Перед автоматической загрузкой контрактов в локальную версию блокчейна - скомпилируйте их как показано выше. После чего, выйдите из контейнера и выполните команду установки загрузчика в вашем окружении:
Скопируйте файл .env-example в .env:
И запустите загрузку:
Команда загрузки запустит блокчейн и произведет установку всех контрактов для начала работы. Параметры конфигурации блокчейна можно найти в файле scripts/restart.sh
Блокчейн будет запущен в контейнере и остановит свою работу при завершении работы программы. Данные сохраняются в ./blockchain-data корневой директории репозитория. Данные кошелька пишутся в ./wallet-data.
После остановки контейнера вы можете перезапустить его командной:
Для перезагрузки блокчейна вновь вызовите:
Последняя команда очистит всю историю цепочки блоков и перезагрузит локальный блокчейн до начального состояния.
Для доступа командному кошельку cleos используйте команду
Для отображения полного списка команд воспользуйтесь:
Командный кошелёк позволяет совершать любые транзакции и просматривать любые таблицы в блокчейне. Для более удобной постоянной работы занесите алиас в файл ~/.bashrc для быстрого вызова:
Подтяните изменения профиля:
Теперь утилита cleos доступна простой командной:
Тесты по-умолчанию НЕ компилируются вместе с контрактами. Для компиляции необходимо передать флаг конфигурации сборки -DBUILD_TESTS=ON:
Все контракты пересоберутся вместе со всеми тестами.
Для запуска тестов (из директории build):
Для выборочного указания тестового файла используйте из директории build:
Команды пересоберет указанный контракт и его тест. Выборочная сборка и тесты значительно ускоряют отладку.
Для большей детализации тестового процесса добавьте флаг -DVERBOSE=ON при конфигурации сборки:
Дополнительная вербозность показывает отладочную информацию из тестов, включая консоль контрактов, в которую информация выводится через методы print.
Для генерации документации используйте команду Doxygen версии от 1.9.3:
Документация будет собрана в папке docs/html, откройте файл index.html в браузере:
Продукт Потребительского Кооператива "ВОСХОД" распространяется по лицензии BY-NC-SA 4.0.
Разрешено делиться, копировать и распространять материал на любом носителе и форме, адаптировать, делать ремиксы, видоизменять и создавать новое, опираясь на этот материал. При использовании, Вы должны обеспечить указание авторства, предоставить ссылку, и обозначить изменения, если таковые были сделаны. Если вы перерабатываете, преобразовываете материал или берёте его за основу для производного произведения, вы должны распространять переделанные вами части материала на условиях той же лицензии , в соответствии с которой распространяется оригинал. Запрещено коммерческое использование материала. Использование в коммерческих целях – это использование, в первую очередь направленное на получение коммерческого преимущества или денежного вознаграждения.
Юридический текст лицензии: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.ru