ethapi

package
v0.0.0-...-39cdb81 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2019 License: GPL-3.0 Imports: 31 Imported by: 0

Documentation

Overview

包ethapi实现一般的以太坊API功能。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetAPIs

func GetAPIs(apiBackend Backend) []rpc.API

func RPCMarshalBlock

func RPCMarshalBlock(b *types.Block, inclTx bool, fullTx bool) (map[string]interface{}, error)

rpcmarshalblock将给定的块转换为依赖于fulltx的rpc输出。如果incltx为真,则事务为 返回。当fulltx为true时,返回的块包含完整的事务详细信息,否则它将只包含 事务哈希。

Types

type AccountResult

type AccountResult struct {
	Address      common.Address  `json:"address"`
	AccountProof []string        `json:"accountProof"`
	Balance      *hexutil.Big    `json:"balance"`
	CodeHash     common.Hash     `json:"codeHash"`
	Nonce        hexutil.Uint64  `json:"nonce"`
	StorageHash  common.Hash     `json:"storageHash"`
	StorageProof []StorageResult `json:"storageProof"`
}

GetProof的结果结构

type AddrLocker

type AddrLocker struct {
	// contains filtered or unexported fields
}

func (*AddrLocker) LockAddr

func (l *AddrLocker) LockAddr(address common.Address)

lockaddr锁定帐户的mutex。这用于阻止另一个Tx获取 直到释放锁。互斥体阻止(相同的nonce) 在签署第一个事务期间被再次读取。

func (*AddrLocker) UnlockAddr

func (l *AddrLocker) UnlockAddr(address common.Address)

unlockaddr解锁给定帐户的互斥体。

type Backend

type Backend interface {
	//通用以太坊API
	Downloader() *downloader.Downloader
	ProtocolVersion() int
	SuggestPrice(ctx context.Context) (*big.Int, error)
	ChainDb() ethdb.Database
	EventMux() *event.TypeMux
	AccountManager() *accounts.Manager

	//块链API
	SetHead(number uint64)
	HeaderByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*types.Header, error)
	BlockByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*types.Block, error)
	StateAndHeaderByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*state.StateDB, *types.Header, error)
	GetBlock(ctx context.Context, blockHash common.Hash) (*types.Block, error)
	GetReceipts(ctx context.Context, blockHash common.Hash) (types.Receipts, error)
	GetTd(blockHash common.Hash) *big.Int
	GetEVM(ctx context.Context, msg core.Message, state *state.StateDB, header *types.Header) (*vm.EVM, func() error, error)
	SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
	SubscribeChainHeadEvent(ch chan<- core.ChainHeadEvent) event.Subscription
	SubscribeChainSideEvent(ch chan<- core.ChainSideEvent) event.Subscription

	//TXPL API
	SendTx(ctx context.Context, signedTx *types.Transaction) error
	GetPoolTransactions() (types.Transactions, error)
	GetPoolTransaction(txHash common.Hash) *types.Transaction
	GetPoolNonce(ctx context.Context, addr common.Address) (uint64, error)
	Stats() (pending int, queued int)
	TxPoolContent() (map[common.Address]types.Transactions, map[common.Address]types.Transactions)
	SubscribeNewTxsEvent(chan<- core.NewTxsEvent) event.Subscription

	ChainConfig() *params.ChainConfig
	CurrentBlock() *types.Block
}

后端接口提供公共API服务(由 全功能和轻功能客户机)。

type CallArgs

type CallArgs struct {
	From     common.Address  `json:"from"`
	To       *common.Address `json:"to"`
	Gas      hexutil.Uint64  `json:"gas"`
	GasPrice hexutil.Big     `json:"gasPrice"`
	Value    hexutil.Big     `json:"value"`
	Data     hexutil.Bytes   `json:"data"`
}

callargs表示调用的参数。

type ExecutionResult

