Truffle设置Solidity版本

以太坊环境搭建 以太坊环境搭建 1)准备工作 安装c/c++编译环境 sudo apt install build-essential 安装git sudo apt install git 注意:安装结果遇到 Unable to fetch some archives, maybe run apt-get update or try with --fix-missing 时,两种解决方法如下: 1)只更新apt源后重新下载 sudo apt update (--fix-missing) 2)网络屏蔽问题,进入/etc 阅读详情

当使用truffle开发以太坊solidity合约时,经常碰到的一个问题,就是你的solidity合约代码所要求的编译器版本,与truffle预装的solitiy编译器版本不匹配。本文将介绍如何更改truffle中的solidity版本。

如果要快速掌握以太坊的开发,推荐汇智网的以太坊开发系列教程。

1、问题重现

由于solidity比较新,语法还在变换当中,因此你从网上找到的示范源码,有可能已经不能通过最新版本solidity编译器的编译了。例如,当使用新版本的truffle编译一个较早的0.4版本的合约时,就会提示编译器不匹配:

$ truffle migrate
Compiling .\contracts\Election.sol...
Compiling .\contracts\Migrations.sol...

    /D/ethereum/electiondemo/contracts/Migrations.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.5.0+commit.1d4f565a.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity ^0.4.24;
    ^----------------------^

Compilation failed. See above.`enter code here`
Truffle v5.0.0 (core: 5.0.0)
Node v8.11.1

当然可以修改原始的solidity合约代码,来响应新版solidity编译器的要求。不过如果存在大量的历史遗留代码,这个方案会带来巨大的工作量,而且还有很大的可能性引入新的bug。

因此,更好的办法是为Truffle项目指定Solidity编译器的版本。

2、设置truffle项目的solidity编译器版本

好在truffle允许我们指定项目中使用哪个版本的编译器,只需要在truffle项目的配置文件truffle.js中设定compiler选项。例如,下面的配置文件将当前项目的solidity编译器设置为0.4.24版本:

module.exports = {
  networks: {
    ... etc ...
  },
  compilers: {
     solc: {
       version: "0.4.24"
     }
  }
};

你只需要在compilers.solc.version处指定要启用的solidity编译器版本就行了,truffle会自动从官方拉取相应版本的编译器,无需你手动下载配置。


汇智网原创,转载请标明出处。

solidity-以太坊区块链Truffle-webpack开发入门 (七) 合约的测试环境 truffle 的test 测试用例   原文地址 执行:  $ truffle test  truffle 这样会给你创造一个干净的测试环境,不用担心跟当前的开发环境有冲突,不管是使用Ganache框架还是Truffle框架,test的时候总会给一个干净的环境用来test。 test的文件在 test目录下,执行: $ truffle test 默认会去到test目录中找.js, .es, .es6,  .jsx,  .sol这些文件,并且会执行这些测试用例,test文件代码使用Mocha语言编写,如果有其他类型的文件会被自动忽略 当然,也可以指定运行某个目录中的test文件,使用tes 立即下载

相关推荐

Solidity-以太坊区块链-Truffle-webpack-开发入门 (一) 环境配置

前言: 本教程全部来自官网,去年2018年底翻译了全部的文档,过了一年了我对当初的学习没什么印象了,不知道有没有错,但确定的是区块链模拟成功的了,所以大家基本不用担心我的笔记有什么大问题,现在2019年底了,我就把我去年的翻译笔记都拿出来分享给大家。共同进步! 笔记截图: 注:本教程使用以太坊的truffle框架在testrpc环境中模拟 系统:Mac OS (windows系统只作为参考) 1. 首先安装nodejs  到官网下载安装即可  http://nodejs.cn/download/ 安装之后在终端查看是否安装成功: $ node -v 如顺利出现版本信息,就表示成功了(失败的

Solidity的框架Truffle的简单使用(2021版)

目录1. 安装truffle2. 用truffle初始化项目3. 配置VSCode打开项目3.1 安装solidity插件3.2 用VSCode打开项目3.3 新建一个sol文件4. 开启truffle命令行4.1 进入开发者模式4.2 编译4.3 部署4.3.1 新增部署文件4.3.2 实施部署4.3.3 调用验证结果 1. 安装truffle npm install -g truffle PS:耗时有点长,耐心等待 2. 用truffle初始化项目 先新建个空文件夹,eg:myProject,进入文件

