Web3.js не принимает переменную const как адрес «from:» в создателе действия - PullRequest
1 голос
/ 01 мая 2019

Я пытаюсь передать объект props (адрес контракта, хранящийся в хранилище избыточных данных) в создатель действия и использовать этот объект props в качестве адреса «from:». Однако, если я не пропущу необработанную строку адреса вручную, я получу «нет адреса, указанного» * ​​1001 *

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

//ACTION CREATOR
export const createOrgAndContract = (id) => async (dispatch, getState) => {
    const account = await getState().web3connect.account;
    console.log(account);
    const createContract = await orgFactory.methods.createOrg(id).send({ from: `${account}` });
    const contractAddress = createContract.events.orgCreated.returnValues.newAddress;
    const response = await localDB.post(`/orgs`, { id, contractAddress });

    dispatch({ type: CREATE_CONTRACT_ADDRESS, payload: response.data });
};

Вот еще один способ, который я пробовал, все тот же вывод:

//ACTION CREATOR V2
export const createOrgAndContract = (id) => async (dispatch, getState) => {
    const account = await getState().web3connect.account;
    console.log(account);
    const createContract = await orgFactory.methods.createOrg(id).send({ from: account });
    const contractAddress = createContract.events.orgCreated.returnValues.newAddress;
    const response = await localDB.post(`/orgs`, { id, contractAddress });

    dispatch({ type: CREATE_CONTRACT_ADDRESS, payload: response.data });
};

А вот объект web3connect.account в магазине приставок (если я заменю «account» только на этот адрес, все будет прекрасно):

{
  account: '0xB59EaB6A9C3AAC2dba42491502A0699c7b03A857'
}

И вот ошибка, которую я получаю

index.js:756 Uncaught (in promise) Error: No "from" address specified in neither the given options, nor the default options.

Кто-нибудь знает, почему эта переменная не квалифицируется как адрес "from" в web3.js?

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