type ExecutionResult struct {
	Gas         uint64         `json:"gas"`
	Failed      bool           `json:"failed"`
	ReturnValue string         `json:"returnValue"`
	StructLogs  []StructLogRes `json:"structLogs"`
}

ExecutionResult将EVM发出的所有结构化日志分组 在调试模式和事务中重播事务时 执行状态、使用的气体量和返回值

type PrivateAccountAPI

type PrivateAccountAPI struct {
	// contains filtered or unexported fields
}

privateaccountapi提供了访问此节点管理的帐户的API。 它提供创建(取消)锁定列表帐户的方法。有些方法可以接受 密码,因此默认情况下被视为私有密码。

func NewPrivateAccountAPI

func NewPrivateAccountAPI(b Backend, nonceLock *AddrLocker) *PrivateAccountAPI

new privateaccountapi创建新的privateaccountapi。

func (*PrivateAccountAPI) DeriveAccount

func (s *PrivateAccountAPI) DeriveAccount(url string, path string, pin *bool) (accounts.Account, error)

DeriveAccount请求HD钱包派生一个新帐户,可以选择固定 it for later reuse.

func (*PrivateAccountAPI) EcRecover

func (s *PrivateAccountAPI) EcRecover(ctx context.Context, data, sig hexutil.Bytes) (common.Address, error)

ecrecover返回用于创建签名的帐户的地址。 注意,此功能与ETH标志和个人标志兼容。因此,它恢复了 地址: hash=keccak256(“\x19ethereum签名消息:\n”$消息长度$消息) addr = ecrecover(hash, signature)

注意,签名必须符合secp256k1曲线r、s和v值,其中 the V value must be 27 or 28 for legacy reasons.

https://github.com/ethereum/go-ethereum/wiki/management-apis个人\u-ecrecover

func (*PrivateAccountAPI) ImportRawKey

func (s *PrivateAccountAPI) ImportRawKey(privkey string, password string) (common.Address, error)

importrawkey将给定的十六进制编码的ecdsa密钥存储到密钥目录中, 用密码短语加密。

func (*PrivateAccountAPI) ListAccounts

func (s *PrivateAccountAPI) ListAccounts() []common.Address

list accounts将返回此节点管理的帐户的地址列表。

func (*PrivateAccountAPI) ListWallets

func (s *PrivateAccountAPI) ListWallets() []rawWallet

list wallets将返回此节点管理的钱包列表。

func (*PrivateAccountAPI) LockAccount

func (s *PrivateAccountAPI) LockAccount(addr common.Address) bool

LockAccount解锁后将锁定与给定地址关联的帐户。

func (*PrivateAccountAPI) NewAccount

func (s *PrivateAccountAPI) NewAccount(password string) (common.Address, error)

new account将创建一个新帐户并返回新帐户的地址。

func (*PrivateAccountAPI) OpenWallet

func (s *PrivateAccountAPI) OpenWallet(url string, passphrase *string) error

OpenWallet启动硬件钱包打开程序,建立USB 连接并尝试通过提供的密码短语进行身份验证。注: the method may return an extra challenge requiring a second open (e.g. the Trezor针矩阵挑战)。

func (*PrivateAccountAPI) SendTransaction

func (s *PrivateAccountAPI) SendTransaction(ctx context.Context, args SendTxArgs, passwd string) (common.Hash, error)

sendTransaction将根据给定的参数和 tries to sign it with the key associated with args.To. If the given passwd isn't 能够解密失败的密钥。

func (*PrivateAccountAPI) Sign

func (s *PrivateAccountAPI) Sign(ctx context.Context, data hexutil.Bytes, addr common.Address, passwd string) (hexutil.Bytes, error)

sign计算以太坊ECDSA签名: keccack256(“\x19ethereum签名消息:\n”+len(消息)+消息)

注:生成的签名符合secp256k1曲线r、s和v值, 由于遗产原因,V值将为27或28。

用于计算签名的密钥用给定的密码解密。

