安徽区块链技术沙龙的代码版本,用来满足沙龙自身管理和技术演示
------------------------------ 合约部分 ------------------------------
合约分为三大块,第一块是沙龙token合约部分,第二块是沙龙合约本身的部分,第三块是辅助合约部分。
-
主合约在SalonToken.sol中,部署的时候只需要部署这一个合约即可。其他相关的部分,包括storage,impl等会在合约中自动部署。
-
沙龙token遵循erc20,但是开有更多的接口。包括实现了管理员挖矿,实现步骤可升级等一系列功能。其中最重要的是可升级功能,该功能可以保证即使token合约有漏洞,也可以升级成最新代码,并且用户无感知。
-
升级步骤:先单独部署SalonTokenImpl.sol中的实现方法合约,再调用这个合约中的修改管理员方法,把管理员改成SalonToken.sol中的接口合约,最后调用SalonToken.sol的升级接口,传入新部署的实现合约的地址即可。
-
主合约在Salon.sol中,部署的时候只需要部署这一个合约即可。
-
为了和沙龙token合约配合使用,部署之后,需要在沙龙token合约中调用接口,把沙龙合约配置成管理员。
-
每个接口的说明请参见Salon.sol中的注释。
辅助部分主要是一些接口以及数学库等。没什么单独用处,就是为了设计的时候做到接口和实现分开,使逻辑更加清晰而已。有兴趣可以自己看下源码。