概述
truffle是世界级的以太坊开发框架,它使得以太坊开发变得简单高效,它具有以下特点:
1、内置智能合约编译、链接、开发和二进制管理。
2、快速开发的自动化合约测试
3、脚本、可扩展性部署和迁移框架。
4、用于部署到任意数量的公网和私网的网络管理
5、基于EthPM和NPM,并使用ERC190标准进行包管理
6、为合约通信提供交互式控制台
7、为紧密集成提供可配置的构建管道
8、在Truffle的环境中执行外部的运行脚本
truffle框架的官网:https://truffleframework.com/
安装truffle
npm install -g truffle
如果安装过程出现错误,请见官网
运行如下命令,测试安装情况:
truffle version
输出如下即安装成功
创建空项目
1 准备工作
mkdir truffleProject
mkdir demo1
cd demo1
2 执行命令
truffle init
(node:1553) ExperimentalWarning: The fs.promises API is experimental
Downloading…
Unpacking…
Setting up…
Unbox successful. Sweet!
Commands:
Compile: truffle compile
Migrate: truffle migrate
Test contracts: truffle test
注意:build目录下有contracts,如上图也有contracts,当前目录contracts里面存放的是以sol为后缀的文件,但是编译后的json文件是放在build目录下面的。
truffle compile --network ganacheNet 编译命令,–network指定网络 linux是在truffle.js里面进行指定ganacheNet网络名称。
关于truffle的命令行界面:
执行truffle develop
就可以进入命令行界面
对合约进行编译:compile
对合约进行部署:migrate
deploy是migrate的别名
必须进入到client的目录后才能进行npm run start进行运行npm 打开网站,网站如下所示:
注意:如果MetaMask连接不上,需要对MetaMask进行reset动作。
let instance
SimpleStorage.deployed().then(i=>instance=i)
instance
instance.set(10,{from:web3.eth.accounts[0]})
instance.get()