Что произойдет, если я разверну контракт как 1-ю и 129-ю транзакцию?

В соответствии с тем, как вычисляется адрес контракта, моя 1-я и 129-я транзакции в качестве развертывания контракта должны иметь один и тот же адрес. Что произойдет, если я разверну их в таком порядке?

Я уже пробовал с ганашем, но он отказывается отправлять более 128 транзакций.

Можете ли вы объяснить, почему вы думаете, что 1-я и 129-я транзакции будут иметь один и тот же адрес? Это может помочь сформулировать ответ.
@smarx Я понял, что мне не хватает некоторых знаний RLP, что привело меня к неправильному предположению. Пожалуйста, смотрите мой ответ ниже.

Ответы (2)

Я только что попробовал в Ganache и смог создать один и тот же контракт во второй раз в 128-м блоке с другим адресом контракта.

SENDER ADDRESS
0xd23c8582A66f4a1e4696CCc3D6B085721123A8A9
CREATED CONTRACT ADDRESS
0xA826e724031d9698FB24e3C881Bebe55F1EB8F39
CONTRACT CREATION
VALUE
0.00 ETH
GAS USED
2282348
GAS PRICE
1
GAS LIMIT
2282348
MINED IN BLOCK
128

-

SENDER ADDRESS
0xd23c8582A66f4a1e4696CCc3D6B085721123A8A9
CREATED CONTRACT ADDRESS
0x6F2014378e4D34382CF93D906762FF2d12CdB769
CONTRACT CREATION
VALUE
0.00 ETH
GAS USED
2282348
GAS PRICE
1
GAS LIMIT
2282348
MINED IN BLOCK
1
Извините, наверное, я действительно имел в виду 129-й. Я исправил свой вопрос.
Позвольте мне сжечь мой ганаш!!
SENDER ADDRESS 0xd23c8582A66f4a1e4696CCc3D6B085721123A8A9 CREATED CONTRACT ADDRESS 0x6F2014378e4D34382CF93D906762FF2d12CdB769 CONTRACT CREATION VALUE 0.00 ETH GAS USED 2282348 GAS PRICE 1 GAS LIMIT 2282348 **MINED IN BLOCK 1** SENDER ADDRESS 0xd23c8582A66f4a1e4696CCc3D6B085721123A8A9 CREATED CONTRACT ADDRESS 0xe54ff25e548d9D3A14C426c333aBE7E15CBFDE1B CONTRACT CREATION VALUE 0.00 ETH GAS USED 2282348 GAS PRICE 1 GAS LIMIT 2282348 **MINED IN BLOCK 129** Он создан!!
Интересно, почему он не развертывается для меня и как в этом случае вычисляется адрес контракта.

Причина, по которой я считал, что 1-я и 129-я транзакции должны иметь один и тот же адрес, заключается в том, что я пропустил ограничение на свою RLP реализацию . Это привело к тому, что число 128было закодировано неправильно, 0x80вместо 0x8180этого я решил, что 1-я и 129-я транзакции должны иметь один и тот же адрес.

Поскольку я использовал свою реализацию подписи транзакций, она также, очевидно, не работала после 128-й транзакции на ганаше.