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

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

原文地址:https://www.cnblogs.com/xiaocongcong888/p/9780774.html

时间: 2024-08-30 16:35:06

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

以太坊智能合约开发工具 Truffle 最佳入门指导1

Truffle是以太坊(Ethereum)智能合约开发的瑞士军刀,小巧好用,上手简单. 本篇文章主要展示如何用Truffle 开发第一个Ethereum智能合约. 1.准备工作:(本人针对window环境,如果是mac 或linux可以自行搜索其他教程) a.安装git bash :http://gitforwindows.org/ b.安装npm:https://jingyan.baidu.com/article/a17d528506d7f58098c8f2b0.html 2.安装Truffl

智能合约从入门到精通:Solidity语言的开发规范和开发流程

简介:上面介绍的在Solidity中嵌入的内联汇编语言也可以单独使用.实际上,它是被计划用来作为编译器的一种中间语言.本文我们将介绍开发智能合约过程中Solidity语言的开发规范和开发流程. Solidity作为编译器的一种中间语言.在开发智能合约时需要遵守相应的开发规范和开发流程. 开发规范 命名规范 目录和文件 目录使用小写,请勿使用特殊符号: 库文件和合约文件统一以.sol为后缀: 合约文件名保持与合约名一致: 文件名采用驼峰命名(首字母大写): 合约.库文件命名 合约名采用驼峰命名(首

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

智能合约是以太坊的核心之一,用户可以利用智能合约实现更灵活的代币以及其他DApp.不过在深入讲解如何开发智能合约之前,需要先介绍一下以太坊中用于开发智能合约的Solidity语言,以及相关的开发和测试环境. 智能合约就是运行在以太坊上的程序.客户端可以通过Web3.js API调用智能合约,而智能合约本身又可以直接访问以太坊网络,也就是说,智能合约前面连接着客户端,后面连接着以太坊网络,起到了承前启后的作用,而且通过智能合约,可以让整个以太坊网络更灵活,可控性更强.其实智能合约的作用相当于微软O

【刘文彬】【精解】开发一个智能合约

原文链接:醒者呆的博客园,https://www.cnblogs.com/Evsward/p/contract.html 智能合约 这两天被老大搞去搬砖,学习计划有变但无大碍,这篇文章将仔细分析智能合约相关内容. 关键字:智能合约,remix,Solidity,truffle,geth,leveldb,datadir,ganache,web3j 合约 合约也称合同.协议,是甲乙双方参与的,制定一系列条目规范双方权利与义务的文件.智能合约是电子化的,自动执行的,去中心化的,具有不可抵赖性,本质上它

hyperledger fabric 智能合约开发

智能合约部分 太困了,休假的时候再把图贴上 ..... 运行在docker容器里面,如果需要调试只能通过打日志log方式 一个合约,就是一个用户用go/java/ node编写的文件(包括:字符,方法,返回信息) 块中 (chaincode目录下),一个合约只能对应一个目录 下面目录有用go/java/node语言开发智能合约的代码 下面网址可以查看channel跟存入的数据等(一个合约跟一个channel会生成一个库) 一个channel下可以安装多个合约,每个合约都会生成一个数据库 安装合约

智能合约从入门到精通:Solidity汇编语言

简介:上一节,我们讲过在JUICE平台开发智能合约的开发规范,本节我们将继续就Solidity定义的汇编语言进行更加深入的讨论.Solidity定义的汇编语言可以达到下述的目标:1.使用它编写的代码要可读,即使代码是从Solidity编译得到的.2.从汇编语言转为字节码应该尽可能的少坑.3.控制流应该容易检测来帮助进行形式验证与优化.为了达到第一条和最后一条的目标,Solidity汇编语言提供了高层级的组件比如,for循环,switch语句和函数调用.这样的话,可以不直接使用SWAP,DUP,J

如何利用Truffle React框架构建完整的智能合约

如何利用Truffle React框架构建完整的智能合约 使用solidity的truffle框架开发智能合约,前端使用react框架,最终完成智能合约从前端到后端,从开发到部署的完整流程. 1. 版本需求 Truffle v5.0.28 (core: 5.0.28) Solidity v0.5.0 (solc-js) Node v8.11.2 Web3.js v1.0.0-beta.37 2. 项目初始化 mkdir -p truffle cd truffle truffle unbox re

使用Python truffle 构建完整的智能合约

使用Python truffle 构建完整的智能合约 使用solidity的truffle框架开发智能合约,使用Python调用合约. 1. 合约编写.编译和部署 git clone https://github.com/jamess010/AIonChain cd ./AIonChain && cd ./master/smartcontract truffle develop (port: 9545) compile migrate (--reset) 2. 使用 python 调用 安

NEO智能合约开发(二)再续不可能的任务

? NEO智能合约开发中,应用合约比较简单,是的你没看错,应用合约比较简单. 应用合约三部曲,发布.调用.看结果.除了看结果工具比较缺乏,发布调用neogui最起码可以支撑你测试. ? 鉴权合约比较麻烦,因为neogui不能支持你很好的测试鉴权合约. ? 这是一个难点,上一次我们让你试着用鉴权合约往外取钱了,一个密码,有了密码谁都能取钱.就那,用neogui去取并不容易,对吧. ? 这一次我们继续探讨这个话题,一个更有价值的应用场景. 如何限制一个用户能从智能合约里取出多少钱? ? 不用担心,如