本文主要是介绍5.3 以太坊:以太坊源码详解3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、转账的概念和交易的基本流程
用户输入转入的地址和金额
系统用转账地址的私钥对交易进行签名(确保这笔交易是由发起交易的所有人)
对交易进行验证
存入交易缓存池
广播交易
二、交易的数据
type Transaction struct {data txdata // 交易数据// cacheshash atomic.Value // 交易哈希size atomic.Value // 交易大小from atomic.Value // 交易来源
}type txdata struct {AccountNonce uint64 //发送者发起的交易的总数量Price, GasLimit *big.Int // gas价格与上线Recipient *common.Address `rlp:"nil"` // nil means contract creation // 接收者的地址,如果该地址为空,代表其是一个合约的创建者Amount *big.Int // 此次交易所转的以太币的数量Payload []byte // 其他数据V byte // signature // 交易签名数据R, S *big.Int // signature 交易签名数据
}
三、哈希
type (Hash [hashLength]byte // 哈希值Address [addressLength]byte // 地址
)
func BytesToHash(b []byte) Hash {var h Hashh.SetBytes(b)return h
}
四、区块数据结构
这篇关于5.3 以太坊:以太坊源码详解3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!