v12 structure #1

Closed
opened 2020-06-30 14:03:42 +02:00 by twiuglufosfa · 7 comments

hello,

i c that u start this game with latest v12 hard fork monero version

is possible to decode the last 7bytes of first block.

"02045c5f6f3c00"

thank u.

02
3c
01
ff
00
01
ffffffffffff07
02
3b1f9fe30234d99e43d66e6aa39ff4efc760845da97e520ca2b1d43f62c87572
2701
6a3cce152eed0154e955821570a7fd217f8b18a0b4a28e91d3cca28196c6d6af

hello, i c that u start this game with latest v12 hard fork monero version is possible to decode the last 7bytes of first block. "02045c5f6f3c00" thank u. 02 3c 01 ff 00 01 ffffffffffff07 02 3b1f9fe30234d99e43d66e6aa39ff4efc760845da97e520ca2b1d43f62c87572 2701 6a3cce152eed0154e955821570a7fd217f8b18a0b4a28e91d3cca28196c6d6af
Owner

The block structure did not change in Townforge, but the tx structure did, and the block contains the coinbase tx, so blocks won't parse with monero and vice versa. See src/cryptonote_basic/cryptonote_basic.h for the block and tx format details.

The block structure did not change in Townforge, but the tx structure did, and the block contains the coinbase tx, so blocks won't parse with monero and vice versa. See src/cryptonote_basic/cryptonote_basic.h for the block and tx format details.
Author

Hello again,

is not very clear the format on basic.h because of different hardfork version.

For example coinbase transaction v1 format is

version
01
unlock time (varint, height, 60 here)
3c
vin length (value in)
01
vin #1 (of 1) type (gen, 0xff)
ff
height for gen input
00
vout length (value out)
01
output #1 (of 1) amount (17592186044415 as varint)
ffffffffffff03
output #1 type (to key, 0x02)
02
output #1 key (32 bytes)
9b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd088071
extra length in bytes (varint, here 33)
21
extra pubkey tag (0x01)
01
transaction pubkey (32 bytes)
7767aafcde9be00dcfd098715ebcf7f410daebc582fda69d24a28e9d0bc890d1

your v12 coinbase transaction has different tx version (2) in the begining

and bytesize for extralength (2701)

i cant understand what this bytes in the end of coinbase transaction means

02045c5f6f3c00.

This bytes are the tx structure of v12.

Thnx a lot!

Hello again, is not very clear the format on basic.h because of different hardfork version. For example coinbase transaction v1 format is ``` version 01 unlock time (varint, height, 60 here) 3c vin length (value in) 01 vin #1 (of 1) type (gen, 0xff) ff height for gen input 00 vout length (value out) 01 output #1 (of 1) amount (17592186044415 as varint) ffffffffffff03 output #1 type (to key, 0x02) 02 output #1 key (32 bytes) 9b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd088071 extra length in bytes (varint, here 33) 21 extra pubkey tag (0x01) 01 transaction pubkey (32 bytes) 7767aafcde9be00dcfd098715ebcf7f410daebc582fda69d24a28e9d0bc890d1 ``` your v12 coinbase transaction has different tx version (2) in the begining and bytesize for extralength (2701) i cant understand what this bytes in the end of coinbase transaction means 02045c5f6f3c00. This bytes are the tx structure of v12. Thnx a lot!
Owner

This has not changed from Monero, you can decode it with Monero's code just fine.

It's a duck.

This has not changed from Monero, you can decode it with Monero's code just fine. It's a duck.
Author

Hello,

Sorry for insisting but is a duck for someone with deep knowledge.

Is possible to explain byte by byte what is?

For example 02 tx version,04 rct version etc.

02045c5f6f3c00.

thank u!

Hello, Sorry for insisting but is a duck for someone with deep knowledge. Is possible to explain byte by byte what is? For example 02 tx version,04 rct version etc. 02045c5f6f3c00. thank u!
Owner

The constants and format are in src/cryptonote_basic/tx_extra.h

2 is "extra nonce"
4 is data length in bytes
The next 4 bytes are an ASCII duck
The 0 is the "no signature" rct type

Unchanged from monero.

The constants and format are in src/cryptonote_basic/tx_extra.h 2 is "extra nonce" 4 is data length in bytes The next 4 bytes are an ASCII duck The 0 is the "no signature" rct type Unchanged from monero.
Author

Hello,

I still cant understand where code says that for v12 we need more

bytes(infos about rct etc).

I insert your bytes in the end of stealth address(output key)

and change tx version,extra length but first block(genesis)

wont start.

What to do for creating new v12 block?

thnx for all.

Hello, I still cant understand where code says that for v12 we need more bytes(infos about rct etc). I insert your bytes in the end of stealth address(output key) and change tx version,extra length but first block(genesis) wont start. What to do for creating new v12 block? thnx for all.
Owner

Nothing is v12 in there. The rct signature type (the last 0 byte) is v4, and all the rest is v1. The duck is just for fun, and all v1, and I've detailed all of these above.

Anyway, this is all off topic, this is a bug tracker (and for the web site at that).

Nothing is v12 in there. The rct signature type (the last 0 byte) is v4, and all the rest is v1. The duck is just for fun, and all v1, and I've detailed all of these above. Anyway, this is all off topic, this is a bug tracker (and for the web site at that).
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: townforge/townforge.net#1
No description provided.