เชœเชฎเชพเชตเชŸ เชชเชนเซ‡เชฒเชพเช‚ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚: เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชพเชŸเซ‡ CREATE2 เชจเซ‹ เช‰เชชเชฏเซ‹เช—

เชฌเซเชฒเซ‹เช•เชšเซ‡เชจเชจเซ‹ เชตเชฟเชทเชฏ เชฎเชพเชคเซเชฐ เชคเชฎเชพเชฎ เชชเซเชฐเช•เชพเชฐเชจเชพ เชชเซเชฐเชธเชฟเชฆเซเชงเชฟเชจเซ‹ เชธเซเชคเซเชฐเซ‹เชค เชฌเชจเชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเช•เชจเซ€เช•เซ€ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€ เช–เซ‚เชฌ เชฎเซ‚เชฒเซเชฏเชตเชพเชจ เชตเชฟเชšเชพเชฐเซ‹ เชชเชฃ เช›เซ‡. เชคเซ‡เชฅเซ€, เชคเซ‡ เชธเชจเซเชจเซ€ เชถเชนเซ‡เชฐเชจเชพ เชฐเชนเซ‡เชตเชพเชธเซ€เช“เชจเซ‡ เชฌเชพเชฏเชชเชพเชธ เช•เชฐเชคเซเช‚ เชจ เชนเชคเซเช‚. เชฒเซ‹เช•เซ‹ เชจเชœเซ€เช•เชฅเซ€ เชœเซ‹เชˆ เชฐเชนเซเชฏเชพ เช›เซ‡, เช…เชญเซเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฎเชพเชนเชฟเชคเซ€ เชธเซเชฐเช•เซเชทเชพเชฎเชพเช‚ เชคเซ‡เชฎเชจเซ€ เช•เซเชถเชณเชคเชพเชจเซ‡ เชฌเซเชฒเซ‹เช•เชšเซ‡เชจ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡. เช…เชคเซเชฏเชพเชฐ เชธเซเชงเซ€, เชคเซ‡ เชธเซเชฅเชณ เชชเชฐ เช›เซ‡: Rostelecom-Solar เชจเชพ เชตเชฟเช•เชพเชธเชฎเชพเช‚เชฅเซ€ เชเช• เชฌเซเชฒเซ‹เช•เชšเซ‡เชจ-เช†เชงเชพเชฐเชฟเชค เชธเซ‰เชซเซเชŸเชตเซ‡เชฐเชจเซ€ เชธเซเชฐเช•เซเชทเชพ เชคเชชเชพเชธเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชจเซ‡ เชฐเชธเซเชคเชพเชฎเชพเช‚, เชฌเซเชฒเซ‹เช•เชšเซ‡เชจ เชธเชฎเซเชฆเชพเชฏเชจเซ€ เชฒเชพเช—เซ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชตเชฟเชšเชพเชฐเซ‹ เช‰เชฆเซเชญเชตเซ‡ เช›เซ‡. เช† เชฒเชพเช‡เชซ เชนเซ‡เช•เซเชธเชฎเชพเช‚เชฅเซ€ เชเช• - CREATE2 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเชฎเชพเชตเชŸ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชธเซเชฎเชพเชฐเซเชŸ เช•เชฐเชพเชฐเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚ - เช†เชœเซ‡ เชนเซเช‚ เชคเชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ เช•เชŸ เชนเซ‡เช เชณ เชถเซ‡เชฐ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚.

เชœเชฎเชพเชตเชŸ เชชเชนเซ‡เชฒเชพเช‚ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚: เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชพเชŸเซ‡ CREATE2 เชจเซ‹ เช‰เชชเชฏเซ‹เช—
CREATE2 opcode เช† เชตเชฐเซเชทเชจเซ€ 28เชฎเซ€ เชซเซ‡เชฌเซเชฐเซเช†เชฐเซ€เช เช•เซ‹เชจเซเชธเซเชŸเซ‡เชจเซเชŸเชฟเชจเซ‹เชชเชฒ เชนเชพเชฐเซเชก เชซเซ‹เชฐเซเช•เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. EIP เชฎเชพเช‚ เชœเชฃเชพเชตเซเชฏเชพ เชฎเซเชœเชฌ, เช† opcode เชฎเซเช–เซเชฏเชคเซเชตเซ‡ เชฐเชพเชœเซเชฏ เชšเซ‡เชจเชฒเซ‹ เชฎเชพเชŸเซ‡ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เชœเซ‹ เช•เซ‡, เช…เชฎเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชเช• เช…เชฒเช— เชธเชฎเชธเซเชฏเชพ เชนเชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซเชฏเซ‹.

