美文网首页
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