- 博客(6)
- 收藏
- 关注
原创 Openzeppelin库详解-ERC20
从“from”地址向“to”地址进行“value”数量的代币转移,要求from对transferFrom函数的调用者有足够的授权(大于等于“value”),消耗授权额度;:查看“owner”地址对“spender”地址的授权额度,含义是“spender”被授权能够从“owner”账户中划走的代币数量;:“owner”向“spender”进行数量“value”的授权,根据“emitEvent”来决定是否触发事件;:向指定地址铸造“value”数量的代币,代币总量相应增加“value”;
2024-10-20 19:30:08
1453
原创 Openzeppelin库详解-AccessControlDefaultAdminRules
AccessControlDefaultAdminRules合约是对AccessControl合约的增强,主要是对默认管理员身份组(默认管理员身份组id就是全0的bytes32)的相关操作进行了控制,具体体现在:1、“默认管理员”角色组(该角色组具有授权、取消授权其他角色组账户的权力,前提是其他角色组的管理员身份id是默认管理员,如果其他身分组设置了指定的管理员身份组,那就跟默认管理元没有关系了)中最多只能有一个账户;
2024-01-30 08:36:43
1335
1
原创 Openzeppelin库详解-AccessControl
合约部署后对外暴露的接口为:解释下继承自AccessControl的几个函数:1、grantRole:向指定身份组授权账户地址,使得该账户地址后续可以调用约束于该身份组才能访问的函数,操作该方法的地址要在该身份的管理员身份组账户列表中;2、renounceRole:解除自身账户地址在某个身份组中的授权,不检查是否为管理员组用户,用于紧急接触自身授权;3、revoleRole:从指定身份组接触账户地址授权,操作该方法的地址要在该身份的管理员身份组账户列表中;
2024-01-23 21:50:00
600
1
原创 Openzeppelin库详解-ERC20Wrapper
ERC20Wrapper能够实现对指定ERC20的锚定,通过调用ERC20Wrapper的存入、取出方法,在实现锚定ERC20转移的同时,实现等值ERC20Wrapper的mint、burn。
2024-01-21 21:31:51
1144
原创 Openzeppelin库详解-ERC20Votes
部署之后可用接口如下图所示:解释下其中比较重要的几个函数:1、approve:从msg.sender向指定地址授权可转移额度;2、delegate:将msg.sender的投票能力委托给指定账户,有ERC20余额的账户必须先委托给自己才能激活自身账户的投票能力;将签名的地址的投票能力委托给指定账户;
2024-01-21 15:50:30
1514
原创 Solidity学习笔记-文件头
导入文件操作会将被导入文件中引用的若干依赖全部导入,但是只有直接被导入文件中的符号才会在当前文件中可见,被导入文件的关联导入的级联文件中的符号在当前操作导入的文件中并不可见(但是继承路径检查会覆盖所有文件),比如文件2定义的合约B继承了导入文件1中的合约A,文件3定义的合约C继承了导入文件2中的合约B,那么在文件3中合约B是可见符号,合约A不是。这种方式则是有选择的导入文件中的要素,同时针对命名冲突的情况,还可以在导入的时候指定别名。编译器不检验代码许可声明,但是会将这部分内容放入编译后的字节码中。
2024-01-19 10:29:59
533
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人