We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#187
3.6.0版本节点新增feature_balance_policy1,此feature是基于feature_balance,表现为:
基于此feature,新增了Economic.sol权限治理合约,用于实现以下几个功能:
合约关键函数描述:
使用账户A部署Economic.sol合约,账户A成为合约的owner,具有给普通账户授权为charger和取消普通账户charger权限的权限。
合约在链上部署完之后,需要治理委员会成员调用合约enable函数将本合约注册为治理合约,之后也可以调用disable函数注销本合约为治理合约;
若使用其他非治理委员会成员调用enable函数,则执行出错。
使用账户A,即合约owner,通过调用函数grantCharger给普通账户B授予charger权限。也可以多次调用本函数给其他普通账户授权。
若使用非账户A进行grantCharger函数调用,会执行出错。
账户B调用charge、deduct、getBalance对其他普通账户进行增删查gas。 此时使用其他未授予charger权限的账户对普通账户进行增删查操作会执行出错。
搭建测试链,开启对应feature,使用下面命令执行测试脚本,进行测试,注意修改committee账户路径。
java -cp 'conf/:lib/*:apps/*' org.fisco.bcos.sdk.demo.contractTest.EconomicTest group0 /path/to/committee/account/0xc08f74bc27bc7b46bbe5f945d55be6f1f0048108.pem
The text was updated successfully, but these errors were encountered:
No branches or pull requests
相关PR:
#187
功能描述
3.6.0版本节点新增feature_balance_policy1,此feature是基于feature_balance,表现为:
基于此feature,新增了Economic.sol权限治理合约,用于实现以下几个功能:
合约关键函数描述:
注册本合约为治理合约
注销本合约为治理合约
授权普通账户为charger
取消账户的charger权限
charger给普通账户充值接口
charger给普通账户扣减接口
测试方案
1. 部署合约
使用账户A部署Economic.sol合约,账户A成为合约的owner,具有给普通账户授权为charger和取消普通账户charger权限的权限。
2. 注册为权限治理合约
合约在链上部署完之后,需要治理委员会成员调用合约enable函数将本合约注册为治理合约,之后也可以调用disable函数注销本合约为治理合约;
若使用其他非治理委员会成员调用enable函数,则执行出错。
3. 给普通账户授予charger权限
使用账户A,即合约owner,通过调用函数grantCharger给普通账户B授予charger权限。也可以多次调用本函数给其他普通账户授权。
若使用非账户A进行grantCharger函数调用,会执行出错。
4. 给普通账户增删查gas
账户B调用charge、deduct、getBalance对其他普通账户进行增删查gas。
此时使用其他未授予charger权限的账户对普通账户进行增删查操作会执行出错。
执行测试
搭建测试链,开启对应feature,使用下面命令执行测试脚本,进行测试,注意修改committee账户路径。
The text was updated successfully, but these errors were encountered: