首页 > 其他分享 >如何使用Truffle在VSCode中调试solidity合约

如何使用Truffle在VSCode中调试solidity合约

时间:2024-02-04 10:57:29浏览次数:31  
标签:npm nodejs VSCode local solidity generateFib truffle Truffle 合约

简介

Truffle是以太坊最流行的开发框架,能够在本地编译、部署智能合约,使命是让开发更容易。

本文以fibonacci作为实例进行调试

参考文档

https://trufflesuite.com/docs/truffle/how-to/debug-test/use-the-truffle-debugger/

https://trufflesuite.com/guides/debugger-variable-inspection/

插件安装

vscode插件安装

extension中搜索Truffle for VS Code并安装

nodejs/npm安装

最新版本下载:https://nodejs.org/en/download/

nodejs,npm的版本限制可安装该pkg:https://nodejs.org/download/release/v16.20.2/node-v16.20.2.pkg,

 

完整卸载之前的nodejs/npm

sudo npm uninstall npm -g

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

sudo rm -rf /usr/local/include/node /Users/$USER/.npm

sudo rm /usr/local/bin/node

sudo rm /usr/local/share/man/man1/node.1

sudo rm /usr/local/lib/dtrace/node.d

 

清空缓存

npm update

npm cache clean --force

 

truffle/ganache安装

安装最新版本的nodejs/npm,然后自动点击页面安装即可

 

详细流程

新建一个web3的空项目

然后选择目录创建,创建之后的目录结构是这样:

新建合约代码

在contracts目录新建一个Fibonacci.sol的合约:

pragma solidity ^0.4.22;
contract Fibonacci {

uint[] fibseries;

  // n = how many in the series to return
  function generateFib(uint n) public {

    // set 1st and 2nd entries
    fibseries.push(1);
    fibseries.push(1);

    // generate subsequent entries
    for (uint i=2; i < n ; i++) {
      fibseries.push(fibseries[i-1] + fibseries[i-2]);
    }

  }

}

新建部署代码

在migrations目录新建一个2_deploy_contracts.js的部署代码:

module.exports = function (deployer) {
  deployer.deploy(Fibonacci);
};

修改根项目里的truffle-config.js文件

在truffle-config.js中打开默认的development网络,这个是连接到ganache的服务器

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*",
    },
  },
};

这个地址是ganache的服务器地址

 

开始ganache服务器

编译合约:

右键某个.sol合约,选择Build Contracts:

Output中会显示编译结果:

部署合约:

右键某个.sol合约,选择Deploy Contracts:

在弹出框选择对应的网络:

Output中会看到部署结果和合约信息:

手动用js调用合约的generateFib函数:

Terminal中输入:truffle consule

然后输入js代码:

Fibonacci.deployed().then(function (instance) {
 return instance.generateFib(10);
});

代码意义是获取Fibonacci的部署合约,然后调用generateFib的合约方法,传入参数是10

这样执行以后,生成了一个新的交易:

Ganache也可以看到交易:

调试刚才的generateFib交易:

打开command Palette, 或者command + shift + p打开也行

选择Truffle:Debug Transaction

选择网络:

选择交易:

这里2个交易:

        1个是创建合约的时候调用构造函数,

        1个就是刚才我手动调用js的generateFib()方法

那我们就调试generateFib()那个交易

然后就进入调试页面,可正常调试了:

 

标签:npm,nodejs,VSCode,local,solidity,generateFib,truffle,Truffle,合约
From: https://www.cnblogs.com/zhanchenjin/p/18005749

相关文章

  • vscode Data Wrangler 一个强大的处理vscode 数据处理工具
    vscodeDataWrangler一个强大的处理vscode数据处理工具,代码没有开源,但是可以进行不少数据的可视化处理安装使用效果比如我一个parquet数据文件的显示处理说明vscode-data-wrangler并没有开源,技术实现上有python,同时还有dotnetcore,当然还有微软的ml库,是一个很强大的......
  • Windows 下 LaTex 超简单地安装使用(MikTeX + VSCode)
    写这篇是因为我找了一晚上教程,结果发现基本上都过时了,现在的版本下根本不需要任何复杂的操作,干脆自己写一个免得后来人再崩溃。参考及主要内容来源,可以说我后半部分内容基本就是翻译(?安装LaTex主流的分发版本应该就是TeXLive和MikTeX了,这里使用MikTex——TeXLive太大了......
  • VSCode项目中安装npm依赖包失败解决方案
    解决VScode提示:无法将“node”“npm”项识别为cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。此方法用于解决使用vscode打开项目文件后,使用npminstall命令安装node_modules依赖包失败的问题方法一:创建新终端窗口;......
  • 3秒钟教你如何配置vscode中的vue3代码快速生成模版
    1.首先点击你的vscode左下角的齿轮设置按钮,然后点击配置用户代码片段2.输入vue搜索vue.json这个文件,然后点击这个文件3.接下来只需在原有的注释之下输入粘贴如下代码即可4.代码如下"vue3":{"prefix":"vue3","body":["<template>",......
  • three学习-vscode-创建项目01
    安装node之后,使用vscode打开自己创建的一个文件夹1、创建我们的项目目录存放的文件夹study01再vscode中打开创建的文件夹2、创建vite支持环境npminitvite@latest输入y输入项目名称:studyapp01框架选择 3、进入项目,安装依赖,运行项目cdstudyapp01npminstallnpm......
  • window下VScode 使用虚拟环境virtualenv
    前提:搭建python环境,这里以python3X为例一经典virtualenv1-安装virtualenvpipinstallvirtualenv2-创建虚拟环境virtualenvmyenv 3-激活虚拟环境./myenv/Script/activate4-退出虚拟环境cd./myenv/Scriptdeactivate -----以下选操作---前提条件:已安装virtualen......
  • 将VSCode设置为中文(汉化)
    1、......
  • 从 WebStorm 转到 VSCode!使用一周体验报告
    前言最近我的Jetbrains开源项目授权到期了,想要续订的时候发现Jetbrains提高了开源项目申请门槛,我的StarBlog项目因为名字里包含blog这个词无法申请,虽然我在github上有很多开源项目,但年底比较忙,疏于更新,一时间竟然找不到一个满足jetbrains要求(近三个月内每月都有commi......
  • vscode-pdf 插件安装后无法正常使用
    vscode在安装vscode-pdf插件后点击pdf文件仍为文本模式打开,如下图所示:解决方法打开一个pdf文件后,打开命令面板ctrl+shift+P,搜索View:ReopenEditorWith选择Pdf-Review,下方.pdf选择默认编辑器同样选择Pdf-Review......
  • VScode 扩展推荐和配置
    VScode扩展推荐和配置VSCodeExtensions推荐ThemesDraculaOfficial拥有明亮的颜色和舒适的对比度,非常适合长时间编程。Nord基于北极地区自然色调的冷色调主题,提供清晰和舒适的视觉体验。CarbonProductIcons图标设计好看GitHubPlusThemeOneDarkPro基于Atom编......