首先依据“项目合约接口”开拓“连系项目合约”,陈设到区块链上;并以“连系项目合约的地点”作为提案中的参数,提倡提案;连系公司中每一家公司可以按照提案中的合约地点查察合约,抉择是否投票该提案;当获得连系公司中大大都成员公司投票通事后,即成为“连系项目合约”。
合约设计思路
在合约设计上,参考了 FISCO BCOS开源社区《智能合约编写之Solidity的编程攻略》文章里的思路,回收“数据、打点、节制”分层的设计要领。
function transferOwnership(address newOwner) public onlyOwner {require(newOwner != address(0), "Ownable: new owner is the zero address");emit OwnershipTransferred(_owner, newOwner);_owner = newOwner;}
A:给我较量深印象的有两个问题,一个是碰着某些合约要领无法直接利用WeBASE网页端或通过节制台会见的环境。
本智能合约方案主要有三大模块:连系管理模块、公司模块、项目模块,合约交互主要产生在这三大模块的合约之间。
要害逻辑的合约代码实现
合约成果上,主要有以下几点:
尚有一个和测试有关,因为项目陈设时,有几个合约会依赖其他合约陈设后的地点,所以假如测试时发明合约代码差池,就要全部从头陈设一遍再测试。我办理的要领是首先在Remix IDE上测试,代码差池就从头陈设,还较量快速。全部的逻辑都测试通过没问题了,再放到FISCO BCOS上测,这个时候就是测试SDK与合约的交互了。
A:我看到FISCO BCOS开源社区常常讲“把代码丢出去,把信任建起来”,很让人钦佩。开源社区不只仅包罗社区提倡者和运营维护者,更重要的是有宽大开拓者,“众人拾柴火焰高”,在海内开源社区建树中,能更换开源社区宽大开拓者气力是很要害的。
连系管理模块:提案与投票系统,连系公司成员打点系统,连系公司间资金流转系统;
项目模块:多个公司的连系项目打点,单个公司的内部项目打点。
好比一般公司间的业务往来常涉及项目、资金两大类,假如多家公司需要连系打点某个项目,且有资金往来,就可以思量利用区块链技能实现“链上协同与管理”。各人可保持对项目希望的全局视野一致,同时,任何签字确认的流程都由对应私钥签名后触发,更容易实现责任到人。
当投票通事后,“存储类智能合约”的所有权干系会转移到新的“节制器合约”地点上,数据稳定,可是业务逻辑“进级”了。
Q:在做底层技能选型时,您思量哪些因素?
高朋Q&A
这里先容项目中一些要害逻辑的合约代码实现,以“存储类智能合约”的所有权转移为例。
在近期浩瀚大赛中,社区涌现出很多优质的区块链应用方案,这些方案让各人看到技能自己的发达活力,也折射了区块链助力财富成长的无限潜力。
区块链智能合约设计思路与要害逻辑
项目打点成果,如项目打点员的配置;
链上协同与管理实现思路
上述“newOwner”参数必需为对应的“节制器合约”地点。这样,“存储类智能合约”通过修饰器“modifier onlyOwner()”担保了只有对应的“节制器智能合约”才可以修改“存储类智能合约”的数据。
Q:您能分享下作品筹备进程中,碰着哪些技能问题?又是 公司合约、项目合约在实现对应接口合约要领的基本上自界说业务逻辑。链上协同与管理实现思路 各家公司在区块链上以单独的“公司合约”形式存在。然后由已在连系公司中的成员以新陈设的“公司合约地点”作为参数提倡提案。
因为我之前也有研究过海外的某个开源底层平台,我是通过英文文档开始研究的。假如是自己就不相识区块链的人,从英文文档开始,进修本钱就很高了。一方面要领略英文,另一方面还要领略英文所表述的专业词汇。像FISCO BCOS这样的国产开源区块链平台,提供完善的中文文档,对一个初学者而言只需要领略专业词汇就好了,没有语言的本钱,较量容易上手。
本期邀请区块链资深开拓者朱立派分享他在BSN第二次开拓者大赛上的获奖作品:《United Corporation On Blockchain》(区块链上的连系公司),探讨多
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。