eth_newFilter
Creates a filter object on Moonbase Alpha to notify when state changes (logs).
Use Cases#
- Event monitoring - Subscribe to contract events
- Real-time updates - Track events for EVM dApp testing, XCM integration validation, and pre-mainnet deployment verification
- Indexing - Build event indexes incrementally
Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
fromBlock | QUANTITY|TAG | No | Starting block |
toBlock | QUANTITY|TAG | No | Ending block |
address | DATA|Array | No | Contract address(es) |
topics | Array | No | Topic filters |
Request#
{
"jsonrpc": "2.0",
"method": "eth_newFilter",
"params": [{
"fromBlock": "latest",
"address": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",
"topics": [""]
}],
"id": 1
}
Returns#
| Type | Description |
|---|---|
QUANTITY | Filter ID |
Code Examples#
- cURL
- JavaScript
curl -X POST https://api-moonbase-alpha.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_newFilter",
"params": [{
"fromBlock": "latest",
"address": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"
}],
"id": 1
}'
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://api-moonbase-alpha.n.dwellir.com/YOUR_API_KEY');
// Create filter
const filterId = await provider.send('eth_newFilter', [{
fromBlock: 'latest',
address: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
topics: ['']
}]);
// Poll for changes
const changes = await provider.send('eth_getFilterChanges', [filterId]);
console.log('New events:', changes);
// Cleanup
await provider.send('eth_uninstallFilter', [filterId]);
Related Methods#
eth_getFilterChanges- Poll filter for changeseth_uninstallFilter- Remove filtereth_getLogs- Direct log query