Package runtime provides a basic execution model for executing EVM code.




    This section is empty.


    This section is empty.


    func Call

    func Call(address common.Address, input []byte, cfg *Config) ([]byte, uint64, error)

      Call executes the code given by the contract's address. It will return the EVM's return value or an error if it failed.

      Call, unlike Execute, requires a config and also requires the State field to be set.

      func Create

      func Create(input []byte, cfg *Config) ([]byte, common.Address, uint64, error)

        Create executes the code using the EVM create method

        func Execute

        func Execute(code, input []byte, cfg *Config) ([]byte, *state.StateDB, error)

          Execute executes the code using the input as call data during the execution. It returns the EVM's return value, the new state and an error if it failed.

          Execute sets up an in-memory, temporary, environment for the execution of the given code. It makes sure that it's restored to its original state afterwards.

          [96 96 96 64 82 96 8 86 91 0]

          func NewEnv

          func NewEnv(cfg *Config) *vm.EVM


          type Config

          type Config struct {
          	ChainConfig *params.ChainConfig
          	Difficulty  *big.Int
          	Origin      common.Address
          	Coinbase    common.Address
          	BlockNumber *big.Int
          	Time        *big.Int
          	GasLimit    uint64
          	GasPrice    *big.Int
          	Value       *big.Int
          	Debug       bool
          	EVMConfig   vm.Config
          	State     *state.StateDB
          	GetHashFn func(n uint64) common.Hash

            Config is a basic type specifying certain configuration flags for running the EVM.