https://github.com/ethereum/go-ethereum/wiki/Management-APIs#personal_sign

func (*PrivateAccountAPI) SignAndSendTransaction

func (s *PrivateAccountAPI) SignAndSendTransaction(ctx context.Context, args SendTxArgs, passwd string) (common.Hash, error)

SignandSendTransaction已重命名为SendTransaction。此方法已弃用 and will be removed in the future. It primary goal is to give clients time to update.

func (*PrivateAccountAPI) SignTransaction

func (s *PrivateAccountAPI) SignTransaction(ctx context.Context, args SendTxArgs, passwd string) (*SignTransactionResult, error)

signTransaction将根据给定的参数和 tries to sign it with the key associated with args.To. If the given passwd isn't 能够解密失败的密钥。事务以RLP形式返回,而不是广播 其他节点

func (*PrivateAccountAPI) UnlockAccount

func (s *PrivateAccountAPI) UnlockAccount(addr common.Address, password string, duration *uint64) (bool, error)

解锁帐户将解锁与给定地址关联的帐户 持续时间秒的给定密码。如果持续时间为零,则使用 默认为300秒。它返回帐户是否已解锁的指示。

type PrivateDebugAPI

type PrivateDebugAPI struct {
	// contains filtered or unexported fields
}

privatedebugapi是在私有服务器上公开的以太坊API的集合。 调试终结点。

func NewPrivateDebugAPI

func NewPrivateDebugAPI(b Backend) *PrivateDebugAPI

new private debug api为专用调试方法创建新的API定义 以太坊服务。

func (*PrivateDebugAPI) ChaindbCompact

func (api *PrivateDebugAPI) ChaindbCompact() error

func (*PrivateDebugAPI) ChaindbProperty

func (api *PrivateDebugAPI) ChaindbProperty(property string) (string, error)

chainedbproperty返回链数据库的leveldb属性。

func (*PrivateDebugAPI) SetHead

func (api *PrivateDebugAPI) SetHead(number hexutil.Uint64)

sethead将区块链的头倒回到上一个块。

type PublicAccountAPI

type PublicAccountAPI struct {
	// contains filtered or unexported fields
}

PublicAccountAPI提供了一个API,用于访问此节点管理的帐户。 它只提供可以检索帐户的方法。

func NewPublicAccountAPI

func NewPublicAccountAPI(am *accounts.Manager) *PublicAccountAPI

我创建了一个新的公共会计。

func (*PublicAccountAPI) Accounts

func (s *PublicAccountAPI) Accounts() []common.Address

帐户返回此节点管理的帐户集合

type PublicBlockChainAPI

type PublicBlockChainAPI struct {
	// contains filtered or unexported fields
}

PublicBlockChainAPI提供访问以太坊区块链的API。 它只提供对任何人都可以自由使用的公共数据进行操作的方法。

func NewPublicBlockChainAPI

func NewPublicBlockChainAPI(b Backend) *PublicBlockChainAPI

NewPublicBlockChainAPI创建新的以太坊区块链API。

func (*PublicBlockChainAPI) BlockNumber

func (s *PublicBlockChainAPI) BlockNumber() hexutil.Uint64

BlockNumber返回链头的块号。

func (*PublicBlockChainAPI) Call

func (s *PublicBlockChainAPI) Call(ctx context.Context, args CallArgs, blockNr rpc.BlockNumber) (hexutil.Bytes, error)

调用对给定块号的状态执行给定事务。 它不会在状态/区块链中进行更改,并且对执行和检索值很有用。

func (*PublicBlockChainAPI) EstimateGas

func (s *PublicBlockChainAPI) EstimateGas(ctx context.Context, args CallArgs) (hexutil.Uint64, error)

EstimateGas返回执行 针对当前挂起块的给定事务。

func (*PublicBlockChainAPI) GetBalance

func (s *PublicBlockChainAPI) GetBalance(ctx context.Context, address common.Address, blockNr rpc.BlockNumber) (*hexutil.Big, error)

