Почему мой контракт ethereum не распознает адрес аккаунта - PullRequest
0 голосов
/ 07 августа 2020

Я вызываю контракт с помощью следующего вызова и получаю ClientServiceService.createClient (): failed: Error: возвращенная ошибка: учетная запись отправителя не распознана

return await this.web3ClientsService.contract.methods.addClient (userAddress, pwd, clientID, clientName) .send ({from: userAddress, gas: 3000000});

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

Это метод контракта:

    function addClient(
    address _userAddress,
    string memory _pwd,
    address _clientID,
    string memory _name
)
    public
    userOnly(_userAddress, _name)
    isValidPassword(_userAddress, _pwd)
    noDupClient(_userAddress, _clientID, _name)
{
    clientMap[_name].clientID = _clientID;
    clientMap[_name].name = _name;
    clientMap[_name].flag = true;

    // clientNameArray.push(_name);
    if (userClientIDMap[_userAddress] == address(0x0)) {
      userClientIDMap[_userAddress] = _clientID;
    }

    clientNameAddressMap[_name] = _clientID;
    //clientNameInvoiceCountMap[_name] = 0;
    userClientIDMap[_userAddress] = _clientID;
    usersToClientsMap[_userAddress].push(Client(_clientID, _name, true));
    userToNumClientsMap[_userAddress] += 1;
    emit addClientEvent(_userAddress, _clientID, _name);
}
...