【转载】。 https://blog.csdn.net/loy_184548/article/details/77984366
Truffle开发入门 一、安装truffle 和 testrpcnpm install -g trufflepip install eth-testrpc安装过程中,会遇到很多问题,例如版本太旧。 可以参考:here 二、使用1. 新建mkdir hello //新建文件夹cd hello //进入该文件夹truffle init //默认会生成一个MetaCoin的demo,可以从这个demo中学习truffle的架构2. 编译truffle compile3. 部署先启动 testrpc testrpctruffle migrate如果这里遇到错误:No network specified. Cannot determine current network.
解决方案:修改truffle.js文件 module.exports = { networks: { development: { host: "127.0.0.1", port: 8545, // 区块链服务端口号 network_id: "*" } }};启动服务 truffle serve启动项目后可以在浏览器访问 http://localhost:8080/ 如果是3.x版本的,实际上你会发现,显示的是Cannot GET / 解决方法: truffle init ====> truffle init webpacktruffle serve ====> npm run dev就可以成功显示界面啦。 参考博客:here 4. 命令行调用实际上跟geth的命令行调用操作差不多。 可以参考之前的一篇博客关于geth命令行的操作:here 需要注意的是: 例如:eth.accounts ==> web3.eth.accounts (修改:在前面加web3)1、进入 console truffle console2、实例化合约 contract = MetaCoin.at(MetaCoin.address)3、 调用 a. call 使用这个方法调用合约只会在本地上运行; ===>如果你只想得知运算的结果,那么使用该方法b. sendTransaction 使用这个方法调用合约将会使调用的结果成为全局共识的一部分===>如果想要改变合约的状态,那么就使用该方法例如:用户缴纳押金 function Deposit() payable returns (bool success) { users[msg.sender].depositValue = msg.value; return true; }//调用contract.Deposit.sendTransaction({from: user1, value: web3.toWei(.05, 'ether')})
|