Documentation ¶
Index ¶
Constants ¶
View Source
const ( ErrorEVM = 2 ErrorConfig = 3 ErrorMissingBlockhash = 4 ErrorJson = 10 ErrorIO = 11 ErrorRlp = 12 )
Variables ¶
View Source
var ( TraceFlag = &cli.BoolFlag{ Name: "trace", Usage: "Output full trace logs to files <txhash>.jsonl", } TraceDisableMemoryFlag = &cli.BoolFlag{ Name: "trace.nomemory", Value: true, Usage: "Disable full memory dump in traces (deprecated)", } TraceEnableMemoryFlag = &cli.BoolFlag{ Name: "trace.memory", Usage: "Enable full memory dump in traces", } TraceDisableStackFlag = &cli.BoolFlag{ Name: "trace.nostack", Usage: "Disable stack output in traces", } TraceDisableReturnDataFlag = &cli.BoolFlag{ Name: "trace.noreturndata", Value: true, Usage: "Disable return data output in traces (deprecated)", } TraceEnableReturnDataFlag = &cli.BoolFlag{ Name: "trace.returndata", Usage: "Enable return data output in traces", } OutputBasedir = &cli.StringFlag{ Name: "output.basedir", Usage: "Specifies where output files are placed. Will be created if it does not exist.", Value: "", } OutputBodyFlag = &cli.StringFlag{ Name: "output.body", Usage: "If set, the RLP of the transactions (block body) will be written to this file.", Value: "", } OutputAllocFlag = &cli.StringFlag{ Name: "output.alloc", Usage: "Determines where to put the `alloc` of the post-state.\n" + "\t`stdout` - into the stdout output\n" + "\t`stderr` - into the stderr output\n" + "\t<file> - into the file <file> ", Value: "alloc.json", } OutputResultFlag = &cli.StringFlag{ Name: "output.result", Usage: "Determines where to put the `result` (stateroot, txroot etc) of the post-state.\n" + "\t`stdout` - into the stdout output\n" + "\t`stderr` - into the stderr output\n" + "\t<file> - into the file <file> ", Value: "result.json", } OutputBlockFlag = &cli.StringFlag{ Name: "output.block", Usage: "Determines where to put the `block` after building.\n" + "\t`stdout` - into the stdout output\n" + "\t`stderr` - into the stderr output\n" + "\t<file> - into the file <file> ", Value: "block.json", } InputAllocFlag = &cli.StringFlag{ Name: "input.alloc", Usage: "`stdin` or file name of where to find the prestate alloc to use.", Value: "alloc.json", } InputEnvFlag = &cli.StringFlag{ Name: "input.env", Usage: "`stdin` or file name of where to find the prestate env to use.", Value: "env.json", } InputTxsFlag = &cli.StringFlag{ Name: "input.txs", Usage: "`stdin` or file name of where to find the transactions to apply. " + "If the file extension is '.rlp', then the data is interpreted as an RLP list of signed transactions." + "The '.rlp' format is identical to the output.body format.", Value: "txs.json", } InputHeaderFlag = &cli.StringFlag{ Name: "input.header", Usage: "`stdin` or file name of where to find the block header to use.", Value: "header.json", } InputOmmersFlag = &cli.StringFlag{ Name: "input.ommers", Usage: "`stdin` or file name of where to find the list of ommer header RLPs to use.", } InputTxsRlpFlag = &cli.StringFlag{ Name: "input.txs", Usage: "`stdin` or file name of where to find the transactions list in RLP form.", Value: "txs.rlp", } SealCliqueFlag = &cli.StringFlag{ Name: "seal.clique", Usage: "Seal block with Clique. `stdin` or file name of where to find the Clique sealing data.", } SealEthashFlag = &cli.BoolFlag{ Name: "seal.ethash", Usage: "Seal block with ethash.", } SealEthashDirFlag = &cli.StringFlag{ Name: "seal.ethash.dir", Usage: "Path to ethash DAG. If none exists, a new DAG will be generated.", } SealEthashModeFlag = &cli.StringFlag{ Name: "seal.ethash.mode", Usage: "Defines the type and amount of PoW verification an ethash engine makes.", Value: "normal", } RewardFlag = &cli.Int64Flag{ Name: "state.reward", Usage: "Mining reward. Set to -1 to disable", Value: 0, } ChainIDFlag = &cli.Int64Flag{ Name: "state.chainid", Usage: "ChainID to use", Value: 1, } ForknameFlag = &cli.StringFlag{ Name: "state.fork", Usage: fmt.Sprintf("Name of ruleset to use."+ "\n\tAvailable forknames:"+ "\n\t %v"+ "\n\tAvailable extra eips:"+ "\n\t %v"+ "\n\tSyntax <forkname>(+ExtraEip)", strings.Join(tests.AvailableForks(), "\n\t "), strings.Join(vm.ActivateableEips(), ", ")), Value: "GrayGlacier", } VerbosityFlag = &cli.IntFlag{ Name: "verbosity", Usage: "sets the verbosity level", Value: 3, } )
Functions ¶
func BuildBlock ¶ added in v4.2.0
func BuildBlock(ctx *cli.Context) error
BuildBlock constructs a block from the given inputs.
func MakePreState ¶
func Transaction ¶
func Transaction(ctx *cli.Context) error
func Transition ¶
func Transition(ctx *cli.Context) error
Types ¶
type Alloc ¶
type Alloc map[common.Address]core.GenesisAccount
type ExecutionResult ¶
type ExecutionResult struct { StateRoot common.Hash `json:"stateRoot"` TxRoot common.Hash `json:"txRoot"` ReceiptRoot common.Hash `json:"receiptsRoot"` LogsHash common.Hash `json:"logsHash"` Bloom types.Bloom `json:"logsBloom" gencodec:"required"` Receipts types.Receipts `json:"receipts"` Rejected []*rejectedTx `json:"rejected,omitempty"` Difficulty *math.HexOrDecimal256 `json:"currentDifficulty" gencodec:"required"` GasUsed math.HexOrDecimal64 `json:"gasUsed"` }
ExecutionResult contains the execution status after running a state test, any error that might have occurred and a dump of the final state if requested.
type NumberedError ¶
type NumberedError struct {
// contains filtered or unexported fields
}
func NewError ¶
func NewError(errorCode int, err error) *NumberedError
func (*NumberedError) Error ¶
func (n *NumberedError) Error() string
func (*NumberedError) ExitCode ¶
func (n *NumberedError) ExitCode() int
type Prestate ¶
type Prestate struct { Env stEnv `json:"env"` Pre core.GenesisAlloc `json:"pre"` }
func (*Prestate) Apply ¶
func (pre *Prestate) Apply(vmConfig vm.Config, chainConfig *params.ChainConfig, txs types.Transactions, miningReward int64, getTracerFn func(txIndex int, txHash common.Hash) (tracer vm.EVMLogger, err error)) (*state.StateDB, *ExecutionResult, error)
Apply applies a set of transactions to a pre-state
Click to show internal directories.
Click to hide internal directories.