Как стать автором
Обновить
6
0

Пользователь

Отправить сообщение

Отличная статья, спасибо!

Благодарю за подсказку, спасибо! Действительно, был не прав насчёт нулевого адреса при создании контракта. Сейчас вручную создал два контракта один с 0x0000000000000000000000000000000000000000 в качестве адреса получателя, другой без поля to (то есть null). В первом случае транзакция просто ушла на нулевой адрес и контракт не был создан, во втором случае контракт создался.
Видимо путаницу вносит то, что раньше в документации Solidity они явно писали про нулевой адрес при создании контракта, затем явно стали писать про null в поле to.

Отлично, разобрались, надо будет поправить статью вместе с правками опечаток )

===

Было:

Transactions

A transaction is a message that is sent from one account to another account (which might be the same or the special zero-account, see below). It can include binary data (its payload) and Ether.

If the target account contains code, that code is executed and the payload is provided as input data.

If the target account is the zero-account (the account with the address 0), the transaction creates a new contract.

===

Стало:

Transactions

A transaction is a message that is sent from one account to another account (which might be the same or empty, see below). It can include binary data (which is called “payload”) and Ether.

If the target account contains code, that code is executed and the payload is provided as input data.

If the target account is not set (the transaction does not have a recipient or the recipient is set to null), the transaction creates a new contract.

Данные адреса были специально выбраны для целей сжигания, так как подобрать приватные ключи к ним невозможно (или крайне маловероятно). На адресах присутствует баланс. Это вполне реальные адреса и они существуют в блокчейне, с той лишь разницей, что к ним ещё никто не подобрал приватный ключ. Если была договорённость использовать эти адреса для сжигания, то вполне уместно сказать, что они служат определённой цели, то есть являются служебными (до тех пор пока ключ не подобрали).
Насколько я понимаю из Ethereum Yellow Paper, в транзакции на создание контракта вы можете указать и null в поле to. EVM интерпретирует null как пустую RLP последовательность или последовательность из нулей: Section 4.2 : The Transaction Можно указать и сразу одни нули в поле to.
Gavin Wood прямо указал адрес 0x0 в адресате транзакции на создание контракта. В документации Ethereum указали null в качестве адресата. Так что не принципиально, EVM поймёт, что это создание контракта в обоих случаях.

Насколько мне известно, генерация приватного и публичного ключа для ECDSA определена в самом стандарте ECDSA

Что же конкретно вас смутило?

Ещё можно совершенно посторонние цели ставить — пробежать марафон, получить синий пояс по бразильскому джиу-джитсу, исследовать дальние уголки мира, научиться кататься на сёрфинге, покорить Эльбрус и т.д. В общем превратить работу в источник финансов для забавных целей, и забить что временами скучно.

Попробуйте взять отпуск за свой счёт на неопределённый срок. Занимайтесь тем, чем хочется. Высыпайтесь, отъедайтесь, побольше бывайте на природе. Я периодически так делаю, если ничего больше не помогает. Как правило через два месяца мысли приходят в порядок и снова охота на работу.

Есть такое заняте. Иногда тоже люблю ходить по 10-15 км по выходным. Мозг на свежем воздухе за время прогулки переваривает много информации полученной за неделю. Сам о таком занятии узнал из автобиографии Майка Тайсона. Майк в тяжелые периоды мог по 40 км в день проходить, чтобы многое обдумать и переварить. Он еще сравнивал себя с солдатом армии Александра Македонского, которые по жаре совершали ежедневные 40-ка километровые марши.
Увлечение спортом с поставленными целями очень помогает бросить. Можно бегать и участвовать в забегах, можно плавать, можно записаться на борьбу и участвовать в любительских соревнованиях. Мне лично помогла бростиь ежегодная сдача на нормативы, когда учился в военной академии. Каждый год недоставало совсем немного баллов до КМС по военному четырехборью. Решил год не курить, итог — сдал на КМС. Уже более 10 лет без сигарет. Периодически сменяю виды спорта для разнообразия.
Лично для меня курение это как умышленное ухудшение ТТХ и возможностей своего организма. Ведь никто умышленно не вредит своему автомобилю, а наоборот заботится о нем, обслуживает, старается заливать качественный бензин, масло… Всем же нравится, когда его автомобиль или мотоцикл находится в превосходной форме.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Fullstack Developer
Senior
BlockChain
Ethereum
Solidity
Java
Node.js
JavaScript
Spring Boot
Kubernetes
MongoDB
PostgreSQL