scoful的专栏 5万+

solidity-以太坊区块链Truffle-webpack开发入门 (十一) Debug-调试合约

调试合约  原文地址 truffle整合了debug功能,方便调试合约,跟传统的应用程序的断点调试很相似 但是truffle的调试的时机跟传统软件有很大的区别,传统软件的调试是实时的run-time,而truffle的调试是跟合约程序的运行时分离的,你不能够在合约执行的时候调试,也就是说合约的执行不能被调试打断,但是因为合约的transaction操作会返回一个hash值,所以可以根据这个hash值来调试。 另外这个调试几个条件: Truffle 4.0 or above. v4.0+的truffle版本 The hash of a transaction on your desired b

windows安装truffle solidity智能合约开发框架

1 准备node环境     版本无要求,越新越好,具体步骤自行百度。 2 truffle安装 准备一个用来存放 truffle 环境的空文件夹也就是开发合约文件所放位置 新建完成后,在此文件夹 运行powershell(我使用cmd报错),输入 npm -g install truffle 全局安装 truffle 然后输入 truffle init 会在此文件夹生成3个文件夹(con...

haojing8312的博客 2417

红外图像和可见光图像异源图像配准问题研究

本文旨在研究一种具有高准确率和鲁棒性的融合图像障碍物检测技术,通过把红外和可见光图像进行图像配准和融合,获取高质量的异源融合图像,根据融合图像的特点采用有效的障碍物检测算法,将图像中的障碍物准确检出。......

G_redsky的博客 1万+

MOSFET热失效机理与保护电路设计:实战案例

深入解析MOSFET工作原理及其在高温下的失效机制,结合实际案例探讨有效保护电路设计,提升系统可靠性与安全性。

weixin_28713083的博客 850

Solidity开发之 Truffle 环境搭建

Truffle环境搭建和测试项目启动

zhoujianwei的专栏 3991

5分钟搞懂MSDNet:用Transformer实现小样本语义分割的保姆级教程

本文详细介绍了MSDNet(Multi-Scale Decoder Network)如何利用Transformer架构实现小样本语义分割。通过多尺度解码器和空间Transformer解码器,MSDNet能够在仅有1-5张标注图像的情况下完成精确分割任务。文章提供了PyTorch代码实例和优化技巧,帮助开发者快速掌握这一前沿技术。

weixin_30832143的博客 506

以太坊Solidity之Truffle框架的应用实践

安装 Solidity 的开发框架 Truffle 和安装 Truffle 的开发客户端

╰つ栺尖篴夢ゞ 1141

CTF逆向实战:如何快速识别RC4、TEA和Base64的魔改变种?

本文针对CTF逆向比赛中常见的加密算法魔改问题,详细讲解了如何快速识别和破解RC4、TEA和Base64的变种。通过分析算法核心特征、常见魔改手法,并结合动态调试与脚本编写等实战技巧,帮助逆向分析人员有效应对算法混淆,提升解题效率。

agile9scrum的博客 781

关于LIO-SAM编译时出现错误 /usr/bin/ld: 找不到 -lBoost::timer

关于LIO-SAM编译时出现错误: 下载LIO-SAM代码 进入LIO-SAM文件夹,通过以下代码编译: mkdir build cd build cmake .. make 报错: /usr/bin/ld: 找不到 -lBoost::timer collect2: error: ld returned 1 exit status CMakeFiles/lio_sam_imuPreintegration.dir/build.make:759: recipe for target 'devel/lib/li

wwtx的博客 3648

truffle编译智能合约时,truffle中的solidity版本与编译合约的solidity版本不一致问题

第一篇优快云文章,很多功能还不太会用。。。见谅tip:本质还是修改truffle的solidity版本,但是跟着一些教程,有点困难,所以试着补充一点细节。

Florence0405的博客 472

Research Proposal:自动驾驶 行人运动预测

Research Proposal about Pedestrian/Cyclist Motion Prediction for Self-Driving Vehicles   If I can be provided with the opportunity to conduct PhD research in pedestrian/cyclist motion prediction for...

Poetry Wanderer的博客 3086

Truffle详解

以太坊最受欢迎的开发框架是使用web3.js的Truffle。 Truffle使用以太坊虚拟机(EVM)为区块链提供世界一流的开发环境、测试框架和资产管道,旨在让开发人员的生活更轻松。 内置智能合约编译、链接、部署和二进制管理。 快速开发的自动化合约测试。 脚本化、可扩展的部署和迁移框架。 用于部署到任意数量的公共和专用网络的网络管理。 使用EthPM和NPM进行软件包管理,使用ERC190标准。 用于直接合约通信的交互式控制台。 支持紧密集成的可配置构建管道。 在Truffle环境中执行

培根芝士的专栏 2488

081、空间降噪(Spatial Denoise)实战:双边滤波、非局部均值与BM3D在ISP中的调优

调参时,别只看PSNR/SSIM。找几个典型场景(夜景、人像、文字、天空),在真实设备上肉眼对比。我见过PSNR涨了2dB但图像看起来更差的案例——因为PSNR不惩罚纹理丢失。空间降噪这块,理论说再多,不如动手调一次。下次遇到噪点问题,先别急着上BM3D,试试双边滤波的自适应参数,说不定有惊喜。

zzfmlxs的博客 42

RK3568平台(camera篇) MPP编码

同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写 MPI)。瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的。mpi_enc_test 的命令参数中,图像宽度(w)图像高度(h),码流类型(t)为强制要求参数,其他参。视频拷贝,缩放,色彩空间转换,场视频解交织(Deinterlace)数如输入文件(i),输出文件(o),编码帧数(n)等为可选参数。设置一些MPP的模式。

