Documentation ¶
Overview ¶
Package contract provides functions to work with contracts.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Destroy ¶
func Destroy()
Destroy deletes calling contract (the one that calls Destroy) from the blockchain, so it's only possible to do that from the contract itself and not by any outside code. When contract is deleted all associated storage items are deleted too. This function uses `Neo.Contract.Destroy` syscall.
func GetScript ¶
GetScript returns the script of the given contract. It uses `Neo.Contract.GetScript` syscall.
func GetStorageContext ¶
GetStorageContext returns storage context for the given contract. It only works for contracts created in this transaction (so you can't take a storage context for arbitrary contract). Refer to the `storage` package on how to use this context. This function uses `Neo.Contract.GetStorageContext` syscall.
Types ¶
type Contract ¶
type Contract struct{}
Contract represents a Neo contract and is used in interop functions. It's an opaque data structure that you can manipulate with using functions from this package. It's similar in function to the Contract class in the Neo .net framework.
func Create ¶
func Create( script []byte, params []byte, returnType byte, properties byte, name, version, author, email, description string) Contract
Create creates a new contract using a set of input parameters:
script contract's bytecode (limited in length by 1M) params contract's input parameter types, one byte per parameter, see ParamType in the `smartcontract` package for value definitions. Maximum number of parameters: 252. returnType return value type, also a ParamType constant properties bit field with contract's permissions (storage, dynamic invoke, payable), see PropertyState in the `smartcontract` package name human-readable contract name (no longer than 252 bytes) version human-readable contract version (no longer than 252 bytes) author contract's author (no longer than 252 bytes) email contract's author/support e-mail (no longer than 252 bytes) description human-readable contract description (no longer than 64K bytes)
It returns this new created Contract when successful (and fails transaction if not). It uses `Neo.Contract.Create` syscall.
func Migrate ¶
func Migrate( script []byte, params []byte, returnType byte, properties byte, name, version, author, email, description string) Contract
Migrate migrates calling contract (that is the one that calls Migrate) to the new contract. Its parameters have exactly the same semantics as for Create. The old contract will be deleted by this call, if it has any storage associated it will be migrated to the new contract. New contract is returned. This function uses `Neo.Contract.Migrate` syscall.