У меня проблема при выполнении кода
HelloWorld.deployed().balance.call().then(console.log)
Введена эта ошибка: Не удается прочитать «вызов» свойства неопределенного. Эта проблема похожа на эту тему , но не помогает в моем случае.
Мой код из этого турориала
contract HelloWorld {
address public owner;
mapping (address => uint) balances;
function HelloWorld() {
owner = msg.sender;
balances[owner] = 1000;
}
function transfer(address _to, uint _value) returns (bool success) {
if (balances[msg.sender] < _value) {
return false;
}
balances[msg.sender] -= _value;
balances[_to] += _value;
return true;
}
function getBalance(address _user) constant returns(uint _balance) {
return balances[_user];
}
}
У вас нет метода с именем «баланс», но есть «getBalance» с адресным аргументом «_user», поэтому вам нужно вызвать его следующим образом:
HelloWorld.deployed().getBalance.call('YOUR_ADDRESS')
HelloWorld.deployed()
работает хорошо. У меня получилось что-то вроде этого TruffleContract {structor: { [Function: TruffleContract] _static_methods: { setProvider: [Function: setProvider], new: [Function: new], ...HelloWorld.deployed().then(contract => { return contract.abi })
?[ { constant: true, inputs: [], name: 'owner', outputs: [ [Object] ], payable: false, stateMutability: 'view', type: 'function' }, { inputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor' }, { constant: false, inputs: [ [Object], [Object] ], name: 'transfer', outputs: [ [Object] ], payable: false, stateMutability: 'nonpayable', type: 'function' }, { constant: true, ...
ПьеррикМ