weixin_49303682的博客 7379

终极Truffle配置文件详解:truffle-config.js完全配置指南 [特殊字符]

想要高效开发以太坊智能合约吗?**Truffle配置文件** `truffle-config.js` 就是你的项目控制中心!作为Truffle开发套件的核心配置文件,它掌控着网络连接、编译器设置、测试框架等所有关键参数。本文将为你提供完整的Truffle配置文件指南,帮助你快速掌握这个强大的开发工具。 ## 📋 Truffle配置文件基础概念 **Truffle配置文件**是每个以太坊智能合

gitblog_07818的博客 504

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

truffle简单使用

完成以上步骤后,你将会看到工程目录下有如下文件夹。NodeJS v8.9.4 或 之后的版本。truffle命令查看是否创建成功。把编译完成的合约部署到测试链中。

wzx_come_on的博客 218

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

怎么修改truffle中的solidity版本?

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34038652的博客 268

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Solidity开发入门问题汇总

自定义一个创世区块的json配置文件genesis.json,与保存数据目录data。修改为 truffle console --network develop。使用truffle 构建智能合约 部署以及测试。truffle console报错。metamask 显示测试网络。以太坊钱包连接本地私有链。

weixin_42824596的博客 567

Geth在ubuntu上配置和一些通用操作介绍及配置安装以太坊开发环境

Geth在ubuntu上配置和一些通用操作介绍及配置安装以太坊开发环境

Tree_sea的博客 1万+

HealthCare-Insurance-Ethereum 项目教程

HealthCare-Insurance-Ethereum 项目教程 1. 项目的目录结构及介绍 HealthCare-Insurance-Ethereum/ ├── Web-client/ ├── contracts/ ├── migrations/ ├── .gitignore ├── LICENSE ├── README.md ├── truffle-config.js └── truffl...

gitblog_00084的博客 805

truffle-error:编译时关于solidity的版本问题

,/home/yujuan/eth_learn/eth-weibo/contracts/WeiboAccount.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.15+commit.bbb8e64f.Emscripten.clang - note that...

朝歌 2228

如何使用 VSCode、Remix 和 Truffle Suite 设置本地 Solidity 开发环境?

如何使用 VSCode、Remix 和 Truffle Suite 设置本地 Solidity 开发环境? 在以下几节中,我们将安装和设置Solidity的开发环境: Visual Studio Code Remix Extension Ganache Truffle 除了本教程,我们还将编写一个简单的ERC20项目来演示设置。 Visual Studio Code VSCode是一个由微软构建的代码编辑器,具有智能感知等功能丰富的功能和大量的扩展。它是全球开发者社区最喜爱的开发工具。 如果还没有安

chinadefi的博客 4561
上一篇: 区块链浏览器导航
下一篇: 区块链应用 - LV的奢侈品验证平台
落叶无声9
博客等级 码龄12年 443粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值