에테 리엄 계약의 상태/저장을 볼 수 있기를 원하며, 어떤 조건이 충족되면 예를 들어 알 수 있습니다. 예를 들어, 하나의 계정 값이 200보다 크고 다른지도가 30 개 이상의 키를 가지고 있습니다.엣지 럼 계약 상태보기
무엇을 사용할 수 있습니까? 이 목적으로 사용할 수있는 SaaS 플랫폼이 있습니까?
편집 : 나는 계약의 소유자가 아닙니다. 나는 단순히 누군가의 계약을보고 싶다.
에테 리엄 계약의 상태/저장을 볼 수 있기를 원하며, 어떤 조건이 충족되면 예를 들어 알 수 있습니다. 예를 들어, 하나의 계정 값이 200보다 크고 다른지도가 30 개 이상의 키를 가지고 있습니다.엣지 럼 계약 상태보기
무엇을 사용할 수 있습니까? 이 목적으로 사용할 수있는 SaaS 플랫폼이 있습니까?
편집 : 나는 계약의 소유자가 아닙니다. 나는 단순히 누군가의 계약을보고 싶다.
이벤트가이 용도로 지원됩니다.
예 :
당신은const someContract = web3.eth.contract(abi).at(address);
myContract.events.AccountValueChange({
filter: {//Optional event filters},
fromBlock: 0
}, function(error, event){ console.log(event); })
.on('data', function(event){
console.log(event);
})
.on('error', console.error);
편집 클라이언트에서 이벤트를 수신 할 수 있습니다
contract SomeContract {
struct AccountData {
address account;
uint value;
}
...
event AccountValueChange(address account, uint value, bytes msg);
...
function someAction() {
AccountData accountData;
// some activity with accountData...
if (accountData.value > 200) {
AccountValueChange(accountData.address, accountData.value, "Some message");
}
}
}
: 대신 단일 해고의 모든 이벤트를 수신하도록 업데이트 클라이언트 코드 행사.
간단히 대답하면 EVM을 직접 조사하여 모니터링 할 수있는 자체 노드를 실행해야한다는 것입니다. 내가 할 수있는 공개 프로젝트가 없으며 RPC API는이를 수행 할 수있는 방법을 제공하지 않습니다. 필자는 조건이 충족 될 때 전자 메일을 보내도록 메일 필터링 및 코드 된 사용자 지정 트랜잭션 필터가있는 수정 된 Geth 바이너리를 사용했습니다.
이벤트는 생성시 계약서에 이벤트가 포함되어야하므로 이벤트가 문제를 해결하지 못합니다.
감사합니다. 원래 게시물에 일부 수정 사항을 추가했습니다. 나는 계약의 소유자가 아니라는 것을 잊었다. 제 3자가 배포 한 것을보고 싶습니다. – Klaus
이벤트를 청취하기 위해 계약 소유자 일 필요는 없습니다. 필요한 것은 ABI, 계약 주소 및 이벤트 이름뿐입니다. 필터링을 위해 필터링하려는 데이터가 계약 소유자에 의해 색인 된 것으로 표시된 경우 필터 매개 변수를 지정할 수 있습니다. 그렇지 않은 경우 모든 이벤트를 듣고 자신을 걸러 내야합니다. –