This project leverages Substreams to calculate the popularity of Ethereum precompiled contracts from call data.
substreams gui substreams-evm-precompiles-popularity@v0.2.0
At block #21 996 000
:
0x0000000000000000000000000000000000000001
=> 247543455 (ecrecover
)0x0000000000000000000000000000000000000002
=> 128524392 (sha256Hash
)0x0000000000000000000000000000000000000004
=> 46295370 (dataCopy
)0x0000000000000000000000000000000000000006
=> 44480667 (bn256Add
)0x0000000000000000000000000000000000000007
=> 44330095 (bn256ScalarMul
)0x0000000000000000000000000000000000000005
=> 16939742 (bigModExp
)0x0000000000000000000000000000000000000008
=> 2504972 (bn256Pairing
)0x0000000000000000000000000000000000000003
=> 618211 (ripemd160Hash
)0x000000000000000000000000000000000000000a
=> 570252 (kzgPointEvaluation
)0x0000000000000000000000000000000000000009
=> 161695 (blake2F
)substreams run substreams-evm-precompiles-popularity@v0.2.0 map_counts -s 21996000 -t +1 -o jsonl | skip 1 | head -n1 | jq -rc '."@data".entries | sort_by(-(.count|tonumber)) | .[] | "0x\(.address) => \(.count) (\(.name))"'
Apache 2.0
substreams gui substreams-evm-precompiles-popularity@v0.3.1 map_counts
all_calls
gives you all the calls in a block (including internal calls), with basic block hash/number/timestamp and transaction hash
substreams gui substreams-evm-precompiles-popularity@v0.3.1 ethcommon:all_calls
filtered_calls
reads from all_calls
and applies a filter on the called contract, the caller and the method 4-bytes signature
Supported operators are: logical or ||
, logical and &&
and parenthesis: ()
Addresses to match must be written as 0x-prefixed hexadecimal, lowercase, prefixed by call_to:
or call_from:
, methods by call_method:
.
Example: (call_to:0x1234... || call_from:0x1234...) && call_method:0xdeadbeef...
substreams gui substreams-evm-precompiles-popularity@v0.3.1 ethcommon:filtered_calls
substreams gui substreams-evm-precompiles-popularity@v0.3.1 store_counts
index_calls
sets the following keys on the block:
substreams gui substreams-evm-precompiles-popularity@v0.3.1 ethcommon:index_calls
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
Request
message
Response
message
BlockUndoSignal
message
BlockScopedData
message
SessionInit
message
InitialSnapshotComplete
message
InitialSnapshotData
message
MapModuleOutput
message
StoreModuleOutput
message
OutputDebugInfo
message
ModulesProgress
message
ModuleProgress
message
BlockRange
message
StoreDelta
message
Block
message
BlockHeader
message
Uint64NestedArray
message
Uint64Array
message
BigInt
message
TransactionTrace
message
AccessTuple
message
TransactionReceipt
message
Log
message
Call
message
StorageChange
message
BalanceChange
message
NonceChange
message
AccountCreation
message
CodeChange
message
GasChange
message
HeaderOnlyBlock
message
BlockWithRefs
message
TransactionTraceWithBlockRef
message
TransactionRefs
message
BlockRef
enum
TransactionTraceStatus
enum
CallType
message
RpcCalls
message
RpcCall
message
RpcResponses
message
RpcResponse
message
Calls
message
Call
message
Events
message
Event
message
EventsAndCalls
message
Transactions
message
Transaction
enum
DetailLevel
message
Modules
message
Binary
message
Module
message
Package
message
PackageMetadata
message
ModuleMetadata
message
Clock
message
BlockRef
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