solidity-note
solidity-note copied to clipboard
solidity 学习笔记, truffle框架创建智能合约
1 Solidity
1.1 Knowledge
- 基础学习
- 进阶学习
1.2 Personal Summary
- solidity函数和变量
- 修饰符 public 和 external 的区别
- 修饰符 prue 和 view 的区别
- Different between require and assert
- send ether from contract to another contract
- modifer function with parameters
2 开发环境及框架
- 以太坊私链POW或POA部署
2.1 Reminx
网页版开发工具
- 在线地址:http://remix.ethereum.org
- Github: https://github.com/ethereum/remixd
优点:简单直接<BR> 缺点:工程化程度不足, 如:不能编写测试用例
2.1.1 summary
- 环境安装
- 使用说明
- Reminx + MetaMask 部署智能合约
2.2 Truffle + VScode
本地项目开发框架 https://github.com/trufflesuite/truffle
优点:功能丰富, 支持Reminx的所有功能;<BR> 缺点:命令行操作, 略复杂;
2.2.1 Sumary
-
环境安装
-
获取部署的智能合约地址、abi和code
-
测试用例智能合约调用另外一个智能合约
-
使用truffle框架管理编写一个ERC20 token、并编写测试用例和部署
3 智能合约调用
3.1 Golang Api
- 智能合约API生成
- 部署
- 交易
- Event监听
3.2 Python Api
- web3.py api
- 部署
- 交易
3.3 Nodejs Api
4 智能合约安全
4.1 漏洞
- 可重入攻击
- 短地址攻击
- 整数溢出