![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
truffle
文章平均质量分 72
sanqima
这个作者很懒,什么都没留下…
展开
-
hardhat同时编译不同版本的智能合约
hardhat可以同时编译不同版本的.sol智能合约,只需要在hardhat.config.ts或hardhat.config.js配置文件的compilers/version字段添加对应的版本号即可。比如,同时编译 solc-v0.4.26、v0.5.12、v0.6.12的sol智能合约,则新增一个compilers/version字段,在该字段里添加版本号即可。这里以hardhat v2.6.5为例进行说明。修改前 require("@nomiclabs/hardhat-waffle");原创 2021-12-07 23:48:08 · 5131 阅读 · 0 评论 -
使用ethers.js执行读函数与写函数
ethers.js是一个简洁的以太坊操作库,使用它非常方便的执行读函数、写函数。下面介绍使用ethers.js执行CountOne.sol里的读写函数。原创 2021-11-19 16:35:27 · 5726 阅读 · 1 评论 -
解决”recipient.call{value : amount}(““)“问题
今天,在编译Solidity智能合约时,报"ParserError: Expected ';' but got '{'"错误,如图(1)所示。 问题原因:.call()调用在不同的Solidity版本里,是不相同的。解决方法:根据Solidity版本,来更改.call()写法。原创 2021-10-25 16:21:31 · 1019 阅读 · 0 评论 -
使用ethers.js部署Solidity智能合约
ethers.js是一个非常精简的以太坊操作库,它包含如下四个模块:Ethers.provider,Ethers.contract,Ethers.utils,Ethers.wallets其中,Ethers.provider负责与以太坊节点进行连接,查询交易、广播交易,获取账户余额等功能;Ethers.contract负责与智能合约进行交互,包括部署合约、监听合约里的事件、获取合约里的信息,调用合约里的函数等功能;Ethers.utils是一个工具库,主要用于处理输入、输出数据,数据的进度与格式转换;原创 2021-10-24 10:57:53 · 4702 阅读 · 1 评论 -
Sushiswap的部署方法
Sushiswap是从UniswapV2分叉而来,加了MasterChef合约、SushiToken合约。下面介绍,使用truffle将Sushiswap部署到ganache本地私有链。原创 2021-10-22 13:35:40 · 1151 阅读 · 0 评论 -
使用hardhat将合约部署到ganache
hardhat使用命令:npx hardhat run scripts/deploy.js --network XXXnet,既可以把合约部署到主网(mainnet)、测试网(ropsten、rinkey),还可以部署到本地网络(ganache,hardhat-test)。比如,npx hardhat run scripts/deploy.js --network ganache,就可以把合约部署到ganache,下面以onehat工程为例,将token.sol合约部署到ganache。原创 2021-10-12 00:07:50 · 3651 阅读 · 0 评论 -
创建hardhat工程, 用于Solidity测试
hardhat是一个专门用来进行智能合约开发、测试的软件工具集,它即可以在本地自动部署一个以太坊网络,类似于ganache,又可以像truffle一样,快捷的部署、测试和调试Solidity智能合约。即 hardhat = ganache + truffle。下面,介绍hardhat的工程创建流程,这里以onehat工程为例。原创 2021-10-11 22:16:31 · 1970 阅读 · 0 评论 -
openzeppelin批量测试Solidity合约
openzeppelin是用于Solidity合约进行审计、代码安全测试的库,其中test-environment、test-helpers使用起来非常方便。下面,介绍对ERC20GuDingToken.sol、ERC20XiaoHuiToken.sol这2个合约的批量测试。原创 2021-10-02 10:35:32 · 1040 阅读 · 0 评论 -
truffle部署指定的合约
truffle可以根据/migrations/ID_deploy_XXX.js里的ID号,来部署与ID绑定的合约,使用命令为 migrate -f ID --to ID,例如,部署 2_deploy_HWT.js的命令为: migrate -f 2 --to 2原创 2021-10-02 08:51:30 · 1809 阅读 · 0 评论 -
解决“node-gyp command failed“问题
今天,在MacOS终端,使用npm install,发现"npm ERR! command failed"错误,如图(1)所示。出现这种现象的原因是,当前的nodejs的版本是build版本,或者版本太高,需要改成一个LTS版本,比如,node -v14.18。原创 2021-09-29 10:16:57 · 3579 阅读 · 1 评论 -
获取Solidity对应的commit版本号
Solidity的编译器版本,分为nightly、commit这2种,nightly是build版,也就是测试版,而commit是正式版。这里介绍获取所有的正式版。原创 2021-09-27 16:37:54 · 851 阅读 · 0 评论 -
MateMask连接本地私有链节点ganache
MateMask既可以连接以太坊的主网,也可连接以太坊的测试网(ropsten网、rinkeby网),还有连接私有链,只有给出URL和端口就可以连接。这里介绍MateMask连接私有链节点ganache。原创 2021-09-21 23:35:01 · 9980 阅读 · 0 评论 -
解决truffle “could not find suitable configuration file“问题
在使用truffle命令的过程中,有时会报"could not find suitable configuration file",出现这种现象的原因是,当前目录下缺少truffle.js 或者truffle-config.js。解决方法:使用truffle init命令,生成一个truffle.js或者truffle-config.js即可。或者,切换到含有truffle.js 或者truffle-config.js的目录,再使用truffle命令即可。原创 2021-09-25 22:13:15 · 2588 阅读 · 0 评论 -
win10安装nodejs、truffle等软件
本文介绍nodejs、truffle、yarn等软件,在win10上的安装方法。原创 2021-09-25 20:42:04 · 742 阅读 · 0 评论 -
获取solidity v0.4.22之后所有的版本号
1、拷贝https://github.com/sanqima/solc-bin/tree/gh-pages/bin 的solidity编译列表到solVersion.txt 2、去掉solVersion.txt里包含关键字所在的行 2.1) 用notepad++打开solVersoin.txt,按Ctrl+F,切换到[标签]页输入关键字:soljson- -->全部标记 2.2)点击notepad++工具栏上的[搜索]–> 书签 -->删除未标记的书签原创 2020-11-03 08:48:30 · 1444 阅读 · 0 评论 -
使用web3.js收发ETH或ERC20Token
以太坊的转账分主要分为为ETH转账、ERC20转账这2种,其转账流程,如图(1)所示原创 2020-11-29 10:33:44 · 7318 阅读 · 3 评论 -
解决“Could not find @openzeppelin/contracts/token/ERC20/ERC20Detailed.sol“问题
今天使用openzepplin进行编译时,弹出如下Error: 该Error的含义是,找不到ERC20Detailed.sol文件。 出现该问题的原因是 @openzeppelin v3.x已经把ERC20Detailed.sol文件删除了,但它把ERC20Detailed里的功能迁移到了ERC20.sol里,所以需要重新安装一个低版本的,比如 v2.x版本的@openzeppelin,解决方法如下: 1)卸载当前Module里的openzeppelin依赖包,命令原创 2020-11-15 16:51:25 · 3497 阅读 · 0 评论 -
解决“npm WARN requires a peer of XXX“问题
在NodeJs开发中,往往需要安装各种依赖包,而有时候这些依赖包版本更新了或者改成了另外一个包名,导致npm install会报“require a peer of XXX”之类的warning。解决方法,就是缺啥就补啥,命令如下:npm install --save-dev "XXX" 比如,warning报“requires a peer of eslint@>=6.2.2 ”,如图(1)所示:图(1) warning报"eslint@>=0.62.2" 依赖包缺原创 2020-11-12 14:54:14 · 60266 阅读 · 9 评论 -
部署宠物商店到Ganache
在truffle官网有个 pet-shop宠物商店案例,该案例已经搭建了React部分,我们只需写智能合约和配置环境就行了,具体如下。1、搭建环境下载并安装Node(JavaScript运行环境)用命令安装Truffle(智能合约编译与部署工具)npm install truffle -g下载并安装 Ganache(轻量级的以太坊私有链测试节点)2、下载pet-shop源码既可以在truffle官网的box系列里,下载pet-shop,也可以在truffle GitHub网原创 2020-10-25 17:44:09 · 718 阅读 · 0 评论 -
truffle里面的web3.js使用(ETH收发)
1、新建一个工程文件名称为heyuethree,进入该工程文件夹,用truffle初始化它mkdir heyuethreecd heyuethreetruffle init 2、查看truffle里的web3.js版本,如图(1)所示。truffle version图(1) 查看truffle里的web3.js版本 由图(1)可知,web3.js的版本为v1.2.1,使用手册: https://web3js.readthedocs.io/en/v1.2.1/w原创 2020-10-25 11:58:08 · 1699 阅读 · 1 评论 -
部署react-box
在 truffle官网的 BOXES栏目里,有很多React案例,这些案例的代码结构非常清晰,值得学习和借鉴。 下面,介绍在win10上部署一个unbox类型的React案例,名称也为react,下载到本地为react-box-master.zip。步骤如下: 1、下载react-box-master.ziptruffle Box链接:https://github.com/truffle-box/react-box/archive/master.ziptruffle GitH原创 2020-10-24 20:51:23 · 364 阅读 · 0 评论 -
解决truffle官网react-box报“This contract object doesn‘t have address set yet“问题
在truffle官网下来一个react-box案例,编译成功,部署也成功,但运行npm run start时,浏览器报"This contract object doesn’t have address set yet"问题,如图(1) 所示:出现原创 2020-10-24 19:35:43 · 1485 阅读 · 4 评论 -
解决truffle的“Could not find artifacts for import_path from any sources“问题
在truffle进行migrate合约迁移时,有时报"Could not find artifacts for " + import_path + " from any sources"",如图(1)所示: 图(1) 报ZhouWuToken找不到的错误 实际上,它是因为找不到合约文件而报错。我们接下来看第三句:"Error: Could not find artifacts for ZhouWuToken from any sources"这一行,告诉我们找不到ZhouWuTok原创 2020-10-18 22:02:11 · 2562 阅读 · 0 评论