Transaction

c7ee5dcbc80b242a1e8b11f68e85e8633ccc47b8122a153e6ad69b76f8a7dcb6
Timestamp (utc)
2024-03-22 14:03:50
Fee Paid
0.00000057 BSV
(
0.00601458 BSV
-
0.00601401 BSV
)
Fee Rate
10.05 sat/KB
Version
1
Confirmations
94,196
Size Stats
5,671 B

2 Outputs

Total Output:
0.00601401 BSV
  • j"1LAnZuoQdcKCkpDBKQMCgziGMoPC4VQUckM+<div class="post"><div class="quoteheader"><a href="https://bitcointalk.org/index.php?topic=632.msg6565#msg6565">Quote from: lachesis on July 30, 2010, 01:04:06 AM</a></div><div class="quote"><div class="quoteheader"><a href="https://bitcointalk.org/index.php?topic=632.msg6547#msg6547">Quote from: martin on July 29, 2010, 11:29:31 PM</a></div><div class="quote">Some people have been suggesting that protocol buffers might be larger than the custom written packet layout. I suspect that actually it would be *smaller* due to some of the clever encoding used in protocol buffers. <br/></div>I agree that it could be smaller; not necessarily because of clever encoding, but because it would allow us to drop reserved bytes and the like.<br/></div><br/>That too, although the counter argument people always make to that is that we could do away with reserved bytes anyway. No matter how impractical that would be :/<br/><br/><div class="quoteheader"><a href="https://bitcointalk.org/index.php?topic=632.msg6565#msg6565">Quote from: lachesis on July 30, 2010, 01:04:06 AM</a></div><div class="quote"><div class="quoteheader"><a href="https://bitcointalk.org/index.php?topic=632.msg6547#msg6547">Quote from: martin on July 29, 2010, 11:29:31 PM</a></div><div class="quote">To resolve this, I think a test is in order, I shall encode a wallet file/network packet using protocol buffers and compare the size the packets in the current scheme. However, I have no idea what's in a packet, what data is stored in a packet, and in what format?<br/></div>That would be the hard part, of course. If you want to test with the version packet (not really ideal, since it's only sent once per connection), I've decoded that fully:<br/><a href="http://bitcointalk.org/index.php?topic=231.msg6250#msg6250">http://bitcointalk.org/index.php?topic=231.msg6250#msg6250</a><br/></div><br/>I was hoping for a transaction packet or something, but I'll give it a go with that for now. I could also test with the wallet file if anyone has decoded that?<br/><br/>Addendum:<br/><br/>Ok, Working from this summary of the version packet layout:<br/><br/><div class="quoteheader">Quote</div><div class="quote">version<br/>&nbsp;&nbsp; &nbsp;* {0xf9,0xbe,0xb4,0xd9}<br/>&nbsp;&nbsp; &nbsp;* "version" (0x00 padded)<br/>&nbsp;&nbsp; &nbsp;* 4 byte message size<br/>&nbsp;&nbsp; &nbsp;* 4 byte checksum<br/>&nbsp;&nbsp; &nbsp;* 8 byte nLocalServices (always 1 if !fClient, no idea either what that means)<br/>&nbsp;&nbsp; &nbsp;* 8 byte timestamp (remember to use network byte order)<br/>&nbsp;&nbsp; &nbsp;* Remote address (the address this Node thinks he is):<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o nServices - uint64 (8b), still cryptic, don't know the meaning yet<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o pchReserved - (12b): some reserved space, apparently for later IPv6<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o ip - uint (4b)<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o port - unsigned short (2b)<br/>&nbsp;&nbsp; &nbsp;* Local address (the address this Node sees you under):<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o nServices - uint64 (8b), still cryptic, don't know the meaning yet<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o pchReserved - (12b): some reserved space, apparently for later IPv6<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o ip - uint (4b)<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;o port - unsigned short (2b)<br/>&nbsp;&nbsp; &nbsp;* 8 byte nLocalHostNonce (needed for a handshake, if I'm not mistaken)<br/>&nbsp;&nbsp; &nbsp;* A subversion string ".0" in my case<br/>&nbsp;&nbsp; &nbsp;* nBestHeight - int (4b): appears to be the last block number</div><br/>I created this protocol buffer definition:<br/><br/><div class="quoteheader">Quote</div><div class="quote">message version<br/>{<br/>&nbsp;&nbsp;&nbsp;message AddressInfo<br/>&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;required unint64 nServices;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;required fixed32 ip;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;required uint32 port;<br/>&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;required uint32 magic = 2045;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//0xf9 | 0xbe &lt;&lt; 1 | 0xb4 &lt;&lt; 2 | 0xd9 &lt;&lt; 3<br/>&nbsp;&nbsp;&nbsp;required uint32 version;<br/>&nbsp;&nbsp;&nbsp;required int64 checksum;<br/>&nbsp;&nbsp;&nbsp;required uint64 timestamp;<br/>&nbsp; &nbsp; &nbsp; &nbsp; required uint64 nLocalServices;<br/><br/>&nbsp;&nbsp;&nbsp;required AddressInfo Remote;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//the address this node thinks he is<br/>&nbsp;&nbsp;&nbsp;required AddressInfo Local;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//the address this node sees you under<br/><br/>&nbsp;&nbsp;&nbsp;required fixed64 nLocalHostNonce;<br/>&nbsp;&nbsp;&nbsp;required string SubversionString;<br/>&nbsp;&nbsp;&nbsp;required uint32 nBestHeight;<br/>}</div><br/>Does that look correct? The only changes I've made are that the indented things in the bullet point list are nested message types, and I've completely dropped the 12 bytes of reserved ipv6 space (since that can easily be added in later, which is the point of protocol buffers). I should point out that I probbaly haven't picked the best encoding types for all these fields, that depends upon the values they're likely to store, so in practice the packet will probably be a little smaller than my tests indicate</div> text/html
    https://whatsonchain.com/tx/c7ee5dcbc80b242a1e8b11f68e85e8633ccc47b8122a153e6ad69b76f8a7dcb6