梦入琼楼寒有月,行过石树冻无烟

Etherscan and Bscscan

EtherscanBscscan 的区别就是以太坊链和币安链,由于两者在其自己的链浏览器中都相差不大,所以我们可以通过任意一个链的学习来了解两个链浏览器的功能和开发中需要的几个参数点。

在其首页中 Latest Blocks -> #Block 中,我们可以从其交易数据中来了解到链的整个交易过程和所涉及的知识点等信息,通过这些信息可以让我们之后在开发中进行利用并熟练的操作。

在之前的 web3.0 中我们通过 Provider 所提供的方法来进行获取块中的数据信息,那么我们可以在 Etherscan \ Bscscan 中来看到他们链官方是如何使用这些信息且展示的。

Block view

区块是一个核心的概念,我们可以理解为是将其分类帐中的页面,区块包含了交易数据和前一个区块的哈希值,从而确保区块链网络中的不可变性和安全性,因此一个完整的 Block 中,他通常包含了下列数据:

Id Name Info
1 Block Height 区块的高度,通常被称之为区块编号,表示该区块在链中的位置
2 Timestamp 时间戳
3 Transactions 区块中的交易数量,以及合约内部交易数据(指从合约执行中所创建并进行交易的以太币数量)
4 Mined by 成功开采这个区块的矿工
5 Block Rewad 矿机因将该块包含在区块链中而获得的总块奖励。奖励明细(静态块奖励、总交易费、扣除烧费、叔叔包含奖励)也会显示出来。
6 Uncles Reward 奖励采矿者在观察到的区块中开采未开采的区块。
7 Difficulty 开采一个新区块所需的工作量。难度根据区块链上的总哈希幂挖掘进行调整。
8 Total Difficultty 到目前为止的区块挖掘总难度
9 Size 块的大小,他由区块的 GAS 限制所决定
10 Gas Used 块中所使用的总 GAS,还包括使用 gas 百分百以及超过 gas 目标使用的 gas 百分比。
11 Gas Limit 区块中的总 gas 限制
12 Base Fee Per Gas 包含在块中的 tx 所需的最小 gasUsed 乘数
13 Burnt Fees 代表 tx 费用中被烧掉的部分:baseFeePerGas * gasUsed
14 Burnt Data 矿工可以包含在区块中的任何数据
15 Hash 当前区块的区块头哈希
16 Parent Hash 生成此块的块哈希,通常称之为其夫块
17 Sha3Uncle 以太坊 Javascript RLP 编码空字符串的机制
18 StateRoot 状态树的根
19 Nonce 区块随机量数是在挖掘过程中用于展示区块工作量证明的值

这在以太坊的官方知识库中均有记录,我们可以翻阅其官方的知识库来查阅有关以太坊链的相关信息和资料 Exploring the Block Details (etherscan.com)。无论是在 Etherscan 还是之前我们通过 web3.0 来请求块数据所返回的信息内,均都涉及一个概念类的东西,即 GAS :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
'author': '0xad5C1768e5974C231b2148169da064e61910f31a',
'difficulty': 735512610763,
'extraData': '0x476574682f76312e302e302f6c696e75782f676f312e342e32',
'gasLimit': 5000,
'gasUsed': 0,
'hash': '0x767c2bfb3bdee3f78676c1285cd757bcd5d8c272cef2eb30d9733800a78c0b6d',
'logsBloom': '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
'miner': '0xad5c1768e5974c231b2148169da064e61910f31a',
'mixHash': '0x31d9ec7e3855aeba37fd92aa1639845e70b360a60f77f12eff530429ef8cfcba',
'nonce': '0x549f882c5f356f85',
'number': 12345,
'parentHash': '0x4b3c1d7e65a507b62734feca1ee9f27a5379e318bd52ae62de7ba67dbeac66a3',
'receiptsRoot': '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421',
'sealFields': ['0x31d9ec7e3855aeba37fd92aa1639845e70b360a60f77f12eff530429ef8cfcba',
'0x549f882c5f356f85'],
'sha3Uncles': '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347',
'size': 539,
'stateRoot': '0xca495e22ed6b88c61714d129dbc8c94f5bf966ac581c09a57c0a72d0e55e7286',
'timestamp': 1438367030,
'totalDifficulty': 3862140487204603,
'transactions': [],
'transactionsRoot': '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421',
'uncles': [],
}

