研究文章

演化过程和供应链适应智能合同区块链

算法1

的主要管理过程半公开的链。
编译指示坚固^ 0.4.11;
合同Semi-PublicControl {
/ /声明地址不同的角色。
解决公共CommanderAddress;解决公共EndorserAddress;
解决公共OrdererAddress;解决公共CommitterAddress;
/ /指挥官节点权限控制和验证
修饰符onlyCommander () {
要求(msg.sender = = commanderAddress);}
/ /背书人节点权限控制和验证
修饰符onlyEndorser () {
要求(msg.sender = = EndorserAddress);}
/ /订货人节点权限控制和验证
修饰符onlyOrderer () {
要求(msg.sender = = OrdererAddress);}
/ /提交者节点权限控制和验证
修饰符onlyCommitter () {
要求(msg.sender = = CommitterAddress);}
/ /允许节点权限控制和验证
修饰符onlyPermission () {
要求(
msg.sender = = OrdererAddress | | msg.sender = = CommanderAddress | | msg.sender = = EndorserAddress | | msg.sender = = CommitterAddress);}
/ /建立一个新的指挥官,只有指挥官权威函数setcommand (address_newcommander)外部onlyCommander {
/ /地址不能为null检查
要求(_newCommander ! =地址(0));
CommanderAddress = _newcommander;}
/ /建立一个新的背书人,只有指挥官有权函数setEndorser (address_newEndorser)外部onlyCommander{要求(_newEndorser ! =地址(0));
EndorserAddress = _newEndorser;}
/ /建立一个新的订货方,只有指挥官有权函数setOrderer (address_newOrderer)外部onlyCommander {
要求(_newOrderer ! =地址(0));
OrdererAddress = _newOrderer;}
/ /建立一个新的提交者,只有指挥官有权函数setCommitter (address_newCommitter)外部onlyCommander {
要求(_newCommitter ! =地址(0));
CommitterAddress = _newCommitter;}
/ /允许节点通用许可,只允许节点权限功能外部onlyPermission TODO (address_newCommitter) {
/ /该方法验证权限节点地址执行代码之前}}