GetBalance返回给定地址在 给定的块编号。rpc.latestBlockNumber和rpc.pendingBlockNumber元 block numbers are also allowed.

func (*PublicBlockChainAPI) GetBlockByHash

func (s *PublicBlockChainAPI) GetBlockByHash(ctx context.Context, blockHash common.Hash, fullTx bool) (map[string]interface{}, error)

GetBlockByHash返回请求的块。当fulltx为true时,块中的所有事务都将全部返回 详细信息,否则只返回事务哈希。

func (*PublicBlockChainAPI) GetBlockByNumber

func (s *PublicBlockChainAPI) GetBlockByNumber(ctx context.Context, blockNr rpc.BlockNumber, fullTx bool) (map[string]interface{}, error)

GetBlockByNumber返回请求的块。当blocknr为-1时,链头返回。当fulltx为真时,所有 transactions in the block are returned in full detail, otherwise only the transaction hash is returned.

func (*PublicBlockChainAPI) GetCode

func (s *PublicBlockChainAPI) GetCode(ctx context.Context, address common.Address, blockNr rpc.BlockNumber) (hexutil.Bytes, error)

getcode返回给定块号状态下存储在给定地址的代码。

func (*PublicBlockChainAPI) GetProof

func (s *PublicBlockChainAPI) GetProof(ctx context.Context, address common.Address, storageKeys []string, blockNr rpc.BlockNumber) (*AccountResult, error)

GetProof returns the Merkle-proof for a given account and optionally some storage keys.

func (*PublicBlockChainAPI) GetStorageAt

func (s *PublicBlockChainAPI) GetStorageAt(ctx context.Context, address common.Address, key string, blockNr rpc.BlockNumber) (hexutil.Bytes, error)

GetStorageAt返回给定地址、键和 块号。The rpc.LatestBlockNumber and rpc.PendingBlockNumber meta block 也允许使用数字。

func (*PublicBlockChainAPI) GetUncleByBlockHashAndIndex

func (s *PublicBlockChainAPI) GetUncleByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, index hexutil.Uint) (map[string]interface{}, error)

GetUncleByBlockHashAndIndex返回给定块哈希和索引的叔叔块。当fulltx为真时 块中的所有事务都将返回完整的详细信息,否则只返回事务哈希。

func (*PublicBlockChainAPI) GetUncleByBlockNumberAndIndex

func (s *PublicBlockChainAPI) GetUncleByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, index hexutil.Uint) (map[string]interface{}, error)

GetUncleByBlockNumberAndIndex返回给定块哈希和索引的叔叔块。当fulltx为真时 块中的所有事务都将返回完整的详细信息,否则只返回事务哈希。

func (*PublicBlockChainAPI) GetUncleCountByBlockHash

func (s *PublicBlockChainAPI) GetUncleCountByBlockHash(ctx context.Context, blockHash common.Hash) *hexutil.Uint

GetUncleCountByBlockHash返回给定块哈希的块中的叔叔数

func (*PublicBlockChainAPI) GetUncleCountByBlockNumber

func (s *PublicBlockChainAPI) GetUncleCountByBlockNumber(ctx context.Context, blockNr rpc.BlockNumber) *hexutil.Uint

GetUncleCountByBlockNumber returns number of uncles in the block for the given block number

type PublicDebugAPI

type PublicDebugAPI struct {
	// contains filtered or unexported fields
}

publicDebugAPI是公开的以太坊API集合 调试终结点。

func NewPublicDebugAPI

func NewPublicDebugAPI(b Backend) *PublicDebugAPI

NewPublicDebugGapi为公共调试方法创建新的API定义 以太坊服务。

func (*PublicDebugAPI) GetBlockRlp

func (api *PublicDebugAPI) GetBlockRlp(ctx context.Context, number uint64) (string, error)

getblockrlp检索为单个块编码的rlp。

