2016-03-19 18 views
3

Başka bir sözleşmede bir yöntem çağrıştıran ve bir düğümünde dinlediğim bir olayı yayınlamasına neden olan bir sözleşmem var.Başka bir sözleşmeden bir olay yayan etherum çağrı sözleşmesi yöntemi

Olayı doğrudan (konsoldan) tetikleyen yöntemi yürütürsem - iyi bir şekilde çalışıyor. Ancak, yöntemi uygularsam, ilk sözleşmeyi sırasıyla arayarak, olayı tetikleyen sözleşmeyi arayarak, etkinlik patlamaz.

Eksik olan bir sözleşmeyi takip etmenin bir yolu var mı, yoksa tasarımla yapamadığım bir şey mi? adresi ile EventEmitter başvurmak için gerekli

contract EventEmitter{ 
    event Emit(address addr, string message); 

    //this works when I call it directly from the console,ie: 
    //emitter.doEmit("blah", {from: "[primary acc]", value: web3.toWei(100, "ether")}); 
    function doEmit(string message) returns (bool){ 
     Emit(msg.sender, message); 
     return true; 
    } 
} 

contract EventEmitterCaller{ 
    event TestEvent(string message); 

    function callDoEmit(string message) returns (bool){ 
     EventEmitter emitter = new EventEmitter(); 
     //always returns false 
     //emitterCaller.callDoEmit("blah", {from: "[primary acc]", value: web3.toWei(100, "ether")}); 
     return emitter.doEmit(message); 
    } 

} 
+0

yaa yapmak Aşağıdaki kod sorunu açıklanır. EventEmitterCaller'i kendi adresiyle EventEmitter sözleşmesine başvurmak için değiştirmem gerekiyor: EventEmitter emitter = EventEmitter ([adres yöneticisi]) –

+0

fyi, http://ethereum.stackexchange.com/ – default

cevap

1

:

yerine

EventEmitter emitter = new EventEmitter(); 

ait

EventEmitter emitter = EventEmitter(0xef833fea60388efd541b62737c7aa3b59a6d80ef); 
İlgili konular