Как создать токен ERC20 с помощью библиотеки web3.js?

Я занимаюсь разработкой токена ERC20. Мой код написан с использованием фреймворков Solidity и zeppelin.

До сих пор я использовал тестовые сети, такие как Rinkeby, Ropsten, для развертывания и тестирования всех методов ERC20. Вчера вечером мне нужно развернуть смарт-контракт в основной сети, где нужно было развернуть 10000000 токенов, но я развернул только 1000000 (пропустил ноль).

Поскольку монетный двор развернут в основной сети, это единственный способ пополнить начальную сумму вместо повторного развертывания. Mint можно получить с помощью remix, удалив ключевое слово internal в методе mint. Но для использования метода монетного двора требуется повторно развернуть смарт-контракт, и заказчик не согласится повторить то же самое.

Я думаю, что единственный способ добиться того же - использовать API web3js. Но в документе web3js нет информации о том, как прагматично чеканить (пополнить начальную сумму).

Если кто-то из вас сталкивался с подобной ситуацией, сообщите мне, как вы с ней справились.

Спасибо, Шрирам


person Sriram B    schedule 12.12.2018    source источник


Ответы (1)


Монетный двор с использованием web3 был бы просто вызовом функции контракта, как и в случае с remix, ничего особенного. Все, что вам нужно сделать, это вызвать функцию. Но поскольку эта функция внутренняя, вы не можете вызывать ее напрямую ни из ремикса, ни из web3, ни из какой-либо другой библиотеки. Проще говоря, если вы не можете вызвать функцию из ремикса, вы не можете сделать это и из web3. Web3 предлагает не что иное, как ремикс с точки зрения прав доступа к контракту.

person nikos fotiadis    schedule 13.12.2018
comment
Я удалил ключевое слово internal в функции _mint (). На вкладке Remix Run под кнопкой Deploy At Address это позволит мне напрямую запускать методы ERC20 с адресом контракта, который создал контракт для базового адреса, используемого для развертывания. Таким образом, я мог бы пополнить / отчеканить мою первоначальную сумму на новую сумму для базового адреса токена. Все это работает в Ропстене; но когда я подключаюсь к основной сети и вызываю метод mint в MetaMask, этого не происходит из-за низкой цены на газ. Я использую редактор Remix в Firefox, и в том же браузере установлено расширение MetaMask. - person Sriram B; 13.12.2018