Ich möchte Konten auf eingehende Transaktionen überwachen (RPC/IPC-API) und eine Funktion aufrufen, wenn eines von mehreren überwachten Konten Ether erhält, das "bestätigt" wird, wie in "vor genügend vielen Blöcken, dass die Wahrscheinlichkeit doppelter Ausgaben besteht". sind vernachlässigbar".
Gibt es dazu eine Referenzimplementierung?
Ich schaue mir Filter an und die Wörter "ausstehend" und "neueste" tauchen immer wieder auf. Was meinen sie?
Neueste bedeutet der neueste Block, der sich bereits in Ihrer eigenen Kette befindet. Alle darin enthaltenen Transaktionen können als erfolgreich ausgeführt betrachtet werden. Sicherheitstechnisch kann es natürlich Reorgs geben, aber im Allgemeinen handelt es sich um ausgeführte Transaktionen.
Ausstehend ist dagegen die Sammlung von Transaktionen, die vom Netzwerk ausgeführt werden können (von denen Ihr eigener Node weiß), dies aber noch nicht getan haben. Ausstehend ist nützlich, um reaktive Benutzeroberflächen anzuzeigen, bei denen die Benutzeroberfläche sofort anzeigen kann, dass etwas eingeht, obwohl es keine Garantie dafür gibt, wann diese Transaktionen – falls überhaupt – erfolgreich ausgeführt werden.
Ideen zu einer „Referenzimplementierung“ finden Sie unter: Wie kann eine DApp eine Fork- oder Chain-Reorganisation mithilfe von web3.js oder zusätzlichen Bibliotheken erkennen?
Sicherlich wollen Sie auch wissen: Ab welcher Anzahl an Bestätigungen gilt Ethereum als sicher?
@Péters Antwort ist großartig und das einzige, was hinzugefügt werden muss, ist die web3.eth.defaultBlock
Definition:
"latest", der neueste Block (aktueller Kopf der Blockchain)
„pending“, der aktuell geschürfte Block (einschließlich schwebender Transaktionen)
pending
ist gleich latest
plus ausstehende Transaktionen (diejenigen, die nicht in einen Block geschürft wurden).
Spraff
Nick Johnson
Peter Szilágyi
Peter Szilágyi
Spraff
$reorg < k*$amount*2^confirmations
ich annehme? Wenn ja, haben wir eine grobe Schätzung für den Koeffizienten?