Согласно документации по API Web3, способ получения экземпляра контракта и вызова метода:
1.Определение договора
var MyContract = web3.eth.contract(abi);
2.Получить экземпляр договора можно по адресу
var myContractInstance = MyContract .at('0x**********');
3.Выполнить вызов
var owner = myContractInstance .owner.call();
Полный код:
var abi = [
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"type": "function"
},
{
"inputs": [],
"payable": false,
"type": "constructor"
}
];
var MyContract = web3.eth.contract(abi);
// initiate contract for an address
var myContractInstance = MyContract .at('0xa07ddaff6d8b7aabf91ac6f82bf89455eb9784f4');
// call constant function (synchronous way)
var owner = myContractInstance .owner.call();
console.log("owner="+owner);
Работает нормально:
owner=0x13a0674c16f6a5789bff26188c63422a764d9a39