Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

第四章数据结构-资料篇:区块-区块体-transactions交易列表 解释有误 #13

Open
Karry-Almond opened this issue Feb 14, 2022 · 0 comments

Comments

@Karry-Almond
Copy link

该书原文:
transactions 交易列表: 所有入选该区块的交易的哈希值列表,每个哈希是一个 32字节 的数据。根据哈希值,可以用客户端在以太坊节点上唯一查询该笔交易

但是根据github的geth源码:
https://github.com/ethereum/go-ethereum/blob/master/core/types/block.go#L168
type Block struct { header *Header uncles []*Header transactions Transactions ...

以及
https://github.com/ethereum/go-ethereum/blob/6c3513c0775e1e1e69a7c9e5c86255804fa3fb36/core/types/transaction.go#L51
`type Transaction struct {
inner TxData // Consensus contents of a transaction
time time.Time // Time first seen locally (spam avoidance)

// caches
hash atomic.Value
size atomic.Value
from atomic.Value

}

type TxData interface {
txType() byte // returns the type ID
copy() TxData // creates a deep copy and initializes all fields

chainID() *big.Int
accessList() AccessList
data() []byte
gas() uint64
gasPrice() *big.Int
gasTipCap() *big.Int
gasFeeCap() *big.Int
value() *big.Int
nonce() uint64
to() *common.Address

rawSignatureValues() (v, r, s *big.Int)
setSignatureValues(chainID, v, r, s *big.Int)

}`

可以看出,这里的区块体中装载的是交易本身(即包含了to,from,data等信息)

另外根据以太坊黄皮书, “一系列的交易 BT” ,也指的是字节序列的交易。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant