Wie verfolgt die große Krypto-Handelsplattform, genau wie Binance oder Bittrex, die ETH- und Token-Übertragung auf jedem Konto im Laufe der Zeit?

Ich habe einen einfachen Code mit web3js geschrieben, um die Transaktion einer Adresse/eines Kontos in Echtzeit zu verfolgen. Es funktioniert, aber ich denke, es hat eine schlechte Leistung oder könnte zu viel CPU-Ressourcen verbrauchen.

Beispielcode

 let filter = web3.eth.filter("latest");
 filter.watch(function(error, result) {
    if (!error) {
      //tracking start in 12 blocks earlier .
      var earlierNumber = web3.eth.getBlock(result).number - 12;
      var confirmedBlock = web3.eth.getBlock(earlierNumber ) ;

      if (confirmedBlock.transactions.length > 0) {
          confirmedBlock.transactions.forEach(function(tx) {
             if ( tx.to == address ) {                     
                var depositAmount =  web3.fromWei(tx.value.toNumber(), 
                "ether" )
                console.log("address: " +address+ " deposit amount:  "+depositAmount+ " ETH." ) ;                     
              }     
          }) 
       }
     }  
  })  

Wie könnten diese großen Handels- oder Austauschplattformen große Mengen an Kontotransaktionen genau verfolgen? Ich finde viele gute Projekte wie MetaMask-Token-Tracker auf Git. Wie wäre es? Oder eine Open Source zu empfehlen?

Antworten (1)

Die Börsen führen keine Transaktionen zwischen Blockchain-Konten durch. Außerdem sind die Transaktionen in der Blockchain nicht einmal sichtbar. Wenn Sie Münze A mit Münze B kaufen, mischt die Börse nur Zahlen in ihren eigenen Datenbanken und nichts wird in der Blockchain veröffentlicht. Dies ist ressourcentechnisch absolut sinnvoll: Das Ändern einiger Datenbankwerte ist viel billiger und schneller als das Veröffentlichen von Transaktionen in einer Blockchain.

Theoretisch werden ERC20-Token-Guthaben nur innerhalb des Token-Vertrags verfolgt. Aber wenn Sie Token in einer Börse austauschen, werden auch nur Zahlen in ihren Datenbanken gemischt, und gemäß der Blockchain bewegen sich die Token nirgendwo hin.

Korrekte Transaktionen werden nur veröffentlicht, wenn Sie Vermögenswerte von der Börse abheben/einzahlen. Ansonsten wird alles, was die Börse besitzt (Coins & Token), nur in ihren eigenen Wallets aufbewahrt.

Vielleicht ist meine Frage etwas verwirrend. Eigentlich möchte ich nur wissen, wie diese große Handelsplattform Einzahlungen von ihren Kunden in Echtzeit erkennt oder akzeptiert. Der Beispielcode fungiert als Block-Listener und verfolgt jede Einzahlungstransaktion korrekt auf erwartet . Aber es sieht so aus, als würde viel Overhead benötigt, um die Überwachung aufrechtzuerhalten. Gibt es eine günstige Alternative? Oder diese Handelsdienste, Binance, Bittrex, nur um leistungsstarke Server dafür zu bauen.
Ah, ja, entschuldige, ich habe deine Frage falsch interpretiert. Dann ist meine Antwort nicht mehr so ​​relevant, aber ich habe auch keine Antwort auf Ihre eigentliche Frage.