Documentation ¶
Overview ¶
Package engine provides access to VM execution metadata and allows to make contract calls. It's roughly similar in function to ExecutionEngine class in the Neo .net framework.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppCall ¶
func AppCall(scriptHash []byte, args ...interface{}) interface{}
AppCall executes previously deployed blockchain contract with specified hash (160 bit in BE form represented as 20-byte slice) using provided arguments. It returns whatever this contract returns. Even though this function accepts a slice for scriptHash you can only use it for contracts known at compile time, because there is a significant difference between static and dynamic calls in Neo (contracts should have a special property declared and paid for to be able to use dynamic calls). This function uses `APPCALL` opcode.
func DynAppCall ¶ added in v0.75.0
func DynAppCall(scriptHash []byte, args ...interface{}) interface{}
DynAppCall executes previously deployed blockchain contract with specified hash (160 bit in BE form represented as 20-byte slice) using provided arguments. It returns whatever this contract returns. It differs from AppCall in that you can use it for truly dynamic scriptHash values, but at the same time using it requires HasDynamicInvoke property set for a contract doing this call. This function uses `APPCALL` opcode.
func GetCallingScriptHash ¶
func GetCallingScriptHash() []byte
GetCallingScriptHash returns script hash (160 bit in BE form represented as 20-byte slice) of the contract that started the execution of the currently running context (caller of current contract or function), so it's one level above the GetExecutingScriptHash in the call stack. It uses `System.ExecutionEngine.GetCallingScriptHash` syscall.
func GetEntryScriptHash ¶
func GetEntryScriptHash() []byte
GetEntryScriptHash returns script hash (160 bit in BE form represented as 20-byte slice) of the contract that initially started current execution (this is a script that is contained in a transaction returned by GetScriptContainer) execution from the start. This function uses `System.ExecutionEngine.GetEntryScriptHash` syscall.
func GetExecutingScriptHash ¶
func GetExecutingScriptHash() []byte
GetExecutingScriptHash returns script hash (160 bit in BE form represented as 20-byte slice) of the contract that is currently being executed. Any AppCall can change the value returned by this function if it calls a different contract. This function uses `System.ExecutionEngine.GetExecutingScriptHash` syscall.
func GetScriptContainer ¶
func GetScriptContainer() transaction.Transaction
GetScriptContainer returns the transaction that initially triggered current execution context. It never changes in a single execution, no matter how deep this execution goes. See `transaction` package for details on how to use the returned value. This function uses `System.ExecutionEngine.GetScriptContainer` syscall.
Types ¶
This section is empty.