เชเช•เซเชธเชšเซ‡เชจเซเชœ เชชเชฐ เชฌเซ‡เชฒเซ‡เชจเซเชธ เชงเชฐเชพเชตเชคเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช›เซ‡. เช…เชฎเซ‡ เชฆเชฐเซ‡เช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชเช• Ethereum เชธเชฐเชจเชพเชฎเซเช‚ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เช•เซ‹เชˆเชชเชฃ เชŸเซ‹เช•เชจเซเชธ เชฎเซ‹เช•เชฒเซ€ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡เชจเชพเชฅเซ€ เชคเซ‡เชฎเชจเซเช‚ เชเช•เชพเช‰เชจเซเชŸ เชซเชฐเซ€ เชญเชฐเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เชšเชพเชฒเซ‹ เช† เชธเชฐเชจเชพเชฎเชพเช“เชจเซ‡ "เชตเซ‰เชฒเซ‡เชŸ" เช•เชนเซ€เช. เชœเซเชฏเชพเชฐเซ‡ เชŸเซ‹เช•เชจเซเชธ เชชเชพเช•เซ€เชŸเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชคเซ‡เชจเซ‡ เชเช• เชœ เชตเซ‹เชฒเซ‡เชŸ (เชนเซ‹เชŸเชตเซ‹เชฒเซ‡เชŸ) เชชเชฐ เชฎเซ‹เช•เชฒเชตเซเช‚ เชœเซ‹เชˆเช.

เชจเซ€เชšเซ‡เชจเชพ เชตเชฟเชญเชพเช—เซ‹เชฎเชพเช‚, เชนเซเช‚ CREATE2 เชตเชฟเชจเชพ เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชตเชฟเช•เชฒเซเชชเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซเช‚ เช›เซเช‚ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชœเชฃเชพเชตเซเช‚ เช›เซเช‚ เช•เซ‡ เช…เชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช›เซ‹เชกเซ€ เชฆเซ€เชงเชพ. เชœเซ‹ เชคเชฎเชจเซ‡ เชฎเชพเชคเซเชฐ เช…เช‚เชคเชฟเชฎ เชชเชฐเชฟเชฃเชพเชฎเชฎเชพเช‚ เชœ เชฐเชธ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ "เช…เช‚เชคเชฟเชฎ เช‰เช•เซ‡เชฒ" เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹.

เช‡เชฅเซ‡เชฐเชฟเชฏเชฎ เชธเชฐเชจเชพเชฎเชพเช‚

เชธเซŒเชฅเซ€ เชธเชฐเชณ เช‰เช•เซ‡เชฒ เช เช›เซ‡ เช•เซ‡ เชจเชตเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชจเชตเชพ Ethereum เชธเชฐเชจเชพเชฎเชพเช‚เช“ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‹. เช† เชธเชฐเชจเชพเชฎเชพเช‚ เชชเชพเช•เซ€เชŸ เชนเชถเซ‡. เชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚เชฅเซ€ เชนเซ‹เชŸเชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚ เชŸเซ‹เช•เชจเซเชธ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชซเช‚เช•เซเชถเชจ เชชเชฐ เช•เซ‰เชฒ เช•เชฐเซ€เชจเซ‡ เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจ เชชเชฐ เชนเชธเซเชคเชพเช•เซเชทเชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ() เชฌเซ‡เช•เชเชจเซเชกเชฎเชพเช‚เชฅเซ€ เชตเซ‹เชฒเซ‡เชŸเชจเซ€ เช–เชพเชจเช—เซ€ เช•เซ€ เชธเชพเชฅเซ‡.

