Для развертывания смарт-контракта в сети нам понадобятся три следующие данные:
Из спецификации web3:
// deploy new contract
var contractInstance = MyContract.new([constructorParam1] [, constructorParam2], {data: '0x12345...', from: myAccount, gas: 1000000});
Поправь меня, если я ошибаюсь:
constructorParams
- все данные, которые передаются конструктору смарт-контрактов,
from
- определяет адрес, с которого развернут этот контракт
gas
- лимит газа в зависимости от того, сколько может потребиться эта транзакция
Что такое data
, это что-то вроде скомпилированного кода солидности контракта, если так, то зачем тогда он нам нужен, если мы уже указали ABI этого контракта?
Как мне получить этот data
параметр? Я также получаю сообщение об ошибке в своей консоли, когда пытаюсь развернуть контракт в сети без указания параметра data
:
Error: "invalid argument 0: json: cannot unmarshal hex string without 0x prefix into Go struct field SendTxArgs.data of type hexutil.Bytes"