truffle

1.启动truffle测试服务器

命令 :testrpc

2.truffle compile 编译报错 'module’未定义 解决方案

错误描述:
truffle项目根目录执行truffle compile时,报错’module’未定义。
错误原因:
OS运行了truffle.js而非truffle.cmd。
解决方案:

  1. 去truffle根目录修改truffle.cmd的名称,编译时输入修改名称+compile;
  2. 或者输入truffle.cmd compile。

3.Error: No network specified. Cannot determine current network异常

在使用truffle migrate进行智能合约test环境发布时如果未配置正确会出现以下异常:
$ truffle migrateError: No network specified. Cannot determine current network.
at Object.detect (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:43157:23)
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:200497:19
at finished (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:43085:9)
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:198408:14
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:68162:7
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:163793:9
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:160353:16
at replenish (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:160873:25)
at iterateeCallback (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:160863:17)
at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:160838:16

导致上面异常的原因为是因为truffle.js里面未配置链接合约发布的环境地址,找到对应的truffle.js文件,修改代码为类似如下配置即可解决问题:
module.exports = {
networks: {
development: {
host: “localhost”,
port: 8545,
network_id: “*” // 匹配任何network id
}
}
};

4.与合约互动

truffle console

HelloWorld.deployed().then(instance => contract = instance)

5.部署合约内容

我们需要先重新新编译一次
truffle.cmd compile
将编译结果部署到testrpc上
truffle migrate
当合约更新需要重新部署时
truffle migrate --reset
备注:编译时,一定要先将build文件夹删除,其次在部署合约时,一定要添加–reset,否则修改后的合约没法部署成功。

truffle.cmd migrate --reset

再透过truffle console执行看看结果
truffle.cmd console

你可能感兴趣的:(区块链,区块链,truffle)