เช† เช…เชญเชฟเช—เชฎเชจเชพ เชจเซ€เชšเซ‡เชจเชพ เชซเชพเชฏเชฆเชพ เช›เซ‡:

  • เชคเซ‡ เชธเชฐเชณ เช›เซ‡
  • เชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚เชฅเซ€ เชนเซ‹เชŸเชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚ เชŸเซ‹เช•เชจเซเชธ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพเชจเซ€ เช•เชฟเช‚เชฎเชค เชซเช‚เช•เซเชถเชจ เช•เซ‹เชฒเชจเซ€ เช•เชฟเช‚เชฎเชค เชœเซ‡เชŸเชฒเซ€ เช›เซ‡ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ()

เชœเซ‹ เช•เซ‡, เช…เชฎเซ‡ เช† เช…เชญเชฟเช—เชฎ เชธเชพเชฎเซ‡ เชจเชฟเชฐเซเชฃเชฏ เชฒเซ€เชงเซ‹ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชฎเชพเช‚ เชเช• เชฎเซ‹เชŸเซ€ เช–เชพเชฎเซ€ เช›เซ‡: เชคเชฎเชพเชฐเซ‡ เช–เชพเชจเช—เซ€ เช•เซ€ เช•เซเชฏเชพเช‚เช• เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชคเซ‡เช“ เชฎเชพเชคเซเชฐ เช–เซ‹เชตเชพเชˆ เชœ เชจเชฅเซ€ เชถเช•เชคเชพ, เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฐเซ‡ เช† เช•เซ€เช“เชจเซ€ เชเช•เซเชธเซ‡เชธเชจเซ‡ เช•เชพเชณเชœเซ€เชชเซ‚เชฐเซเชตเช• เชฎเซ‡เชจเซ‡เชœ เช•เชฐเชตเชพเชจเซ€ เชชเชฃ เชœเชฐเซ‚เชฐ เช›เซ‡. เชœเซ‹ เชคเซ‡เชฎเชพเช‚เชจเชพ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชเช• เชธเชพเชฅเซ‡ เชšเซ‡เชกเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เชคเซ‹ เชšเซ‹เช•เซเช•เชธ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเชพ เชŸเซ‹เช•เชจเซเชธ เช—เชฐเชฎ เชตเซ‰เชฒเซ‡เชŸ เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเชถเซ‡ เชจเชนเซ€เช‚.

เชœเชฎเชพเชตเชŸ เชชเชนเซ‡เชฒเชพเช‚ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚: เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชพเชŸเซ‡ CREATE2 เชจเซ‹ เช‰เชชเชฏเซ‹เช—

เชฆเชฐเซ‡เช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เชเช• เช…เชฒเช— เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชฌเชจเชพเชตเซ‹

เชฆเชฐเซ‡เช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เช…เชฒเช— เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช—เซ‹เช เชตเชตเชพเชฅเซ€ เชคเชฎเซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เชตเซ‰เชฒเซ‡เชŸ เชฎเชพเชŸเซ‡ เช–เชพเชจเช—เซ€ เช•เซ€ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพเชจเซเช‚ เชŸเชพเชณเซ€ เชถเช•เซ‹ เช›เซ‹. เชŸเซ‹เช•เชจเซเชธเชจเซ‡ เชนเซ‹เชŸเชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช•เซเชธเชšเซ‡เชจเซเชœ เช† เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชถเซ‡.

เช…เชฎเซ‡ เช† เชธเซ‹เชฒเซเชฏเซเชถเชจเชจเซ‡ เชชเชฃ เช›เซ‹เชกเซ€ เชฆเซ€เชงเซเช‚ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชฒเชพเช—เซ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชคเซ‡เชจเชพ เชตเซ‰เชฒเซ‡เชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เชฌเชคเชพเชตเซ€ เชถเช•เชพเชคเซเช‚ เชจเชฅเซ€ (เช† เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชถเช•เซเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เชจเซเชฏ เช—เซ‡เชฐเชซเชพเชฏเชฆเชพเช“ เชธเชพเชฅเซ‡ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชœเชŸเชฟเชฒ เชฐเซ€เชคเซ‡ เช…เชฎเซ‡ เช…เชนเซ€เช‚ เชšเชฐเซเชšเชพ เช•เชฐเซ€เชถเซเช‚ เชจเชนเซ€เช‚). เชเช•เซเชธเชšเซ‡เชจเซเชœ เชชเชฐ, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชคเซ‡เชจเซ‡ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซ‡เชŸเชฒเชพ เชเช•เชพเช‰เชจเซเชŸ เชฌเชจเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชฆเชฐเซ‡เช•เชจเซ‡ เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชตเซ‹เชฒเซ‡เชŸเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช›เซ‡. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช† เชเช•เชพเช‰เชจเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช…เชฎเชพเชฐเซ‡ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชจเชพเชฃเชพเช‚ เช–เชฐเซเชšเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช“เชชเช•เซ‹เชก CREATE2

