Из чего состоит транзакция? Часть 1
После последних двух задач в "CTE Account" меня заинтересовал вопрос о том, из чего вообще состоит транзакция, и как из нее можно получить публичный и приватный ключи. Да, я кратно описывал решения, но это было лишь поверхностным касанием. Давайте попробуем углубиться в эту тему.
Для начала, если вы зайдете на etherscan и кликните любую транзакцию, то увидите информацию о ней, включая хеш, типа такого:
0xb3e9dad434ce64f0f886e5b3bafced3bc72fee467cf1739d0f8f5a141784fbad
В правом углу транзакции будет небольшое окошко меню, где можно найти дополнительные параметры, одним из которых будет Get Raw Tx Hex. Откроется окно и мы увидим более длинную запись, типа такой:
0xf86d822c858502eeae9847826b6c94388c818ca8b9251b393131c08a736a67ccb192978732bdda0cd1511e8026a0220a666d6dd188222bba14b0f77e378aac1910bba8d646edcd0a90d937cf2f15a07d8396243c8b0ced7d7c955ee27b67a4989e49eaf41aa8396191e0a5a40064db
Все это пригодится нам в разборе транзакции на составные части.
Итак, по сути, транзакция состоит из двух больших захэшированных частей:
1. Информация о транзакции
2. Подпись
Генерируется она по формуле:
Keccak256(RLP(nonce,gasPrice,gasLimit,to,value,data,v,r,s))
Техническую часть о транзакциях можно прочесть в Yellow Pages и EIP-155.
Далее подробнее поговорим подробнее о каждой части.
#transaction #rlp #ecdsa
Post #497
355
- 👍 5