区块链上的每一笔交易都被记录下来了,任何人都可以查看,并且不能删除,不能篡改。那么要怎样查看这些区块链交易呢?
区块链都会有相应的区块链浏览器,比如,这是BSC链的地址:https://bscscan.com/
区块链上的每一笔交易都会有交易哈希,由一长串十六进制字符组成,比如这个:
0x9983196bc1a9ab71d4286a90d814726c4b989269f44b76608d4191f82ea72a44。我们看看是一笔什么样的交易。
1.概览
直接在搜索框中搜索这个交易哈希,就可以看到交易详情:
- Transaction Hash: 这是交易哈希
- Status: 状态,成功
- Block: 交易区块编号,因为区块链是由一个一个的区块组成,一个区块满了就会生成新的区块,并在新的区块交易,编号是递增的
- Timestamp: 交易
再继续看剩下的部分:
- From: 交易发起方的地址,是指谁发起的交易
- Interacted With (To): 交易对象的地址,如果是合约就是合约地址
- Tokens Transferred: 交易中涉及到的代币转移,这个例子中有两笔,一笔是从发起方转移到pancakePair,转移33.395的BUSD,一笔是从pancakePair转移到发起方,转移7860.775719049526006993的MHB代币,所以可以看到这个地址在使用BUSD购买MHB
- Value: 交易转移的代币数量(指的是链的原生代币,BSC链是BNB)
- Transaction Fee: 交易花掉的gas费,等于gas数目*gas价格
- Gas Price: gas的价格,代表每一个gas的BNB价格
- BNB Price:BNB的价格
- Gas Limit: 交易设定的最大gas数目
- Burnt Fees:BNB烧毁的费用
- Nonce:交易方发起交易的数目
- Position in Block:当前区块的编号
- Input Data: 交易输入数据
2.日志
每一次交易还会伴随着一些日志,日志也会永久的记录在区块链上,在智能合约里,是通过发射事件的方式来记录日志。
在交易中,一般非常重要的动作,比如授权,转账等等,都会记录日志。
还是上面这个例子,这个交易有5个日志,代表这个交易从开始到结束,执行过程中,发射过五次事件。当然,在智能合约中并没有限制要发什么日志,这是一种约定俗成。
本次交易的5个日志分别是——
- 转账,将USDT转给Pair合约:
- 授权,授权Pair合约可以操作交易方USDT
- 转账,从Pair合约想交易方转MHB
- 同步,是Pair合约内部的事件,在池子发生变化之后,就要同步底池的参数
- 交换,也是Pair合约内部的事件,交易成功后会发出交换事件
这些日志都记录了关键的,容易产生安全问题的事件,所以关注这些交易日志,可以很好的跟踪合约的安全。