перенести api на контракт ethereum web3, как невозможно изменить параметр "from" в основной сети? - PullRequest
0 голосов
/ 22 октября 2018

Я новичок в Dapp.и исследовать, как сделать dapp.и я нашел несколько кодов, как это.передача токенов между кошельками

Token.transfer(accounts[1], 10, {from:accounts[2]}).then(function(result){
      console.log(result)
    })

Это отправит 10 токенов со счета [2] на счет [1]

Я понимаю, что это режим разработки, и он может обрабатывать все учетные записи.

Но я не знаю, Как это невозможно в производстве?Я ничего не могу найти по этому поводу ..

Может ли какой-либо пользователь вызывать этот API, меняя адрес?Если нет, то как это не так?

Я думаю, что должен быть какой-то код запрета, который пользователь не может изменить со значения.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Для целей передачи в токенах erc20 существует 2 метода: Transfer и TransferFrom.

Если вы используете метод перевода, вы должны подписать транзакцию с FromAccount закрытым ключом.

Если вы используете TransferFrom, вы должны установить Allowance для FromAccount в ToAccount в предыдущей транзакции (подписанной FromAccount закрытым ключом).Вы не можете передавать токены из FromAccount без транзакций, подписанных закрытым ключом FromAccount, даже в сети разработчиков.

0 голосов
/ 23 октября 2018

Тестовая сеть RPC, все учетные записи могут быть разблокированы.Все разблокированные учетные записи могут быть обработаны без подписанной транзакции.

вы можете разблокировать / заблокировать учетную запись, используя команду

web3.personal.unlockAccount(address);
web3.personal.lockAccount(address);

Если вы заблокируете учетную запись, вы не можете использовать функцию «перевод» напрямую без подписанной транзакции.транзакция.

См .: Как сделать подписанную транзакцию

  • Вся учетная запись будет заблокирована по умолчанию в основной сети.
...