工厂学习
Last updated
Last updated
工厂是一种智能合约,作为他人用于其自有特定用例的可复制和执 行的标准合约库。克隆合约可使用自定义参数初始化,并利用自定 义扩展合约执行扩展,从而用于各种用途,确保无人可修改其核心 内容。采用这种方法后,开发任何应用程序都会更快捷更安全。Devs可以 专注于按需开发克隆合约顶端的代码,无需考虑开发核心或从头写 入和重新部署核心内容。 整个EthereansOS生态系统是采用工厂方法构建的。
工厂允许devs轻松克隆特定智能合约/服务,无需写入代码行。与从 头重新部署合约相比,更安全的方式是克隆已开发和测试并为很多 用户所用的合约。
和现行编码方法相比,这是一次大刀阔斧的变革。现行编码方法将 某项标准(如ERC20)作为起点,对其进行修改,以添加/移除代 码或功能,不确定漏洞或恶意操作是否会出现在合约中,这通常会 导致用户发生经济损失。这甚至不允许采用共同标准的常见代码库 ,由于开发人员创建了他人难以整合的代码,该技术的发展并未得 到推进。
相反,工厂方法面向完整开发生态系统的演变,遵循安全原则,同 时注重简化代码实施程序,创建稳定更新的共享代码库,大幅降低 了开发过程的复杂性
使用基于工厂的方法在安全环境下提供高度定制化。开发人员可使 用扩展智能合约扩展工厂克隆的合约代码。扩展与克隆合约相连接 ,扩展其顶端功能和交互可能性及外部整合。你可以由此获得安全 性,因为合约的核心内容是从标准合约复制而来的,但你可以根据 项目需求将扩展置于顶端,执行自定义逻辑。
我们举一个克隆耕作合约的工厂例子:耕作合约是一种标准合约, 你可以通过顶端的扩展以自定义方式与其交互。链上组织需要一个 自定义扩展,以组织自身运作提供的方式将资金从财库管理人转移 到该自定义扩展,而根据其特定操作逻辑等,DAO需要一个能将资 金发送至合约的扩展。最终形成一项安全的克隆合约,通过扩展实 现扩展和整合。
最终形成一项安全的克隆合约,通过扩展实现扩展和整合。
工厂中的工厂(FoF)是一个工厂部署器和聚合器,代表了基于工厂 的方法的核 FoF允许:每个开发人员同时或稍后部署一个或多个工厂 可发现性:重建所有保存在链上的现有工厂,包括部署其参考地址 版本化:部署一个新版本的工厂,让用户随时能使用旧工厂 元数据:每个工厂都有FoF允许轻松重建的自有元数据组 模块化:FoF部署的工厂代表一个用于多种用途的共享代码库。你 可以通过克隆和执行来自不同工厂的合约来创建自有项目。 可扩展性:从不同工厂克隆的每份合约可使用扩展智能合约进行扩 展,以完美匹配项目需求。
Devs可在自有工厂和潜在标准合约下执行真正的商业模式,每次克 隆和/或使用合约时收取费用。
只有通过工厂中的工厂(FoF)部署的工厂可执行真正的收费商业 模式。
工厂制造者可从两种可能的收费商业模式中任选一种: 创建费。此模式允许工厂制造者收取克隆标准合约的费用,包括特 定数量的代币的销毁费或转移费。
想象一个工厂,其标准合约是组织可轻松克隆和执行的微服务。我 们说工厂制造者在收取创建费的前提下为模式编码,这样用户每次 克隆合约时都需支付/销毁固定数量的代币。
使用费。此模式允许工厂制造者对工厂标准合约的所有克隆合约收 取使用费。使用费可以是固定的(用户必须使用克隆合约销毁或转 移的固定数量的代币),也可以是可变的(用户交易值的百分比 )。
想象一个工厂,其标准合约是一项耕作合约,任何开发人员可克隆 此合约并利用它执行应用程序,使用户耕作。我们说工厂制造者在 收取撤回费的前提下为模式编码,这样用户每次从其耕作位置撤回 流动资金时都需支付/销毁固定数量的代币(固定费用)或工厂制造 者收取2%的撤回代币(可变费用)。