Documentation ¶
Overview ¶
包运行时提供执行EVM代码的基本执行模型。
Index ¶
- func Call(address common.Address, input []byte, cfg *Config) ([]byte, uint64, error)
- func Create(input []byte, cfg *Config) ([]byte, common.Address, uint64, error)
- func Execute(code, input []byte, cfg *Config) ([]byte, *state.StateDB, error)
- func Fuzz(input []byte) int
- func NewEnv(cfg *Config) *vm.EVM
- type Config
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Execute ¶
在执行期间,Execute使用输入作为调用数据来执行代码。 它返回EVM的返回值、新状态以及失败时的错误。
执行为执行设置内存中的临时环境 给定的代码。它确保之后它恢复到原来的状态。
Example ¶
package main import ( "fmt" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/vm/runtime" ) func main() { ret, _, err := runtime.Execute(common.Hex2Bytes("6060604052600a8060106000396000f360606040526008565b00"), nil, nil) if err != nil { fmt.Println(err) } fmt.Println(ret) // 输出: // [96 96 96 64 82 96 8 86 91 0] }
Output:
Types ¶
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是一种基本类型,指定运行的某些配置标志 EVM。
Click to show internal directories.
Click to hide internal directories.