func (*PublicDebugAPI) PrintBlock

func (api *PublicDebugAPI) PrintBlock(ctx context.Context, number uint64) (string, error)

printblock检索一个块并返回其漂亮的打印表单。

func (*PublicDebugAPI) SeedHash

func (api *PublicDebugAPI) SeedHash(ctx context.Context, number uint64) (string, error)

seed hash检索块的种子哈希。

type PublicEthereumAPI

type PublicEthereumAPI struct {
	// contains filtered or unexported fields
}

PublicEthereumAPI提供一个API来访问与以太坊相关的信息。 它只提供对任何人都可以自由使用的公共数据进行操作的方法。

func NewPublicEthereumAPI

func NewPublicEthereumAPI(b Backend) *PublicEthereumAPI

NewPublicEthereumAPI创建新的Ethereum协议API。

func (*PublicEthereumAPI) GasPrice

func (s *PublicEthereumAPI) GasPrice(ctx context.Context) (*hexutil.Big, error)

加斯普赖斯返回了一个天然气价格的建议。

func (*PublicEthereumAPI) ProtocolVersion

func (s *PublicEthereumAPI) ProtocolVersion() hexutil.Uint

ProtocolVersion返回此节点支持的当前以太坊协议版本

func (*PublicEthereumAPI) Syncing

func (s *PublicEthereumAPI) Syncing() (interface{}, error)

如果节点当前未与网络同步,则同步将返回false。它可以是最新的,也可以没有。 yet received the latest block headers from its pears. In case it is synchronizing: -startingblock:此节点开始同步的块号 -currentblock:此节点当前导入的块号 -highest block:此节点从对等方接收到的最高块头的块号 -pulledstates:到目前为止处理的状态条目数 -knownstates:仍需要提取的已知状态条目数

type PublicNetAPI

type PublicNetAPI struct {
	// contains filtered or unexported fields
}

PublicNetAPI提供与网络相关的RPC方法

func NewPublicNetAPI

func NewPublicNetAPI(net *p2p.Server, networkVersion uint64) *PublicNetAPI

NewPublicNetAPI创建新的NET API实例。

func (*PublicNetAPI) Listening

func (s *PublicNetAPI) Listening() bool

侦听返回节点是否正在侦听网络连接的指示。

func (*PublicNetAPI) PeerCount

func (s *PublicNetAPI) PeerCount() hexutil.Uint

PeerCount返回连接的对等数

func (*PublicNetAPI) Version

func (s *PublicNetAPI) Version() string

version返回当前的以太坊协议版本。

type PublicTransactionPoolAPI

type PublicTransactionPoolAPI struct {
	// contains filtered or unexported fields
}

PublicTransactionPoolapi公开RPC接口的方法

func NewPublicTransactionPoolAPI

func NewPublicTransactionPoolAPI(b Backend, nonceLock *AddrLocker) *PublicTransactionPoolAPI

NewPublicTransactionPoolapi使用特定于事务池的方法创建新的RPC服务。

func (*PublicTransactionPoolAPI) GetBlockTransactionCountByHash

func (s *PublicTransactionPoolAPI) GetBlockTransactionCountByHash(ctx context.Context, blockHash common.Hash) *hexutil.Uint

GetBlockTransactionCountByHash返回具有给定哈希的块中的事务数。

func (*PublicTransactionPoolAPI) GetBlockTransactionCountByNumber

func (s *PublicTransactionPoolAPI) GetBlockTransactionCountByNumber(ctx context.Context, blockNr rpc.BlockNumber) *hexutil.Uint

GetBlockTransactionCountByNumber返回具有给定块号的块中的事务数。

func (*PublicTransactionPoolAPI) GetRawTransactionByBlockHashAndIndex

func (s *PublicTransactionPoolAPI) GetRawTransactionByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, index hexutil.Uint) hexutil.Bytes

