zoukankan      html  css  js  c++  java
  • vscode开发智能合约

    开发工具 EOS 开发终极神器-vscode (你绝对找不到的干货)
    lome · 2018年04月19日 · 最后由 18636292520 回复于 2018年09月15日 · 15672 次阅读

    本帖已被设为精华帖!
    EOS开发终极神器-vscode(你绝对找不到的干货)
    声明:本文由EOS中文社区,原创首发,转载请注明原文地址,谢谢。

    前言:最近一直苦于EOS开发没有好用的IDE,用了很多,试了很多,都让人觉得有些差强人意。于是乎笔者在经过,长时间的查找实践中,终于找到了eos开发终极神器-vscode。当然这个只是笔者经过测试开发尝试后的一家之言。

    话不多说下面进入正题。

    vscode 安装
    下载
    大家开一去官网下载vscode:https://code.visualstudio.com/Download。下载安装都很方便。

    安装
    win windows下的安装,相信大家都能顺利完成
    linux linux下,官网下载的都是linux可执行文件.deb,.rpm。直接打开安装即可,也很方便。
    Mac os下,这个本人没有试过,应该安装很简单。
    配置
    vscode安装起来非常简单,配置起来也非常容易。

    首先,EOS是用c++开发的,所以打开vscode之后先装c++ 插件:

    ms-vscode.cpptools
    这个插件是必须的,其他的,也有很多插件非常有用,大家可以自己积极去发现。

    运行测试
    首先打开本地的eos,然后会看到最下面有许多选项,如图所示:

    build all 测试
    点击build:后的[all],可以选择构建的区域.选择[all]可以构建整个eos项目.
    点击build[all]进行构建。 如图所示:

    智能合约构建
    1.创建智能合约,这里我用的是`hello`的例子,来说明。
    首先是hello.cpp。

    include <eosiolib/eosio.hpp>

    include <eosiolib/print.hpp>

    //用eosio命名空间
    using namespace eosio;

    //所有的智能合约都继承自contract类
    class hello : public eosio::contract {

    public:
    using contract::contract;

      /// @abi action
      void hi( account_name user ) {
         print( "Hello, ", name{user} );
      }
    

    };
    EOSIO_ABI( hello, (hi) )
    hello.abi:

    {
    "types": [],
    "structs": [{
    "name": "hi",
    "base": "",
    "fields": [{
    "name": "user",
    "type": "account_name"
    }
    ]
    }
    ],
    "actions": [{
    "name": "hi",
    "type": "hi"
    }
    ],
    "tables": []
    }
    CMakeLists.txt:

    file(GLOB ABI_FILES "*.abi")
    configure_file("${ABI_FILES}" "${CMAKE_CURRENT_BINARY_DIR}" COPYONLY)

    add_wast_executable(TARGET hello
    INCLUDE_FOLDERS "${STANDARD_INCLUDE_FOLDERS}"
    LIBRARIES libc++ libc eosiolib
    DESTINATION_FOLDER ${CMAKE_CURRENT_BINARY_DIR}
    )
    然后在`eos/contracts`目录下的CMakeLists.txt中加入hello:
    添加命令:

    add_subdirectory(hello)
    然后build[all].后根据cmake文件来自动构建。构建完成以后,你可以在build/contracts目录下,看到构建好的hello,如图所示:

    构建完成以后,你就可以在build后选择[hello],单独进行编译。

    代码提示
    在左下角点击设置,加入以下配置,并且保存,就会出现代码提示了:

    "[cpp]": {
    "editor.autoIndent": true,
    "editor.quickSuggestions":true
    },
    "[c]": {
    "editor.quickSuggestions":true
    },
    "cmake-tools-helper.auto_set_cpptools_target": true,
    代码提示效果如图所示:

    vscode Debug
    debug方式很简单,选择debug:后,你所debug的代码,打上断点,然后点击debug就可以调试了,效果如图所示:

    一切都是如此简单,一切都是如此便捷。

  • 相关阅读:
    net core 使用 rabbitmq
    asp.net core WebApi 返回 HttpResponseMessage
    asp.net core 2.1 WebApi 快速入门
    JQuery EasyUI combobox动态添加option
    php截取字符去掉最后一个字符
    JQuery EasyUI Combobox的onChange事件
    对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成
    Access2007 操作或事件已被禁用模式阻止解决办法
    Easyui 中 Tabsr的常用方法
    Win 7 IE11不能下载文件,右键另存为也不行
  • 原文地址:https://www.cnblogs.com/xiaocongcong888/p/9780774.html
Copyright © 2011-2022 走看看