1. 构建目录结构
再输入 
10. 代币使用
打开cmd,新建一个文件夹,ooxxb,进入文件夹
2. 用truffle初始化项目输入
truffle init
3. 引入Openzeppelin
github地址
npm install @openzeppelin/contracts
可以看到项目文件夹下多了一个文件夹node_modules
package.json文件里也多了一个依赖包,说明引入成功!
在contracts文件夹下新建一个文件OoxxCoin.sol,内容为:
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 contract = instance)
回车
contract.name();
如图,可以看到结果正确!
在truffle develop命令后出现的10个虚拟账号,默认部署合约用的是第一个地址来存放发行总量,接下来用前3个虚拟账号来模拟操作
- 0xc5965f591942d77e06e8a992de650d0044034efd
- 0xd3648210093776256360315f16f443a67b33e5ff
- 0x221b2b110afc7261347ebddb738a37338724a673
输入
contract.totalSupply();
- 查询第一个账户0xc5965f591942d77e06e8a992de650d0044034efd余额
contract.balanceOf("0xc5965f591942d77e06e8a992de650d0044034efd");
PS:默认部署合约用的是第一个地址来存放发行总量,所以可以查到余额等于发行总量。
- 查询第二个账户0xd3648210093776256360315f16f443a67b33e5ff余额
contract.balanceOf("0xd3648210093776256360315f16f443a67b33e5ff");
这次就查到余额为0了
- 查询第三个账户0x221b2b110afc7261347ebddb738a37338724a673余额
contract.balanceOf("0x221b2b110afc7261347ebddb738a37338724a673");
同样余额为0
输入
contract.transfer("0xd3648210093776256360315f16f443a67b33e5ff",6000);
查询第二个账户余额,有6000,结果正确
contract.balanceOf("0xd3648210093776256360315f16f443a67b33e5ff");
查询发行量余额,666666-6000=66066,结果正确
contract.balanceOf("0xc5965f591942d77e06e8a992de650d0044034efd");
over,enjoy!