All Projects → EOSIO → Eosio.cdt

EOSIO / Eosio.cdt

Licence: mit
EOSIO.CDT (Contract Development Toolkit) is a suite of tools used to build EOSIO contracts

Labels

Projects that are alternatives of or similar to Eosio.cdt

eosio-rust
EOSIO SDK for Rust – APIs for building smart contracts on EOSIO blockchains in Rust
Stars: ✭ 93 (-80.25%)
Mutual labels:  wasm, eosio
Camaro
camaro is an utility to transform XML to JSON, using Node.js binding to native XML parser pugixml, one of the fastest XML parser around.
Stars: ✭ 438 (-7.01%)
Mutual labels:  wasm
Wac
WebAssembly interpreter in C
Stars: ✭ 372 (-21.02%)
Mutual labels:  wasm
Bootstrapblazor
A set of enterprise-class UI components based on Bootstrap and Blazor
Stars: ✭ 403 (-14.44%)
Mutual labels:  wasm
Lucet
Lucet, the Sandboxing WebAssembly Compiler.
Stars: ✭ 4,006 (+750.53%)
Mutual labels:  wasm
Wasm Bindgen
Facilitating high-level interactions between Wasm modules and JavaScript
Stars: ✭ 4,695 (+896.82%)
Mutual labels:  wasm
Scatterwebextension
Extension that allows you to sign transactions with your private keys securely from within the browser without ever exposing them.
Stars: ✭ 359 (-23.78%)
Mutual labels:  eosio
Blazorfluentui
Port of FluentUI/Office Fabric React components and style to Blazor
Stars: ✭ 467 (-0.85%)
Mutual labels:  wasm
Gasm
An Experimental Wasm Virtual Machine for Gophers
Stars: ✭ 437 (-7.22%)
Mutual labels:  wasm
Rustynes
👾 An NES emulator by Rust and WebAssembly
Stars: ✭ 399 (-15.29%)
Mutual labels:  wasm
Wee alloc
The Wasm-Enabled, Elfin Allocator
Stars: ✭ 399 (-15.29%)
Mutual labels:  wasm
Ffmpeg.wasm
FFmpeg for browser and node, powered by WebAssembly
Stars: ✭ 6,566 (+1294.06%)
Mutual labels:  wasm
Jwebassembly
Java bytecode to WebAssembly compiler
Stars: ✭ 426 (-9.55%)
Mutual labels:  wasm
Lys
⚜︎ A language that compiles to WebAssembly
Stars: ✭ 375 (-20.38%)
Mutual labels:  wasm
Fluence
Peer-to-peer computing protocol and licensing system
Stars: ✭ 453 (-3.82%)
Mutual labels:  wasm
Eos Smart Contract Security Best Practices
A guide to EOS smart contract security best practices
Stars: ✭ 371 (-21.23%)
Mutual labels:  eosio
Anchor
EOSIO Desktop Wallet and Authenticator
Stars: ✭ 381 (-19.11%)
Mutual labels:  eosio
Ink
Parity's ink! to write smart contracts
Stars: ✭ 407 (-13.59%)
Mutual labels:  wasm
Asmble
Compile WebAssembly to JVM and other WASM tools
Stars: ✭ 466 (-1.06%)
Mutual labels:  wasm
Macroquad
The cross-platform game engine in Rust.
Stars: ✭ 452 (-4.03%)
Mutual labels:  wasm

EOSIO.CDT (Contract Development Toolkit)

Version : 1.7.0

EOSIO.CDT is a toolchain for WebAssembly (WASM) and set of tools to facilitate smart contract development for the EOSIO platform. In addition to being a general purpose WebAssembly toolchain, EOSIO specific optimizations are available to support building EOSIO smart contracts. This new toolchain is built around Clang 7, which means that EOSIO.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 EOSIO.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

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

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

Mac OS X Brew Install

brew tap eosio/eosio.cdt
brew install eosio.cdt

Mac OS X Brew Uninstall

brew remove eosio.cdt

Debian Package Install

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

Debian Package Uninstall

sudo apt remove eosio.cdt

RPM Package Install

$ wget https://github.com/eosio/eosio.cdt/releases/download/v1.7.0/eosio.cdt-1.7.0-1.el7.x86_64.rpm
$ sudo yum install ./eosio.cdt-1.7.0-1.el7.x86_64.rpm

RPM Package Uninstall

sudo yum remove eosio.cdt

Guided Installation or Building from Scratch

git clone --recursive https://github.com/eosio/eosio.cdt
cd eosio.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/eosio.cdt
sudo rm -fr /usr/local/lib/cmake/eosio.cdt
sudo rm /usr/local/bin/eosio-*

Installed Tools

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

Below tools are not installed after brew install, you get them only by building the repository and installing from scracth, see here eosio-abidiff eosio-ranlib eosio-ar eosio-objdump eosio-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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].