Öffentliche Knoten, die mit web3-Filtern funktionieren

Ich versuche, eine Verbindung zur Ethereum-Blockchain herzustellen und Transaktionen zu überwachen, während sie gesendet werden. Ich habe nicht die Möglichkeit, einen vollständigen Knoten auf meinem Computer auszuführen, daher verlasse ich mich auf Knoten von „Drittanbietern“, um eine Verbindung zur Blockchain herzustellen. Die beiden, die ich ausprobiert habe, sind „ https://mainnet.infura.io/ [MY PRIVATE KEY]“ und „ https://api.myetherapi.com/eth “. Um die neuesten Transaktionen abzurufen, verwende ich die Web3-Python-Modulfilter. Wenn ich jedoch diesen Code ausführe, wie hier und hier inspiriert :

from web3 import Web3, HTTPProvider
import time

node = #DEPENDS
connection = Web3(HTTPProvider(node))

block_filter = connection.eth.filter('latest')

time.sleep(60) #OR LONGER
print(block_filter.get_all_entries())

Wenn mein Knoten der Infuria-Knoten ist, erhalte ich den Fehler "requests.exceptions.HTTPError: 405 Client Error: Method Not Allowed for url: https://mainnet.infura.io/ [MY PRIVATE KEY]". Wenn ich die myetherapi verwende, ist das Ergebnis einfach eine leere Liste.

Gibt es andere HTTP-Knoten, die ich verwenden könnte, um mich mit der Blockchain zu verbinden? Oder liegt das Problem an meinem Code?

Antworten (1)

Es scheint, dass das Problem nicht in Ihrem Code liegt. Ich habe das gleiche Problem: Ich habe versucht, infura und Filter() auf Python zu verwenden. Leider bietet infura diese Methode im Moment nicht an , aber es wird in Zukunft so sein, wie sie sagten.

Was du tun kannst:

1) Versuchen Sie es mit einem anderen öffentlichen Knoten (googlen Sie es oder schauen Sie hier https://www.ethernodes.org/ )

2) Erstellen Sie Ihren eigenen Knoten (wie ich mich entschieden habe) – am einfachsten hier https://geth.ethereum.org/downloads/