เช…เช—เชพเช‰เชจเซ€ เชชเชฆเซเชงเชคเชฟเชจเซ€ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช เซ€เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ CREATE2 opcode เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. CREATE2 เชคเชฎเชจเซ‡ เชธเชฐเชจเชพเชฎเซเช‚ เชชเซ‚เชฐเซเชต-เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชคเซˆเชจเชพเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ€ เช—เชฃเชคเชฐเซ€ เชจเซ€เชšเซ‡เชจเชพ เชธเซ‚เชคเซเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

keccak256 (0xff ++ address ++ salt ++ keccak256 (init_code)) [12:]


, เชœเซเชฏเชพเช‚:

  • เชธเชฐเชจเชพเชฎเซเช‚ โ€” เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เชœเซ‡ CREATE2 เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชถเซ‡
  • เชฎเซ€เช เซเช‚ - เชฐเซ‡เชจเซเชกเชฎ เชฎเซ‚เชฒเซเชฏ
  • init_code - เชœเชฎเชพเชตเชŸ เชฎเชพเชŸเซ‡ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชฌเชพเชˆเชŸเช•เซ‹เชก

เช† เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชœเซ‡ เชธเชฐเชจเชพเชฎเซเช‚ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡เชฎเชพเช‚ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เช‡เชšเซเช›เชฟเชค เชฌเชพเช‡เชŸเช•เซ‹เชก เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ เช…เชฎเชจเซ‡ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เช† เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชคเซˆเชจเชพเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเซเชฐเชฅเชฎ เชตเช–เชค เชคเซ‡เชฎเชจเชพ เชตเซ‰เชฒเซ‡เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡.
เชœเชฎเชพเชตเชŸ เชชเชนเซ‡เชฒเชพเช‚ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚: เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชพเชŸเซ‡ CREATE2 เชจเซ‹ เช‰เชชเชฏเซ‹เช—
เชคเชฆเซเชชเชฐเชพเช‚เชค, เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชฆเชฐ เชตเช–เชคเซ‡ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชเชกเซเชฐเซ‡เชธเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เชพเชฐเชฃ เช•เซ‡:

  • เชธเชฐเชจเชพเชฎเซเช‚ เชซเซ‹เชฐเซเชฎเซเชฏเซเชฒเชพเชฎเชพเช‚ เชธเซเชฅเชฟเชฐ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เช† เช…เชฎเชพเชฐเซ€ เชตเซ‰เชฒเซ‡เชŸ เชซเซ‡เช•เซเชŸเชฐเซ€เชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช›เซ‡
  • เชฎเซ€เช เซเช‚ โ€” user_id เชนเซ‡เชถ
  • init_code เช…เชฎเซ‡ เชเช• เชœ เชตเซ‰เชฒเซ‡เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชนเซ‹เชตเชพเชฅเซ€ เชคเซ‡ เชธเซเชฅเชฟเชฐ เช›เซ‡

เชตเชงเซ เชธเซเชงเชพเชฐเชพเช“

