1.4 安装 CDT

优质
小牛编辑
117浏览
2023-12-01

创建合约开发者工具集

EOSIO Contract Development Toolkit,简称是CDT,是合约编译的工具集.下面的教程主要使用CDT来编译合约及生成ABIs.

从1.3.x开始, CDT有了他们的支持:Mac OS X brew, Linux Debian 以及RPM包.最简单的方式是使用其中一个包管理软件来安装CDT.从里面只选择一个吧.

如果你有1.3.0之前版本的CDT,请务必在安装前先将其卸载

Homebrew (Mac OS X)

安装

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

卸载

brew remove eosio.cdt

Ubuntu(Debian)

安装

wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64.deb
sudo apt install ./eosio.cdt-1.3.2.x86_64.deb

卸载

sudo apt remove eosio.cdt

CentOS/Redhat(RPM)

安装

wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64-0.x86_64.rpm
sudo yum install ./eosio.cdt-1.3.2.x86_64-0.x86_64.rpm

卸载

sudo yum remove eosio.cdt

从源码进行安装

你把eosio.cdt 克隆到哪个位置并不重要, 因为你会在后续步骤中将eosio.cdt安装为本地二进制编码.现在,把eosio.cdt克隆到你在之前创建好的contracts目录.

cd /Users/zhong/coding/CLion/contracts

下载

从1.3.2的仓库克隆eosio.cdt (可能会花费30分钟左右来克隆该仓库):

git clone --recursive https://github.com/eosio/eosio.cdt --branch v1.3.2 --single-branch
cd eosio.cdt

构建

./build.sh

安装

sudo ./install.sh

上面的命令需要使用sudo,因为eosio.cdt的许多二进制文件将安装在本地.你需要提供登录用户的密码.

安装eosio.cdt会让编译好的二进制文件在你的计算机全局生效, 因此你可以在任何目录访问到它们.在本教程中,强烈建议你不要跳过安装eosio.cdt的步骤, 安装失败会让教程的其他部分变得更困难, 并会让使用更困难.

Troubleshooting

在build的时候发生错误.

  • 在错误中搜索字符串: "/usr/local/include/eosiolib/"

  • 如果找到了, rm -fr /usr/local/include/eosiolib/ 或进入 /usr/local/include/ 并删除 eosiolib,使用你的操作系统文件夹.

NOFITICATION

新版本安装使用brew:

zhongdeMacBook-Pro:contracts zhong$ brew install eosio.cdt

==> **Downloading https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.mojave.bottle.tar.gz**

==> **Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/137496501/e18b8580-d17b-11e8-85ec-be8bde73308e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F2018110**

\######################################################################## 100.0%

==> **Pouring eosio.cdt-1.3.2.mojave.bottle.tar.gz**

  /usr/local/Cellar/eosio.cdt/1.3.2: 3,962 files, 220.7MB