使用 solidity 的 truffle 框架开发智能合约, 前端使用 react 框架, 最终完成智能合约从前端到后端, 从开发到部署的完整流程.
1. 版本需求
- Truffle v5.0.28 (core: 5.0.28)
- Solidity v0.5.0 (solc-JS)
- Node v8.11.2
- web3.JS v1.0.0-beta.37
2. 项目初始化
- mkdir -p truffle
- cd truffle
- truffle unbox react
3. 合约编写, 编译和部署
将 GitHub truffle-react 目录下的文件拷贝出来.
- copy ./source/App.JS to "./client/src/App.js"
- copy ./source/truffle-config.JS to ./
- copy ./source/Migration.sol ./source/SimpleStorage.sol to "./contracts"
- copy ./source/1_initial_migration.JS ./source/2_deploy_contracts.JS to "./migrations"
- truffle develop (port: 8545)
- compile
- migrate (--reset)
4. 启动项目, 查看效果
- cd client && NPM start
- config metamask wallet to private chain on http://localhost:8545/
- visit http://localhost:3000/
- input number xxx in input box, then click "修改" button
- in wallet , click comfirm button
- in mainpage ,the The stored value is: xxx(you enter number above)
5. 总结
一个完整的覆盖前后端的 DAPP 实际上就两点, 跟传统互联网项目的前后端类似.
合约编写, 部署前端调用基于以太坊开发 DAPP 实际上比较简单, 重点是在合约的逻辑性, 安全性上. 从这也可以看出来以太坊生态的强大和完整, 便捷完备的开发语言, 工具, 确实是目前最牛的项目之一.
来源: http://www.bubuko.com/infodetail-3138777.html