เช…เช—เชพเช‰เชจเชพ เชธเซ‹เชฒเซเชฏเซเชถเชจเชฎเชพเช‚ เชนเชœเซ เชชเชฃ เชเช• เช–เชพเชฎเซ€ เช›เซ‡: เชคเชฎเชพเชฐเซ‡ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชšเซ‚เช•เชตเชฃเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชคเชฎเซ‡ เชคเซ‡เชจเชพเชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเซ‡ เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ(), เช…เชจเซ‡ เชชเช›เซ€ เชธเซเชต เชจเชพเชถ() เชตเซ‰เชฒเซ‡เชŸ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐเชฎเชพเช‚. เช…เชจเซ‡ เชชเช›เซ€ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เช—เซ‡เชธ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชฎเชพเชจเซเชฏเชคเชพเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชคเชฎเซ‡ CREATE2 opcode เชตเชกเซ‡ เชเช• เชœ เชธเชฐเชจเชพเชฎเชพเช‚ เชชเชฐ เช˜เชฃเซ€ เชตเช–เชค เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชœเชฎเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เช† เชเชŸเชฒเชพ เชฎเชพเชŸเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ CREATE2 เชšเช•เชพเชธเซ‡ เช›เซ‡ เช•เซ‡ เชฒเช•เซเชทเซเชฏ เชธเชฐเชจเชพเชฎเชพเชจเซ€ เชจเซ‹เชจเซเชธ เชถเซ‚เชจเซเชฏ เช›เซ‡ (เชคเซ‡ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ "1" เชฎเซ‚เชฒเซเชฏ เชธเซ‹เช‚เชชเซ‡เชฒ เช›เซ‡). เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช•เชพเชฐเซเชฏ เชธเซเชต เชจเชพเชถ() เชฆเชฐเซ‡เช• เชตเช–เชคเซ‡ เชจเซ‹เชจเซเชธ เชเชกเซเชฐเซ‡เชธ เชฐเซ€เชธเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€ เชœเซ‹ เชคเชฎเซ‡ เชธเชฎเชพเชจ เชฆเชฒเซ€เชฒเซ‹ เชธเชพเชฅเซ‡ CREATE2 เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช•เซ‰เชฒ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชจเซ‹เชจเซเชธ เชšเซ‡เช• เชชเชธเชพเชฐ เชฅเชถเซ‡.

เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช† เชธเซ‹เชฒเซเชฏเซเชถเชจ เชเชฅเซ‡เชฐเชฟเชฏเชฎ เชเชกเซเชฐเซ‡เชธ เชตเชฟเช•เชฒเซเชช เชœเซ‡เชตเซเช‚ เชœ เช›เซ‡, เชชเชฐเช‚เชคเซ เช–เชพเชจเช—เซ€ เช•เซ€ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชตเช—เชฐ. เชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚เชฅเซ€ เชนเซ‹เชŸเชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚ เชจเชพเชฃเชพเช‚ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพเชจเซ€ เช•เชฟเช‚เชฎเชค เชฒเช—เชญเช— เช•เซ‹เชˆ เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชจเชพ เช–เชฐเซเชš เชœเซ‡เชŸเชฒเซ€ เช›เซ‡. เชŸเซเชฐเชพเชจเซเชธเชซเชฐ(), เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซ‡ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชœเชฎเชพเชตเชŸ เชฎเชพเชŸเซ‡ เชšเซ‚เช•เชตเชฃเซ€ เช•เชฐเชคเชพ เชจเชฅเซ€.

เช…เช‚เชคเชฟเชฎ เชจเชฟเชฐเซเชฃเชฏ

เชœเชฎเชพเชตเชŸ เชชเชนเซ‡เชฒเชพเช‚ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเซเช‚: เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชพเชŸเซ‡ CREATE2 เชจเซ‹ เช‰เชชเชฏเซ‹เช—

เชฎเซ‚เชณ เชฐเซ‚เชชเซ‡ เชคเซˆเชฏเชพเชฐ:

  • เชฆเซเชตเชพเชฐเชพ เชฎเซ€เช เซเช‚ เชฎเซ‡เชณเชตเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ user_id
  • เชเช• เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‡ เชœเซ‡ CREATE2 เช“เชชเช•เซ‹เชกเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฎเซ€เช เชพ เชธเชพเชฅเซ‡ เช•เซ‰เชฒ เช•เชฐเชถเซ‡ (เชเชŸเชฒเซ‡ โ€‹โ€‹เช•เซ‡ เชตเซ‰เชฒเซ‡เชŸ เชซเซ‡เช•เซเชŸเชฐเซ€)
  • เชจเซ€เชšเซ‡เชจเชพ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐ เชธเชพเชฅเซ‡เชจเชพ เช•เชฐเชพเชฐเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชตเซ‰เชฒเซ‡เชŸ เชฌเชพเชฏเชŸเซ‡เช•เซ‹เชก:

