美文网首页
EOS入门:EOS智能合约介绍及环境搭建

EOS入门:EOS智能合约介绍及环境搭建

作者: Tlsion小富 | 来源:发表于2018-08-20 13:25 被阅读174次

EOS智能合约介绍

目录

• 所需的背景知识

• 技术限制

• EOS测试环境搭建

1.所需的背景知识

1.1 C/C++编程经验

基于EOS.IO的区块链使用Web Assembly (WASM)执行用户生成的应用程序和代码。WASM是一项新兴的网络标准,得到了谷歌,微软,苹果等公司的广泛支持。目前,用于构建编译为 WASM的应用程序的最成熟工具链是使用C / C++编译器的clang / llvm。

第三方开发的其他工具链包括:Rust, Python和Solidity。虽然这些其他语言看起来可能更简单,但它们的性能可能会影响您可以构建的应用程序的规模。EOS官方预计C++将成为开发高性能和安全智能合约的最佳语言。

1.2 Linux/MacOS

• Ubuntu 16.10或更高版本

• MacOS Sierra 或以上

1.3命令行知识

有与EOS.IO —起提供的各种工具,要求具有基本的命令行知识才能与之交互。

2.技术限制

2.1没有浮点

合约不会接受浮点运算,因为它是CPU级别的非确定性行为,可能会导致意外分支。

2.2事务在1 ms内执行

事务的执行时间需要小于或等于1毫秒,否则事务将失败。

2.3 最大30 TPS

目前,公共测试网络的设置方式是每个帐户每秒最多发布30笔交易。

3. EOS测试环境搭建

3.1获取代码

$ git clone https://github.com/EOSIO/eos.git -b DAWN-2018-02-14 --recursive

该指令有两个地方需要重点关注一下,首先是下载的版本应该是DAWN-2018-02-14版本,否则连接上测试网络后无法完全同步区块;另一个要注意的地方是要加入--recursive参数,否则EOS关联的子项目没法下载。如果命令没有加入参数,可以使用下面的命令来更新子项目。

$ git submodule update --init --recursive

3.2编译

• Ubantu

$cd eos

$ ./build.sh ubuntu full

• MacOS

如果你的Mac系统超过MacOS 10.12版本,那么编译时需要注意boost库的版本,不能高于1.65。这个在编译时不会提示,因为Mac下的包管理工具brew不支持特定版本的包下载。可以使用该地址boost1.65下载到本地,然后手工解压并复制到/usr/local/Cellar/boost。

boost目录

编译使用以下命令:

$ ./build.sh darwin full


最后一步

需要进入build目录然后执行以下命令:

$ cd build

$ make install

该命令会将编译好的可执行文件、头文件、库文件和模板文件安装到build下的instgall目录下,在该目录的bin下有所有编译好的命令,包括eosd、eosc、eoscpp等等。

相关文章

网友评论

      本文标题:EOS入门:EOS智能合约介绍及环境搭建

      本文链接:https://www.haomeiwen.com/subject/ahekiftx.html