Skip to content

Commit

Permalink
feat(clients): RPC Supported Methods by web3Provider
Browse files Browse the repository at this point in the history
  • Loading branch information
sam bacha authored Oct 5, 2021
1 parent 0f4e04d commit f6338cd
Show file tree
Hide file tree
Showing 12 changed files with 708 additions and 0 deletions.
69 changes: 69 additions & 0 deletions rpc-clients/alchemy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
upstreams:
- id: alchemy
chain: ethereum
role: fallback
labels:
provider: geth
archive: true
options:
disable-validation: true
methods:
enabled:
- name: alchemy_getAssetTransfers
- name: alchemy_getTokenAllowance
- name: alchemy_getTokenBalances
- name: alchemy_getTokenMetadata
- name: eth_accounts
- name: eth_blockNumber
- name: eth_call
- name: eth_chainId
- name: eth_estimateGas
- name: eth_gasPrice
- name: eth_getBalance
- name: eth_getBlockByHash
- name: eth_getBlockByNumber
- name: eth_getBlockTransactionCountByHash
- name: eth_getBlockTransactionCountByNumber
- name: eth_getCode
- name: eth_getFilterChanges
- name: eth_getFilterLogs
- name: eth_getLogs
- name: eth_getProof
- name: eth_getStorageAt
- name: eth_getTransactionByBlockHashAndIndex
- name: eth_getTransactionByBlockNumberAndIndex
- name: eth_getTransactionByHash
- name: eth_getTransactionCount
- name: eth_getTransactionReceipt
- name: eth_getUncleByBlockHashAndIndex
- name: eth_getUncleByBlockNumberAndIndex
- name: eth_getUncleCountByBlockHash
- name: eth_getUncleCountByBlockNumber
- name: eth_newBlockFilter
- name: eth_newFilter
- name: eth_newPendingTransactionFilter
- name: eth_protocolVersion
- name: eth_sendRawTransaction
- name: eth_subscribe
- name: eth_syncing
- name: eth_uninstallFilter
- name: eth_unsubscribe
- name: net_listening
- name: net_version
- name: trace_block
- name: trace_call
- name: trace_callMany
- name: trace_filter
- name: trace_get
- name: trace_rawTransaction
- name: trace_replayBlockTransactions
- name: trace_replayTransaction
- name: trace_transaction
- name: web3_clientVersion
- name: web3_sha3
connection:
ethereum:
rpc:
url: "https://eth-mainnet.alchemyapi.io/v2/${ALCHEMY_KEY}"
ws:
url: "wss://eth-mainnet.ws.alchemyapi.io/v2/${ALCHEMY_KEY}"
90 changes: 90 additions & 0 deletions rpc-clients/anyblock.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
upstreams:
- id: anyblock
chain: ethereum
role: fallback
labels:
provider: openethereum
archive: false
options:
disable-validation: true
methods:
enabled:
- name: debug_getBadBlocks
- name: eth_accounts
- name: eth_blockNumber
- name: eth_chainId
- name: eth_coinbase
- name: eth_estimateGas
- name: eth_gasPrice
- name: eth_getBalance
- name: eth_getBlockByHash
- name: eth_getBlockByNumber
- name: eth_getBlockTransactionCountByHash
- name: eth_getBlockTransactionCountByNumber
- name: eth_getCode
- name: eth_getFilterChanges
- name: eth_getFilterLogs
- name: eth_getLogs
- name: eth_getStorageAt
- name: eth_getTransactionByBlockHashAndIndex
- name: eth_getTransactionByBlockNumberAndIndex
- name: eth_getTransactionByHash
- name: eth_getTransactionCount
- name: eth_getTransactionReceipt
- name: eth_getUncleByBlockHashAndIndex
- name: eth_getUncleByBlockNumberAndIndex
- name: eth_getUncleCountByBlockHash
- name: eth_getUncleCountByBlockNumber
- name: eth_getWork
- name: eth_hashrate
- name: eth_mining
- name: eth_newBlockFilter
- name: eth_newFilter
- name: eth_newPendingTransactionFilter
- name: eth_protocolVersion
- name: eth_sendRawTransaction
- name: eth_sendTransaction
- name: eth_sign
- name: eth_signTransaction
- name: eth_submitHashrate
- name: eth_submitWork
- name: eth_subscribe
- name: eth_syncing
- name: eth_uninstallFilter
- name: eth_unsubscribe
- name: net_listening
- name: net_peerCount
- name: net_version
- name: parity_allTransactionHashes
- name: parity_allTransactions
- name: parity_call
- name: parity_cidV0
- name: parity_composeTransaction
- name: parity_decryptMessage
- name: parity_encryptMessage
- name: parity_futureTransactions
- name: parity_getBlockHeaderByNumber
- name: parity_getBlockReceipts
- name: parity_localTransactions
- name: parity_pendingTransactions
- name: parity_pendingTransactionsStats
- name: parity_signMessage
- name: parity_submitWorkDetail
- name: parity_subscribe
- name: parity_unsubscribe
- name: parity_verifySignature
- name: trace_block
- name: trace_call
- name: trace_callMany
- name: trace_filter
- name: trace_get
- name: trace_rawTransaction
- name: trace_replayBlockTransactions
- name: trace_replayTransaction
- name: trace_transaction
- name: web3_clientVersion
- name: web3_sha3
connection:
ethereum:
rpc:
url: "https://api.anyblock.tools/ethereum/ethereum/mainnet/rpc/${ANYBLOCK_KEY}"
53 changes: 53 additions & 0 deletions rpc-clients/avado.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
upstreams:
- id: avado
chain: ethereum
role: fallback
labels:
provider: geth
archive: false
methods:
enabled:
- name: eth_accounts
- name: eth_blockNumber
- name: eth_call
- name: eth_chainId
- name: eth_estimateGas
- name: eth_gasPrice
- name: eth_getBalance
- name: eth_getBlockByHash
- name: eth_getBlockByNumber
- name: eth_getBlockTransactionCountByHash
- name: eth_getBlockTransactionCountByNumber
- name: eth_getCode
- name: eth_getLogs
- name: eth_getStorageAt
- name: eth_getTransactionByBlockHashAndIndex
- name: eth_getTransactionByBlockNumberAndIndex
- name: eth_getTransactionByHash
- name: eth_getTransactionCount
- name: eth_getTransactionReceipt
- name: eth_getUncleByBlockHashAndIndex
- name: eth_getUncleByBlockNumberAndIndex
- name: eth_getUncleCountByBlockHash
- name: eth_getUncleCountByBlockNumber
- name: eth_getWork
- name: eth_hashrate
- name: eth_mining
- name: eth_protocolVersion
- name: eth_sendRawTransaction
- name: eth_submitWork
- name: eth_syncing
- name: net_listening
- name: net_peerCount
- name: net_version
- name: web3_clientVersion
- name: eth_newFilter
- name: eth_newBlockFilter
- name: eth_getFilterChanges
- name: eth_uninstallFilter
- name: eth_subscribe
- name: eth_unsubscribe
connection:
ethereum:
rpc:
url: "https://mainnet.eth.cloud.ava.do"
63 changes: 63 additions & 0 deletions rpc-clients/chainstack.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
upstreams:
- id: chainstack
chain: ethereum
role: fallback
labels:
provider: geth
archive: false
options:
disable-validation: true
methods:
enabled:
- name: eth_accounts
- name: eth_blockNumber
- name: eth_call
- name: eth_chainId
- name: eth_estimateGas
- name: eth_gasPrice
- name: eth_getBalance
- name: eth_getBlockByHash
- name: eth_getBlockByNumber
- name: eth_getBlockTransactionCountByHash
- name: eth_getBlockTransactionCountByNumber
- name: eth_getCode
- name: eth_getLogs
- name: eth_getStorageAt
- name: eth_getTransactionByBlockHashAndIndex
- name: eth_getTransactionByBlockNumberAndIndex
- name: eth_getTransactionByHash
- name: eth_getTransactionCount
- name: eth_getTransactionReceipt
- name: eth_getUncleByBlockHashAndIndex
- name: eth_getUncleByBlockNumberAndIndex
- name: eth_getUncleCountByBlockHash
- name: eth_getUncleCountByBlockNumber
- name: eth_getWork
- name: eth_hashrate
- name: eth_mining
- name: eth_protocolVersion
- name: eth_sendRawTransaction
- name: eth_submitWork
- name: eth_syncing
- name: net_listening
- name: net_peerCount
- name: net_version
- name: web3_clientVersion
- name: eth_newFilter
- name: eth_newBlockFilter
- name: eth_getFilterChanges
- name: eth_uninstallFilter
- name: eth_subscribe
- name: eth_unsubscribe
connection:
ethereum:
rpc:
url: "https://${CHAINSTACK_NODE}.p2pify.com"
basic-auth:
username: ${CHAINSTACK_USERNAME}
password: ${CHAINSTACK_PASSWORD}
ws:
url: "wss://ws-${CHAINSTACK_NODE}.p2pify.com"
basic-auth:
username: ${CHAINSTACK_USERNAME}
password: ${CHAINSTACK_PASSWORD}
55 changes: 55 additions & 0 deletions rpc-clients/cloudflare.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
upstreams:
- id: cloudflare
chain: ethereum
role: fallback
labels:
provider: geth
archive: false
options:
disable-validation: true
methods:
enabled:
- name: eth_accounts
- name: eth_blockNumber
- name: eth_call
- name: eth_chainId
- name: eth_estimateGas
- name: eth_gasPrice
- name: eth_getBalance
- name: eth_getBlockByHash
- name: eth_getBlockByNumber
- name: eth_getBlockTransactionCountByHash
- name: eth_getBlockTransactionCountByNumber
- name: eth_getCode
- name: eth_getLogs
- name: eth_getStorageAt
- name: eth_getTransactionByBlockHashAndIndex
- name: eth_getTransactionByBlockNumberAndIndex
- name: eth_getTransactionByHash
- name: eth_getTransactionCount
- name: eth_getTransactionReceipt
- name: eth_getUncleByBlockHashAndIndex
- name: eth_getUncleByBlockNumberAndIndex
- name: eth_getUncleCountByBlockHash
- name: eth_getUncleCountByBlockNumber
- name: eth_getWork
- name: eth_hashrate
- name: eth_mining
- name: eth_protocolVersion
- name: eth_sendRawTransaction
- name: eth_submitWork
- name: eth_syncing
- name: net_listening
- name: net_peerCount
- name: net_version
- name: web3_clientVersion
- name: eth_newFilter
- name: eth_newBlockFilter
- name: eth_getFilterChanges
- name: eth_uninstallFilter
- name: eth_subscribe
- name: eth_unsubscribe
connection:
ethereum:
rpc:
url: "https://cloudflare-eth.com"
22 changes: 22 additions & 0 deletions rpc-clients/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
version: '3'
services:
dshackle:
container_name: dshackle
image: emeraldpay/dshackle:0.9.6
restart: unless-stopped
volumes:
- /data/dshackle:/etc/dshackle
ports:
- "8080:8080"
environment:
- ALCHEMY_KEY=
- ANYBLOCK_KEY=
- CHAINSTACK_NODE=
- CHAINSTACK_USERNAME=
- CHAINSTACK_PASSWORD=
- INFURA_KEY=
- RIVET_KEY=
redis:
container_name: redis
image: redis:alpine
restart: unless-stopped
40 changes: 40 additions & 0 deletions rpc-clients/dshackle.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
host: 0.0.0.0
port: 2449
tls:
enabled: false

cache:
redis:
enabled: true
host: redis
password: ""

proxy:
host: 0.0.0.0
port: 8080
tls:
enabled: false
routes:
- id: eth
blockchain: ethereum

cluster:
defaults:
- chains:
- ethereum
options:
min-peers: 10
include:
# Local Nodes
- "geth.yaml"
- "nethermind.yaml"
- "turbogeth.yaml"
# Freemium Nodes
- "alchemy.yaml"
- "anyblock.yaml"
- "chainstack.yaml"
- "infura.yaml"
- "rivet.yaml"
# Public Nodes
- "cloudflare.yaml"
- "avado.yaml"
Loading

0 comments on commit f6338cd

Please sign in to comment.