Web3.utils.hexToUtf8 получает «неопределенную» ошибку - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь вернуть имя пользователя из структуры в отображении, и я получаю эту ошибку: Ошибка: параметр "undefined" должен быть допустимой строкой HEX.

contract UserStorage is BaseStorage {

    event UserCreated(string _message);

    struct Profile {
        uint userId;
        bytes32 username;
      }

    mapping(address => Profile) public profiles;
    mapping(address => bool) public addresses;
    mapping (bytes32 => uint) public usernames;


    uint latestUserId = 0;

    function createUser(
        address _address,
        bytes32 _username
        ) public onlyControllerAddr returns(uint) {

        latestUserId++;

        profiles[_address] = Profile(
        latestUserId,
        _username
        );



        addresses[_address] = true;
        usernames[_username] = latestUserId;

        emit UserCreated("Membership Confirmed");
        return latestUserId;
    }

}
class UserAccount extends React.Component {
 state = { dataKey: null };

componentDidMount() {
   const { drizzle, drizzleState } = this.props;
   const contract = drizzle.contracts.UserStorage;
   const account = drizzleState.accounts[0];


  const dataKey = contract.methods['profiles'].cacheCall(account);
  this.setState({ dataKey });

 }


 render() {

   const { UserStorage } = this.props.drizzleState.contracts;
   const displayData = UserStorage.profiles[this.state.dataKey];
   const user =  displayData && displayData.value[1];
   const username = Web3.utils.hexToUtf8(user);
   console.log(user);
   return (
   <div>Hello: {user}</div>
   )
 }
}

export default UserAccount;

Здесь являются значениями, которые возвращаются:

пользователь: 0x426f6200000000000000000000000000000000000000000000000000000000000000000000000000000000000000

const displayData: {аргументы: аргументы (1), fnIndex: 6, значение: результат, ошибка: 0226166e6ee0: аргументы: аргументы: 0466Ee0: аргументы: 0: 466Ee0: аргументы: нуль: 11616Ee0: аргументы: нуль: 11616Ee0: аргументы: нуль: 11616Ee0: аргументы: нуль: 11616Ee0: аргументы: null: 116: E6ee: 0): возвращаемые значения: null: 0: 466e6: 0e6: 0: e6ee0: 0: E6: E6ee6: 0: E6: E6: E6: EE. ", вызываемый: (...), символ (Symbol.iterator): ƒ] ошибка: nullfnIndex: 6значение: результат {0:" 1 ", 1:" 0x426f6200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 } proto : Объект

...