由于以太坊网络是一个分散的区块链,没有单一的实体或机构监管或其运营,因此建立了一个机制来避免网络堵塞或者垃圾邮件的交易信息,这种机制的主要原理是向交易发送者收取一笔称之为 GAS 费的小额费用 ETH 将使用这类资金奖励网络上验证交易的矿工。

1
这笔费用将会以 ETH 形式出现,也应用在以太坊网络中,从而促进价值来进行转移,采矿指出和智能合约的执行,GAS 的工作方式主要类似于汽油费的方式,类似于**车辆//燃料的工作方式,为了从 A~B 点,车辆所加满足够的汽油** 因此如果要让 ETH 交易成功,发送方必须提供足够的 ETH 来支付 GAS 费用。

GAS 的交易是从交易方地址剩余的 ETH 余额中所扣除的,而不是从发送的 ETH 或代币数量中扣除的,他还会再单个事件中自动与交易方进行扣除,更多关于 GAS 的信息,比如如何计算或设置 GAS 费用,我们可以通过 什么是汽油费 (etherscan.com) 来进行详细查看。

Transaction

交易数据(Transaction) 这是在 Etherscan 中所公开的,可与在 Latest Transaction 中来进行查看,Latest Transactions -> TX 在这你可以看到一个钱包到另一个钱包中的 ETH 余额的流动。

之后我们点进支付方的钱包地址可以看到详细的交易数据,Ethereum Transaction Hash (Txhash) Details | Etherscan 他主要包含了如下信息:

Id Name Info
1 Transaction Hash 事务散列,每单执行事务时所生成的唯一标识符称之为 TxnHash可用于追踪事务的状态
2 Status 当前的交易数据,分为成功和失败,分别对应着交易成功和交易未成功(交易金额将在 gas 后退还 )
3 Block 记录此事务块的编号
4 Timestamp 记录交易后的持续时间,以及记录交易的确切日期和时间。
5 From 发钱人地址
6 To 收款人地址
7 Value 本次交易的金额
8 Transaction Fee 本次交易所产生的费用或实际成本(Txn x GAS),无论交易是否成功 gas 都会是支付给矿工的
9 Gas Price 这一交易中所使用的最大 gas 单位
10 Gas Limit & Usage by Txn 此次交易使用 gas 的确切单位
11 Gas Price Gwei 为此交易所指定的天然气单位成本
12 Outher 与该事务相关的一些其他数据
13 Input Data 此事务包含其他数据,通常包含合约交互的一部分或者发给收钱人的信息
14 Private Note 记录交易中的私人注释,只有登入 etherscan 中才可查看

对于上述 14 中信息的注解,我们可以查阅 Etherscan 中的官方文档来解答我们的问题,通过官方文档中可以了解到很多信息: What is a Transaction Hash (etherscan.com)

在此之前,我们还需要先了解下流动池与AMM自动做市机制,之后在通过 BscScan 看块中方法为 Swap Exact Token... 的数据。

根据上图的解释,我们可以大致看清楚关于Swap Exact Token... 的流动池的交易数据,在区块链中是不存在 买和卖 的概念的,只有交易,Value 是交易中的BNB数量,可能为空也有可能有值。

这些都需要通过 Tokens Transferred 中来进行整理顺序,理清逻辑关系才可以理解到整个交易数据链的意思。

还需要主要的是,在上述页面中的 Gas Price 即本次交易的 gas 费用为 0.000000005 BNB 也就是 5 gwei,而 “gwei” 是什么我们可以通过 web3.0 官方文档中的解释来进行对照。

⬅️ Go back