|
CDT
v4.2.0
инструменты разработчика
|
Contract Development Toolkit (CDT) — это цепочка инструментов C/C++ для сборки WebAssembly (WASM) и набор утилит для разработки смарт-контрактов на C/C++, предназначенных для развёртывания в блокчейне COOPOS (совместим с протоколом Antelope).
Помимо универсальной сборки WebAssembly, CDT добавляет возможности и оптимизации именно под смарт-контракты. Инструментарий опирается на Clang 9 и LLVM этого поколения; целевой WASM по-прежнему считается экспериментальным, поэтому часть оптимизаций может быть неполной или недоступной.
Ветка main — ветка разработки: не используйте её в продакшене. Актуальные релизы, пре-релизы и устаревшие версии смотрите на странице релизов и по соответствующим тегам.
Поддерживаются пакеты Debian для Linux x86_64. Скачать сборку под нужную версию CDT можно на странице релизов — это самый быстрый способ начать работу.
Скачайте подходящий .deb и установите. Пример для актуального релиза v4.2.0 (другие версии — на странице релизов):
Полностью поддерживаются недавние LTS-релизы Ubuntu. Другие дистрибутивы Linux и POSIX-системы (включая macOS) — по возможности, без гарантии полного набора функций.
Ниже предполагается Ubuntu 20.04.
Для них нужна сборка Leap (реализация протокола Antelope) из исходников; одного бинарного пакета Leap обычно недостаточно.
Если Leap собирать не планируете, CDT можно собрать без интеграционных тестов. Иначе перед cmake в той же сессии терминала задайте путь к сборке Leap, например:
Далее при cmake не должно появляться сообщения вроде leap package not found; иначе интеграционные тесты не соберутся.
При проблемах со сборкой через ccache можно отключить его:
**Параллельная сборка (-j)**: часть единиц трансляции в CDT очень тяжёлые по памяти. Если компилятор падает или нехватает RAM, уменьшите параллелизм, например make -j2 вместо make -j .
Исполняемые файлы — в build/bin. Можно добавить каталог в PATH, либо использовать CMake toolchain build/lib/cmake/CDTWasmToolchain.cmake в своём проекте без глобальной установки CDT.
Глобальная установка описана в разделе Установка CDT.
Глобальная установка добавляет в PATH, среди прочего:
Также ставятся CMake-файлы CDT (каталог cmake/cdt в системном lib).
Из каталога build:
Удобнее сгенерировать пакет и поставить его — так проще удалить CDT позже.