vscode开发智能合约_weixin_30449239的博客-程序员秘密

技术标签: 开发工具  操作系统  c/c++  

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

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

转载于:https://www.cnblogs.com/xiaocongcong888/p/9780774.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30449239/article/details/99747580

智能推荐

QTranslator的使用_ClamReason的博客-程序员秘密_qtranslator 用法

QTranslator的使用QTranslator类就是使用Qt的翻译文件,可以对界面中菜单栏、label、对话框等进行翻译。使用的前提是,开发者要自己创建翻译文件。一.创建翻译文件1.在*.pro中添加:TRANSLATIONS += *.ts,有多少种语言添加多少个文件。2.之后运行lupdate *.pro生成ts文件。lupdate会根据源代码中的内容提取出待翻译的字段,然后生成ts文件,该文件时xml格式的3.使用qt linguist打开ts文件,并翻译相应字段;4.运行lr

版本控制之道——Git(一)_weixin_34112030的博客-程序员秘密

第1章 Git的版本控制之道1.什么是版本库Repository是版本控制系统用来存储所有历史数据的地方。使用集中式版本控制系统在本地工作目录树中只能看到代码的最新版。如果想查询历史修改记录,就必须与服务器上的版本库打交道,所以需要使用网络同远程的版本库连接;而使用分布式版本控制系统,就不会遇到不能上网所带来的问题,这也是以Git为代表的分布式版本控制系统最大...

数据驱动测试(DDT)入门_sharonyao的博客-程序员秘密_ddt测试是什么软件

很多时候,我们必须对许多数据集进行相同的测试。而且,为每个数据集值创建不同的测试既耗时又效率低下。数据驱动测试通过将数据保留在功能测试外部并在需要扩展自动化测试时加载它们来解决此问题。今天,我将讨论数据驱动测试(Database Driven Testing)- 它是什么,它如何工作,优缺点等等。什么是数据驱动测试(DDT)?数据驱动测试(DDT)是一种方法,一种软件测试方法。其中在数据源的帮助下重复执行相同顺序的测试步骤,测试脚本从数据源(文件或数据库)(例如...

电容类型 耐压 容量 特点_InJre的博客-程序员秘密

项目400V容值(max)50V容值(max)10V容值(max)陶瓷1uF10uF100uF电解22uF1000uF10000uF钽电容none22uF470uF

Python数据科学库Numpy、Pandas、Matplotlib和Seaborn在Jupyter Notebook中的一些全局功能设置_少年龙龙的博客-程序员秘密

文章目录一、导入Python数据科学库二、Numpy库的一些全局功能设置三、Pandas库的一些全局功能设置四、Matplotlib库的一些全局功能设置五、Seaborn库的一些全局功能设置一、导入Python数据科学库from warnings import filterwarningsfilterwarnings('ignore') # 过滤警告信息import numpy as npimport pandas as pdimport seaborn as snsimport mat

JavaScript学习(六十)—JSON_王同学要努力的博客-程序员秘密

一、什么是JSON?JSON它是JavaScript Object Notation的缩写JavaScript对象表示法,简单地说JSON就是用JS语法描述的一种格式。它不是编程语言,它具有简单易懂、可移植性强、跨平台的特点。它是目前使用广泛的一种前后端数据交互的格式。二、JSON的构成JSON的构成:简单值、对象、数组(一)、简单值简单值:数值型,字符型( 双引号包起来)、布尔值、null,注意没有undefined(二)、对象对象:所谓的对象就是无序的属性的集合。

随便推点

iOS 秋招总结 = 面经 + 闲言碎语_weixin_34021089的博客-程序员秘密

面经包含:携程、阿里、京东、腾讯十一假期,秋招基本上已经结束了,剩下少量面试和少量流程中。虽然还没有最终决定,不过也还是决定来开个帖子,写一些总结。楼主是今年春招的时候开始看看面经,真题做的很少,很水=。=,惭愧惭愧。然后秋招的时候由于实习比较忙,所以基本上就只投了秋招正式批,内推要么没投,要么踩线投,直接没了音信……楼主iOS开发,主要用的Swift语言。下面上一些面经,希望能够对大家...

指数衰减学习率_weixin_30266829的博客-程序员秘密

#coding:utf-8#设损失函数 loss=(w+1)^2,令w初值是常数10.反向传播就是求最优w,即求最小loss对应的w值#使用指数衰减学习率,在迭代初期得到较高的下降速度,可以在较小的训练轮数下取得更有效收敛度import tensorflow as tfLEARNING_RATE_BASE = 0.1 #最初学习率LEARNING_RATE...

Java零基础必看的学习教程:老杜Javase基础全套教程分享_Javanewspaper的博客-程序员秘密_老杜java

从学术的角度讲,Java 是一门面向对象的编程语言,初学者需要花费不少时间来熟悉面向对象的概念、语法和编程思想,有不理解的地方请一定要坚持,多花时间编写代码自然会豁然开朗。只有一步一个脚印,踏踏实实学习,才能从零基础到入门,再到精通。大家在学习的过程中也要多看几套 Java 视频教程,不要死啃一本书,这样才能才能博采众长,进步更快。今天给大家分享一下我自学Java时看的教程,首先是老杜讲的Java零基础入门。这套教程适用于没有任何Java基础,或者基础薄弱的小伙伴,它通俗易懂,并且非常全面,

程序员面试求职疑问大揭秘,看看你是否有下面这些顾虑_刀哥谈Java的博客-程序员秘密

前几天发了一条朋友圈对于求职小伙伴们提出的问题,我进行了收集整理,统一反馈。也许这20个问题也是你们遇到的问题。1.我觉得最大的疑惑是自己目前的水平和各大公司的要求之间的吻合度。以前没有实习过,所以还是有点虚的,听说每次面试都会有记录,可能会影响后面的面试。所以要准备到什么程度才可以投春招提前批或者春招面试呢?是海投还是投几个比较有意向的呢?很多帮内推的都会说面试不好也不会影响后面的面试,不知...

泰勒-40dB加权对NLFM匹配滤波_瓯江畔的博客-程序员秘密_泰勒加权

****** 泰勒-40dB加权对NLFM匹配滤波 ******为了获得泰勒-40dB压缩的脉冲响应,一个带宽为B的非对称NLFM波形的频率-时间(频率调制)的函数为f(t)=B(\frac{t}{T}+\sum_{n=1}^{7}{K_n\sin{\frac{2\pi nt}{T}}}) (11)式中系数为k1=-0.1145k2=0.0396k3=-0.0202k4=0.0118k5=0.0082k6=0.0055k7=-0.0040

解决Vscode终端输出乱码_人生不会尽如人意的博客-程序员秘密_vscode终端输出乱码

解决Vscode终端输出乱码打开Vscode——&gt;首选项——&gt;设置——&gt;搜索terminal.integrated.shellArgs.windows在settings.json中编辑:在"terminal.integrated.shellArgs.windows":后插入["/K", "chcp 65001"]并保存(无效请尝试以下配置)在"terminal.integrated.shellArgs.windows":后插入["-NoExit", "/c", "chcp.com

推荐文章

热门文章

相关标签