GetRawTransactionByBlockHashAndIndex返回给定块哈希和索引的事务字节。

func (*PublicTransactionPoolAPI) GetRawTransactionByBlockNumberAndIndex

func (s *PublicTransactionPoolAPI) GetRawTransactionByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, index hexutil.Uint) hexutil.Bytes

GetRawTransactionByBlockNumberAndIndex返回给定块号和索引的事务字节。

func (*PublicTransactionPoolAPI) GetRawTransactionByHash

func (s *PublicTransactionPoolAPI) GetRawTransactionByHash(ctx context.Context, hash common.Hash) (hexutil.Bytes, error)

GetRawTransactionByHash返回给定哈希的事务字节。

func (*PublicTransactionPoolAPI) GetTransactionByBlockHashAndIndex

func (s *PublicTransactionPoolAPI) GetTransactionByBlockHashAndIndex(ctx context.Context, blockHash common.Hash, index hexutil.Uint) *RPCTransaction

GetTransactionByBlockHashAndIndex返回给定块哈希和索引的事务。

func (*PublicTransactionPoolAPI) GetTransactionByBlockNumberAndIndex

func (s *PublicTransactionPoolAPI) GetTransactionByBlockNumberAndIndex(ctx context.Context, blockNr rpc.BlockNumber, index hexutil.Uint) *RPCTransaction

GetTransactionByBlockNumberAndIndex返回给定块号和索引的事务。

func (*PublicTransactionPoolAPI) GetTransactionByHash

func (s *PublicTransactionPoolAPI) GetTransactionByHash(ctx context.Context, hash common.Hash) *RPCTransaction

GetTransactionByHash返回给定哈希的事务

func (*PublicTransactionPoolAPI) GetTransactionCount

func (s *PublicTransactionPoolAPI) GetTransactionCount(ctx context.Context, address common.Address, blockNr rpc.BlockNumber) (*hexutil.Uint64, error)

GetTransactionCount返回给定地址为给定块号发送的事务数。

func (*PublicTransactionPoolAPI) GetTransactionReceipt

func (s *PublicTransactionPoolAPI) GetTransactionReceipt(ctx context.Context, hash common.Hash) (map[string]interface{}, error)

GetTransactionReceipt返回给定事务哈希的事务回执。

func (*PublicTransactionPoolAPI) PendingTransactions

func (s *PublicTransactionPoolAPI) PendingTransactions() ([]*RPCTransaction, error)

PendingtTransactions返回事务池中的事务 并且有一个发件人地址,该地址是此节点管理的帐户之一。

func (*PublicTransactionPoolAPI) Resend

func (s *PublicTransactionPoolAPI) Resend(ctx context.Context, sendArgs SendTxArgs, gasPrice *hexutil.Big, gasLimit *hexutil.Uint64) (common.Hash, error)

重新发送接受现有交易和新的天然气价格和限额。它将移除 从池中指定的交易,并重新插入新的天然气价格和限额。

func (*PublicTransactionPoolAPI) SendRawTransaction

func (s *PublicTransactionPoolAPI) SendRawTransaction(ctx context.Context, encodedTx hexutil.Bytes) (common.Hash, error)

sendrawtransaction将把签名的事务添加到事务池中。 发送方负责签署事务并使用正确的nonce。

func (*PublicTransactionPoolAPI) SendTransaction

func (s *PublicTransactionPoolAPI) SendTransaction(ctx context.Context, args SendTxArgs) (common.Hash, error)

sendTransaction为给定参数创建一个事务,对其签名并将其提交给 事务池。

func (*PublicTransactionPoolAPI) Sign

sign为以下项计算ECDSA签名: keccack256(“\x19ethereum签名消息:\n”+len(消息)+消息)。

注:生成的签名符合secp256k1曲线r、s和v值, 由于遗产原因,V值将为27或28。

必须解锁与addr关联的帐户。

https://github.com/ethereum/wiki/wiki/json-rpc eth_符号

