Традиционно, когда люди развертывали контракты для публичного использования, они, как правило, публиковали отдельные адреса контрактов для Testnet и Mainnet. Часто это требует от них включения кода для проверки того, в какой сети находится контракт, как мы видим в этом примере .
Похоже, это было необходимо ранее, потому что из-за отсутствия защиты от повторного воспроизведения Морден использовал очень высокое значение accountStartNonce , что делало непрактичным создание того же адреса в основной сети. (См. Можно ли указать в контракте тот же адрес, что и в Мордене )
Теперь, когда защита от воспроизведения EIP 155 работает, а Ropsten использует accountStartNonce со значением 0 , как и в основной сети, есть ли веские причины продолжать использовать отдельные адреса для основной сети и тестовой сети, или мы должны избавиться от этого кода и просто использовать один адрес? для обоих?
Довольно слабый аргумент против вашего предложения заключается в следующем: разработчику придется использовать один и тот же закрытый ключ как в тестовой, так и в основной сети. Это можно рассматривать как угрозу безопасности, так как закрытые ключи в тестовой сети обычно не нужно хранить и обрабатывать безопасно, в то время как в основной сети они определенно нужны. Таким образом, смешивание двух доменов размыло бы требования безопасности каждого из них.
Однако я бы сказал, что плюсы наличия одного и того же адреса как в тестовой, так и в основной сети также не очень убедительны. В приведенном вами примере лучшим решением, на мой взгляд, будет передача соответствующего адреса в конструкторе.
Кроме того, не весь сетевой код в любом случае будет устаревшим (например, такие параметры, как продолжительность краудсейла, номера валидаторов и т. д.).
using YourAPI
и начинать вызывать функции из него.
Роланд Кофлер
Марс Робертсон
Эдмунд Эдгар
Марс Робертсон
Mainnet
иRopsten
это была попытка до ICO, позволяющая людям тестировать свои кошельки, пароли, все ... Но, поскольку некоторые люди будут совершать ошибки и отправлять настоящие ETH на адрес тестовой сети, это НЕ ПРОЙДЕТ .Марс Робертсон
you could rescue them by deploying a contract subsequently
- Я с этим не согласен, а если счетный одноразовый номер слишком большой? Отдельное замечание - случайно сделал, свежий аккаунт, тот же нонс, магия: steemit.com/ethereum/@genesisre/…