Вызов функции в Солидности - PullRequest
0 голосов
/ 20 февраля 2019

Я вызываю следующую функцию:

test: function()
    {
        alert("test1");

        let meta
        LoyaltyCard.deployed().then(function (instance) {
            meta = instance
            alert("test");
        }).catch(function (e) {
            alert(e);
        })

        //})
    }

и при вызове ее следующим образом:

<button type="button" onclick="App.test()">TEST</button>

К сожалению, при вызове этой части:

}).catch(function (e) {
                alert(e);

Я получаю следующее:

Ошибка: карта LoyaltyCard не была развернута в обнаруженной сети (несоответствие сети / артефакта)

Кто-нибудь знает почему?

1 Ответ

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

Вы должны использовать await и async при взаимодействии с библиотекой web3.Ниже приведен пример, который я использовал для получения экземпляра развернутого контракта, используя угловой 6.

  async getInstance() {
       await this.web3Service.artifactsToContract(artifacts)
       .then((uLoanAbstraction) => {
        this.LoanAbstraction = uLoanAbstraction;
       });

       this.deployedLoans = await this.uLoanAbstraction.deployed();
       // Later in the app i use this.deployedLoans to interact with the smart contract
 }
...