Skip to content

DCD-Ecosystem/dcd_cdt

Repository files navigation

DCD.CDT (Contract Development Toolkit)

Version : 1.8.1

DCD.CDT is a toolchain for WebAssembly (WASM) and a set of tools to facilitate smart contract development for the DCD platform. In addition to being a general purpose WebAssembly toolchain, DCD specific optimizations are available to support building DCD smart contracts. This new toolchain is built around Clang 9, which means that DCD.CDT has the most currently available optimizations and analyses from LLVM, but as the WASM target is still considered experimental, some optimizations are incomplete or not available.

New Introductions

As of this release two new repositories are under the suite of tools provided by DCD.CDT. These are the Ricardian Template Toolkit and the Ricardian Specification. The Ricardian Template Toolkit is a set of libraries to facilitate smart contract writers in crafting their Ricardian contracts. The Ricardian specification is the working specification for the above mentioned toolkit. Please note that both projects are alpha releases and are subject to change.

Attention

Binary Releases

DCD.CDT currently supports Mac OS X brew, Linux x86_64 Debian packages, and Linux x86_64 RPM packages.

If you have previously installed DCD.CDT, run the uninstall script (it is in the directory where you cloned DCD.CDT) before downloading and using the binary releases.

Mac OS X Brew Install

brew tap dcd/dcd.cdt
brew install dcd.cdt

Mac OS X Brew Uninstall

brew remove dcd.cdt

Debian Package Install

wget https://github.com/dcd/dcd.cdt/releases/download/v1.8.1/dcd.cdt_1.8.1-1-ubuntu-18.04_amd64.deb
sudo apt install ./dcd.cdt_1.8.1-1-ubuntu-18.04_amd64.deb

Debian Package Uninstall

sudo apt remove dcd.cdt

RPM Package Install

wget https://github.com/dcd/dcd.cdt/releases/download/v1.8.1/dcd.cdt-1.8.1-1.el7.x86_64.rpm
sudo yum install ./dcd.cdt-1.8.1-1.el7.x86_64.rpm

RPM Package Uninstall

sudo yum remove dcd.cdt

Guided Installation or Building from Scratch

git clone --recursive https://github.com/dcd/dcd.cdt
cd dcd.cdt
mkdir build
cd build
cmake ..
make -j8

From here onward you can build your contracts code by simply exporting the build directory to your path, so you don't have to install globally (makes things cleaner). Or you can install globally by running this command:

sudo make install

Uninstall after manual installation

sudo rm -fr /usr/local/dcd.cdt
sudo rm -fr /usr/local/lib/cmake/dcd.cdt
sudo rm /usr/local/bin/dcd-*

Installed Tools


  • dcd-cpp
  • dcd-cc
  • dcd-ld
  • dcd-init
  • dcd-abidiff
  • dcd-wasm2wast
  • dcd-wast2wasm
  • dcd-ranlib
  • dcd-ar
  • dcd-objdump
  • dcd-readelf

Contributing

Contributing Guide

Code of Conduct

License

MIT

Important

See LICENSE for copyright and license terms.

All repositories and other materials are provided subject to the terms of this IMPORTANT notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources, and forward-looking statements. By accessing any of our repositories and other materials, you accept and agree to the terms of the notice.