A high-performance Substreams package for indexing Base Name Service (ENS-compatible naming system) on the Base network.
0xB94704422c2a1E396835A571837Aa5AE53285a95
0x03c4738Ee98aE44591e1A4A4F3CaB6641d95DD9a
0x79EA96012eEa67A83431F1701B3dFf7e37F9E282
0xB94704422c2a1E396835A571837Aa5AE53285a95
map_registry_events
- Registry contract eventsmap_registrar_events
- Registrar contract eventsmap_controller_events
- Controller contract eventsmap_reverse_events
- Reverse resolution events# Build WASM module
cargo build --target wasm32-unknown-unknown --release
# Create package
substreams pack
# Deploy to registry
substreams registry publish .
# Test on Base network
substreams run map_registry_events \
--start-block 1000000 \
--stop-block +10 \
--endpoint https://base-mainnet.substreams.pinax.network:443
This package outputs protobuf messages containing:
# Stream registry events
substreams run map_registry_events \
--endpoint https://base-mainnet.substreams.pinax.network:443
# Stream registrar events
substreams run map_registrar_events \
--endpoint https://base-mainnet.substreams.pinax.network:443
Deploy to various sinks for different use cases:
Feature | Traditional Subgraph | Substreams |
---|---|---|
Sync Time | 74+ days | Real-time |
RPC Limits | Rate limited | No limits |
Queries | GraphQL | Streaming |
Performance | 1x | 10-100x |
Data Freshness | Delayed | Instant |
base-names-substreams/
├── src/
│ └── lib.rs # Main handlers
├── protobuf/
│ └── base_names.proto # Data schemas
├── substreams.yaml # Package manifest
├── Cargo.toml # Rust dependencies
└── build.rs # Build script
# Substreams authentication
export SUBSTREAMS_API_TOKEN="your-jwt-token"
export SUBSTREAMS_ENDPOINT="https://base-mainnet.substreams.pinax.network:443"
substreams run
MIT License - see LICENSE file for details
Built with ❤️ for the Base ecosystem
substreams gui base-names@v0.1.4 map_registry_events
substreams gui base-names@v0.1.4 map_registrar_events
substreams gui base-names@v0.1.4 map_controller_events
substreams gui base-names@v0.1.4 map_reverse_events
message
Modules
message
Binary
message
Module
message
Package
message
NetworkParams
message
PackageMetadata
message
ModuleMetadata
message
Clock
message
BlockRef
message
Request
message
Response
message
BlockUndoSignal
message
BlockScopedData
message
SessionInit
message
InitialSnapshotComplete
message
InitialSnapshotData
message
MapModuleOutput
message
StoreModuleOutput
message
OutputDebugInfo
message
ModulesProgress
message
ProcessedBytes
message
Error
message
Job
message
Stage
message
ModuleStats
message
ExternalCallMetric
message
StoreDelta
message
BlockRange
message
DeployRequest
message
Parameter
message
DeployResponse
message
UpdateRequest
message
UpdateResponse
message
InfoRequest
message
InfoResponse
message
SinkProgress
message
PackageInfo
message
ListRequest
message
ListResponse
message
DeploymentWithStatus
message
RemoveRequest
message
RemoveResponse
message
PauseRequest
message
PauseResponse
message
StopRequest
message
StopResponse
message
ResumeRequest
message
ResumeResponse
enum
DeploymentStatus
message
RegistryEvents
message
NewOwner
message
NewResolver
message
NewTTL
message
RegistrarEvents
message
NameRegistered
message
NameRenewed
message
Transfer
message
ControllerEvents
message
ReverseEvents
message
ReverseClaimed
message
Domain
message
Registration
message
ReverseRegistration
message
FileDescriptorSet
message
FileDescriptorProto
message
DescriptorProto
message
ExtensionRangeOptions
message
FieldDescriptorProto
message
OneofDescriptorProto
message
EnumDescriptorProto
message
EnumValueDescriptorProto
message
ServiceDescriptorProto
message
MethodDescriptorProto
message
FileOptions
message
MessageOptions
message
FieldOptions
message
OneofOptions
message
EnumOptions
message
EnumValueOptions
message
ServiceOptions
message
MethodOptions
message
UninterpretedOption
message
SourceCodeInfo
message
GeneratedCodeInfo
message
Any
message
Timestamp