func (*PublicTransactionPoolAPI) SignTransaction

SignTransaction将使用From帐户对给定的事务进行签名。 节点需要具有与 从地址发出,需要解锁。

type PublicTxPoolAPI

type PublicTxPoolAPI struct {
	// contains filtered or unexported fields
}

publicTxPoolapi为事务池提供和API。它只对非机密数据进行操作。

func NewPublicTxPoolAPI

func NewPublicTxPoolAPI(b Backend) *PublicTxPoolAPI

newpublicTxPoolapi创建一个新的TxPool服务,提供有关事务池的信息。

func (*PublicTxPoolAPI) Content

func (s *PublicTxPoolAPI) Content() map[string]map[string]map[string]*RPCTransaction

Content返回事务池中包含的事务。

func (*PublicTxPoolAPI) Inspect

func (s *PublicTxPoolAPI) Inspect() map[string]map[string]map[string]string

inspect检索事务池的内容并将其扁平化为 易于检查的列表。

func (*PublicTxPoolAPI) Status

func (s *PublicTxPoolAPI) Status() map[string]hexutil.Uint

status返回池中挂起和排队的事务数。

type RPCTransaction

type RPCTransaction struct {
	BlockHash        common.Hash     `json:"blockHash"`
	BlockNumber      *hexutil.Big    `json:"blockNumber"`
	From             common.Address  `json:"from"`
	Gas              hexutil.Uint64  `json:"gas"`
	GasPrice         *hexutil.Big    `json:"gasPrice"`
	Hash             common.Hash     `json:"hash"`
	Input            hexutil.Bytes   `json:"input"`
	Nonce            hexutil.Uint64  `json:"nonce"`
	To               *common.Address `json:"to"`
	TransactionIndex hexutil.Uint    `json:"transactionIndex"`
	Value            *hexutil.Big    `json:"value"`
	V                *hexutil.Big    `json:"v"`
	R                *hexutil.Big    `json:"r"`
	S                *hexutil.Big    `json:"s"`
}

rpc transaction表示将序列化为事务的rpc表示形式的事务

type SendTxArgs

type SendTxArgs struct {
	From     common.Address  `json:"from"`
	To       *common.Address `json:"to"`
	Gas      *hexutil.Uint64 `json:"gas"`
	GasPrice *hexutil.Big    `json:"gasPrice"`
	Value    *hexutil.Big    `json:"value"`
	Nonce    *hexutil.Uint64 `json:"nonce"`
	//出于向后兼容性的原因,我们接受“数据”和“输入”。“输入”是
	//更新的名称,应为客户首选。
	Data  *hexutil.Bytes `json:"data"`
	Input *hexutil.Bytes `json:"input"`
}

sendtxargs表示向事务池中sumbit新事务的参数。

type SignTransactionResult

type SignTransactionResult struct {
	Raw hexutil.Bytes      `json:"raw"`
	Tx  *types.Transaction `json:"tx"`
}

SignTransactionResult表示RLP编码的签名事务。

type StorageResult

type StorageResult struct {
	Key   string       `json:"key"`
	Value *hexutil.Big `json:"value"`
	Proof []string     `json:"proof"`
}

type StructLogRes

type StructLogRes struct {
	Pc      uint64             `json:"pc"`
	Op      string             `json:"op"`
	Gas     uint64             `json:"gas"`
	GasCost uint64             `json:"gasCost"`
	Depth   int                `json:"depth"`
	Error   error              `json:"error,omitempty"`
	Stack   *[]string          `json:"stack,omitempty"`
	Memory  *[]string          `json:"memory,omitempty"`
	Storage *map[string]string `json:"storage,omitempty"`
}

structlogres存储EVM在重播时发出的结构化日志 调试模式下的事务处理

func FormatLogs

func FormatLogs(logs []vm.StructLog) []StructLogRes

FORMATLOGS FORMATS EVM为JSON输出返回结构化日志

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL