У меня очень простой контракт, который прекрасно работает в редакторе ремиксов.
Я просто хотел выучить трюфель. Я инициировал пустой проект трюфеля, разместил контракт и успешно его скомпилировал.
однако truffle test
дает ниже ошибку
Контракт:
pragma solidity ^0.4.18;
contract Greetings{
string public message;
constructor() public {
message = "Hello";
}
function getGreeting() public view returns (string){
return message;
}
}
Тест:
var Greetings = artifacts.require("Greetings");
contract('Greetings Test', async (accounts) => {
it("check for greetings message", async () => {
let greeting = await Greetings.deployed();
let message = await greeting.getGreeting().call();
console.log(message);
});
});
Ошибка:
Contract: Greetings Test
1) check for greetings message
> No events were emitted
0 passing (103ms)
1 failing
1) Contract: Greetings Test
check for greetings message:
TypeError: greeting.getGreeting(...).call is not a function
at Context.it (test/campaignfactory.js:7:52)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
Примечание: я хотел бы использовать asnyc/await
.