Как разблокировать адрес контракта в ganache / truffle / web3, чтобы я мог использовать его как для вызова функции? - PullRequest
0 голосов
/ 28 февраля 2019

Я строю контракт altcoin с использованием библиотеки zeppelin, чтобы сделать его обновляемым с помощью прокси.Я также использую Ownable cotract, который позволяет мне передать право собственности на другой адрес в 2 этапа.Передача владения с адресом в качестве параметра и владение претензией, которое должно быть вызвано с ранее указанным адресом.Я использую приложение Ganache на Ubuntu, имея 10 разблокированных учетных записей.Проблема заключается в следующем коде:

Coin.deployed().then(coin => {
    TokenProxy.deployed().then(function(proxy) {
      coin.transferOwnership(proxy.address, {from:owner}).then(function(res) {
            proxy.claimOwnership({from: proxy.address}).then(function (res) {
              console.log("Done!");
            }).catch(function (e) {console.log(e);});
          }).catch(function (e) {console.log(e);});
        })
      })

Проблема в том, что адрес прокси не будет одним из этих 10 в списке, поэтому я получаю

Ошибка: отправительучетная запись не распознана

По сути, я не уверен, является ли она частью узла ganache (но если он есть, он наверняка заблокирован).Я пытался разблокировать его, используя web3 и пару разных вещей.Ничего не помоглоTy.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Разблокировка контрактной учетной записи невозможна не только в Ganache, но и в других сетях.Вы не можете отправить транзакцию с адресом договора в качестве адреса отправителя, поскольку у вас нет личного ключа для этого адреса.Если вы можете просто разблокировать адрес договора, что может помешать кому-либо разблокировать ваш адрес.

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

0 голосов
/ 28 февраля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...