constructor () {
    address hotWallet = 0xโ€ฆ;
    address token = 0xโ€ฆ;
    token.transfer (hotWallet, token.balanceOf (address (this)));
    selfdestruct (address (0));
}


เชฆเชฐเซ‡เช• เชจเชตเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เช—เชฃเชคเชฐเซ€ เชฆเซเชตเชพเชฐเชพ เชคเซ‡เชจเชพ/เชคเซ‡เชฃเซ€เชจเชพ เชตเซ‰เชฒเซ‡เชŸเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เชฌเชคเชพเชตเซ€เช เช›เซ€เช

keccak256 (0xff ++ address ++ salt ++ keccak256 (init_code)) [12:]


เชœเซเชฏเชพเชฐเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช…เชจเซเชฐเซ‚เชช เชตเซ‰เชฒเซ‡เชŸ เชธเชฐเชจเชพเชฎเชพเช‚ เชชเชฐ เชŸเซ‹เช•เชจเซเชธ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเชพเชฐเชพ เชฌเซ‡เช•เชเชจเซเชก เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชธเชพเชฅเซ‡ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช‡เชตเซ‡เชจเซเชŸ เชœเซเช เช›เซ‡ _เชชเซเชฐเชคเชฟ, เชตเซ‰เชฒเซ‡เชŸ เชธเชฐเชจเชพเชฎเซเช‚ เชธเชฎเชพเชจ. เช† เชธเชฎเชฏเซ‡, เชตเซ‰เชฒเซ‡เชŸ เชœเชฎเชพเชตเชคเชพ เชชเชนเซ‡เชฒเชพ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชชเชฐ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซเช‚ เชธเช‚เชคเซเชฒเชจ เชตเชงเชพเชฐเชตเซเช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชถเช•เซเชฏ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เชตเซ‰เชฒเซ‡เชŸ เชธเชฐเชจเชพเชฎเชพเช‚ เชชเชฐ เชชเซ‚เชฐเชคเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชŸเซ‹เช•เชจเซเชธ เชเช•เช เชพ เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชคเซ‡ เชฌเชงเชพเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เชนเซ‹เชŸเชตเซ‹เชฒเซ‡เชŸเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฌเซ‡เช•เชเชจเซเชก เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชซเซ‡เช•เซเชŸเชฐเซ€ เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เช•เชฐเซ‡ เช›เซ‡:

function deployWallet (ัะพะปัŒ uint256) {
    bytes memory walletBytecode =โ€ฆ;
    // invoke CREATE2 with wallet bytecode and salt
}


เช†เชฎ, เชตเซ‰เชฒเซ‡เชŸ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐ เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡, เชœเซ‡ เชคเซ‡เชจเชพ เชคเชฎเชพเชฎ เชŸเซ‹เช•เชจเซเชธเชจเซ‡ เชนเซ‹เชŸเชตเซ‹เชฒเซ‡เชŸ เชเชกเซเชฐเซ‡เชธ เชชเชฐ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เชธเซเชต-เชตเชฟเชจเชพเชถ เช•เชฐเซ‡ เช›เซ‡.

เชธเช‚เชชเซ‚เชฐเซเชฃ เช•เซ‹เชก เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชนเซ€เช‚. เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช† เช…เชฎเชพเชฐเซ‹ เชชเซเชฐเซ‹เชกเช•เซเชถเชจ เช•เซ‹เชก เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซ‡ เชตเซ‰เชฒเซ‡เชŸ เชฌเชพเชฏเชŸเซ‡เช•เซ‹เชกเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช‘เชชเช•เซ‹เชกเซเชธเชฎเชพเช‚ เชฒเช–เซเชฏเซเช‚ เช›เซ‡.

เชฒเซ‡เช–เช• เชชเชพเชตเซ‡เชฒ เช•เซ‹เชจเซเชกเซเชฐเซ‡เชŸเซ‡เชจเซเช•เซ‹เชต, เช‡เชฅเซ‡เชฐเชฟเชฏเชฎ เชจเชฟเชทเซเชฃเชพเชค

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