开发工具 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就可以调试了,效果如图所示:

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

vscode开发智能合约的更多相关文章

  1. Let's Do 本地开发智能合约

    上篇文章我们发了个币,有人抱怨在线(remix)写代码不爽,好吧,那就来看下怎么在本地开发智能合约? 一.安装开发环境 1.安装Node,Node v8.9.4或更高版本 我安装的是: 2.集成开发框 ...

  2. 以太坊系列之十一: 零起步使用remix开发智能合约

    一步一步使用remix开发智能合约 最新版的remix(2017-8-3)只能使用在线开发了,已经没有离线版本了,并且好像在线版本要FQ才能访问(自行解决). 1.打开remix 注意地址如果是htt ...

  3. 区块链入门到实战(27)之以太坊(Ethereum) – 智能合约开发

    智能合约的优点 与传统合同相比,智能合约有一些显著优点: 不需要中间人 费用低 代码就是规则 区块链网络中有多个备份,不用担心丢失 避免人工错误 无需信任,就可履行协议 匿名履行协议 以太坊(Ethe ...

  4. 第一行代码:以太坊(2)-使用Solidity语言开发和测试智能合约

    智能合约是以太坊的核心之一,用户可以利用智能合约实现更灵活的代币以及其他DApp.不过在深入讲解如何开发智能合约之前,需要先介绍一下以太坊中用于开发智能合约的Solidity语言,以及相关的开发和测试 ...

  5. 以太坊智能合约开发工具 Truffle 入门1

    Truffle是以太坊(Ethereum)智能合约开发的瑞士军刀,小巧好用,上手简单. 本篇文章主要展示如何用Truffle 开发第一个Ethereum智能合约. 1.准备工作:(本人针对window ...

  6. hyperledger fabric 智能合约开发

    开发步奏: 1.创建教育联盟 2.区块链服务平台自动生成通道id 3.区块链网络服务人员通过命令行在区块链网络中创建对应通道 4.创建相关教育组织 5.邀请相关组织加入联盟 6.区块链网络管理人员通过 ...

  7. 五一劳动节,讲讲NEO智能合约的调试

    之前我们说过NEO智能合约的调试问题,过去了一段时间,有很多东西都发生了比较大的变化.让我们重新再来探讨一下这个话题. 先说日期,2018年4月27日,马上迎来劳动节.   以后可能还会再次谈论这个话 ...

  8. EOS智能合约存储实例讲解

    EOS智能合约存储实例 智能合约中的基础功能之一是token在某种规则下转移.以EOS提供的token.cpp为例,定义了eos token的数据结构:typedef eos::token<ui ...

  9. ETH智能合约测试

    ETH的智能合约一般用Solidity语言编写,懂点基本solidity语法会更好地测试 测试中需要用到的工具: 一份智能合约 Remix(一个在线IDE,用来编译.编辑.部署智能合约,需要FQ才能使 ...

随机推荐

  1. js中两个日期大小比较,获取当前日期,日期加减一天

    一.两个日期大小比较 1.日期参数格式:yyyy-mm-dd // a: 日期a, b: 日期b, flag: 返回的结果 function duibi(a, b,flag) { var arr = ...

  2. Swift_类和结构体

    Swift_类和结构体 点击查看源码 struct Resolution { var width = 0 var height = 0 } class VideoMode { var resoluti ...

  3. C++笔记008:C++对C的扩展——命名空间 namespace基础

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一, 命名空间的意义 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 我认识两位叫“A”的朋友,一 ...

  4. .net core 基于Claim登录验证

    网站,首先需要安全,实现安全就必须使用登录验证,.net core 基于Claim登录验证就很简单使用. Claim是什么,可以理解为你的身份证的中的名字,性别等等的每一条信息,然后Claim组成一个 ...

  5. memcache和redis的区别和联系

    一.区别 Memcache : 1,对每个key的数据最大是1M. 2,对各种技术支持比较全面,session可以存储memcache中,各种框架(例如thinkphp)对memcache支持比较好. ...

  6. sublime text3配置python开发环境(windows版)

    安装阶段: sublime text3的安装: 下载网址:https://www.sublimetext.com/ 下载完成后 ,点击安装即可. 安装Package Control: 点击 Tools ...

  7. window安装ubuntu系统

  8. header()函数用处

    header() 函数向客户端发送原始的 HTTP 报头. 认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此 ...

  9. django创建第一个django项目-2

    安装django 虚拟环境下执行命令: pip install django==1.11.11 查看是否安装成功 pip list 列表中有django说明安装成功 创建工程 命令行移动到想要创建项目 ...

  10. java常见类