01 导语
在前两期的本体技术视点中,我们介绍了跨合约静态调用与动态调用,讲述了如何使用 RegisterAppCall API 与 DynamicAppCall API 跨合约调用其他合约的函数。本期将进入本体 Python 智能合约语法专辑的终极篇,探讨如何使用合约执行引擎 API,即 ExecutionEngine API。它包含了3个 API,用法如下:
本期语法难度较大,堪比 Python 智能合约界的九阴真经,学成了你就厉害了!
下面我们具体讲述一下 ExecutionEngine API 的使用方法。在这之前,小伙伴们可以在本体智能合约开发工具 SmartX 中新建一个合约,跟着我们进行操作。同样,在文章最后我们将给出这次讲解的所有源代码以及视频讲解。
02 ExecutionEngine API 使用方法
使用 ExecutionEngine API 前需要将其引入。这可以通过下面的语句实现上述三个函数的实现:
from ontology.interop.System.ExecutionEngine import GetExecutingScriptHash, GetCallingScriptHash, GetEntryScriptHas
2.1 GetExcutingScriptHash
GetExecutingScriptHash API 最为简单,它的作用是返回当前合约的合约哈希反序,即当前合约账户地址。
from ontology.interop.System.ExecutionEngine import GetExecutingScriptHash
def Main(operation, args):
if operation == "get_contract_hash":