Transaktion

Eine Transaktion ist eine Anweisung, die von einem Konto mit einer kryptografischen Signatur ausgestellt wird.Das Konto initiiert die Transaktion, um den Status des Ethernet -Netzwerks zu aktualisieren.Die einfachste Transaktion ist eine Übertragung von PSC von einem Konto auf ein anderes.

Was ist die Transaktion?

Eine POLYSMARTCHAIN-Transaktion ist eine Aktion, die von einem extern gehaltenen Konto initiiert wird, mit anderen Worten, ein Konto, das von einem Menschen anstelle eines intelligenten Vertrags verwaltet wird.Wenn beispielsweise Bob Alice 1 PSC sendet, muss Bobs Konto um 1 PSC und Alice-Konto um 1 PSC verringert werden.Diese Aktion tritt während der Transaktion auf und ändert den Zustand.

Transaktionen, die den Zustand des EVM ändern, müssen in das gesamte Netzwerk ausgestrahlt werden.Jeder Knoten kann eine Transaktionsanfrage auf dem EVM ausstrahlen.Danach führt der Bergmann die Transaktion aus und breitet den resultierenden Zustandsänderungswechsel in den Rest des Netzwerks aus.

Transaktionen erfordern eine Gebühr und müssen abgebaut werden, um gültig zu sein.Um diesen Überblick einfacher zu gestalten, nennen wir es Gasgebühren und Bergbau.

Die eingereichten Transaktionen enthalten die folgenden Informationen:

  • recipient – Empfangsadresse (wenn es sich um ein extern gehaltenes Konto handelt, überträgt die Transaktion den Wert. Wenn es sich um ein Vertragskonto handelt, wird die Transaktion den Vertragscode ausführen)

  • signature – die Kennung des Absenders.Diese Signatur wird generiert, wenn eine Transaktion vom privaten Schlüssel des Absenders unterzeichnet wird, um sicherzustellen, dass der Absender diese Transaktion autorisiert hat.

  • value – Menge der ETH, die vom Absender in den Empfänger übertragen wird (in Wei, eine Denomination der ETH)

  • data – Optionale Felder, die alle Daten enthalten können

  • gasLimit – Die maximale Menge an Gas, die durch eine Transaktion verbraucht werden kann.Die Gaseinheit repräsentiert den Berechnungsschritt

  • maxPriorityFeePerGas - Maximale Gasmenge als Bergmannsspitze enthalten

  • maxFeePerGas - Maximale Gasmenge, die bereit ist, die Transaktion zu bezahlen (einschließlich Basisfeepergas und MaxpriorityFeepepergas)

Gas ist die Menge an arithmetischer Leistung, die vom Bergmann erforderlich ist, um die Transaktion zu verarbeiten.Der Benutzer muss eine Gebühr für diese Berechnung zahlen.gaslimit und gastrice bestimmen die maximale Transaktionsgebühr, die an den Bergmann zu zahlen ist.

Das Transaktionsobjekt sieht so aus:

//{ 
    from: "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8", 
    to: "0xac03bb73b6a9e108530aff4df5077c2b3d481e5a", 
    gasLimit: "21000", 
    maxFeePerGas: "300" 
    maxPriorityFeePerGas: "10" 
    nonce: "0", 
    value: "10000000000",
}

Das Ziel der Transaktion muss jedoch mit dem privaten Schlüssel des Absenders unterschrieben sein.Dies beweist, dass die Transaktion nur aus dem Absender stammen kann und nicht von Betrug.

Der Polysmartchain -Client wie GPSC übernimmt diesen Unterzeichnungsvorgang.

Beispiel JSON-RPC-Anruf:

{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "account_signTransaction",
  "params": [
    {
      "from": "0x1923f626bb8dc025849e00f99c25fe2b2f7fb0db",
      "gas": "0x55555",
      "maxFeePerGas": "0x1234",
      "maxPriorityFeePerGas": "0x1234",
      "input": "0xabcd",
      "nonce": "0x0",
      "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
      "value": "0x1234"
    }
  ]
}

Beispielantwort:

//{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "raw": "0xf88380018203339407a565b7ed7d7a678680a4c162885bedbb695fe080a44401a6e4000000000000000000000000000000000000000000000000000000000000001226a0223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20ea02aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663",
    "tx": {
      "nonce": "0x0",
      "maxFeePerGas": "0x1234",
      "maxPriorityFeePerGas": "0x1234",
      "gas": "0x55555",
      "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
      "value": "0x1234",
      "input": "0xabcd",
      "v": "0x26",
      "r": "0x223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20e",
      "s": "0x2aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663",
      "hash": "0xeba2df809e7a612a0a0d444ccfa5c839624bdc00dd29e3340d46df3870f8a30e"
    }
  }
}
  • raw ist das RLP (Rekursive Länge Präfix) codierte Form der signierten Transaktion.

  • tx ist die JSON-Form der unterschriebenen Transaktion.

Wenn ein Signature -Hash verfügbar ist, kann die Transaktion kryptografisch vom Absender erwiesen und beim Netzwerk übermittelt werden.

Art der Transaktion

Polysmartchain hat verschiedene Arten von Transaktionen:

  • Regelmäßige Transaktionen: Transaktionen von einer Brieftasche zur anderen.

  • Vertragsbereitstellungstransaktionen: Transaktionen ohne Adress-, Datenfeld für den Vertragscode.

Über gas.

Wie oben erwähnt, kostet es Gas, um die Transaktion auszuführen.Eine einfache Transfertransaktion kostet 21.000 Gas.

Angenommen, dass Bob 1 PSC für Alice für 190 Gwe von Basefeepergas und 10 Gwe von MaxpriorityFeepergas senden möchte, muss Bob folgende Gebühren zahlen:

    (190 + 10) * 21000 = 4,200,000 gwei
    --or--
    0.0042 PSC

Bobs Konto wird um 1.0042 PSC reduziert

Das Konto von Alice wird um +1,0 PSC erhöht

Die Grundgebühr von 0,00399 PSC abziehen

Bergleute behalten Tipps +0.000210 PSC

Jede Smart Contract -Interaktion erfordert auch Gas.

Transaktionslebenszyklus

Sobald eine Transaktion eingereicht wurde, kommt es zu Folgendes:

  1. Sobald Sie eine Transaktion gesendet haben, generiert die Kryptographie den Transaktion Hash:0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017

  2. Die Transaktion wird dann an das Netzwerk weitergeleitet und in eine Sammlung mit einer großen Anzahl anderer Transaktionen aufgenommen.

  3. Der Bergmann muss Ihre Transaktion auswählen und in einen Block einschließen, um die Transaktion zu bestätigen und es "erfolgreich" in Betracht ziehen.

    • Wenn das Netzwerk beschäftigt ist und Bergleute nicht weiter mithalten können, können Sie in dieser Phase möglicherweise warten.

  4. Ihre Transaktion erhält eine "Bestätigung".Die Anzahl der Bestätigungen ist die Anzahl der Blöcke, die seit dem Block mit Ihrer Transaktion erstellt wurden.Je größer diese Zahl ist, desto größer ist die Gewissheit, dass die Transaktion vom Netzwerk verarbeitet und bestätigt wird.

    • Der jüngste Block kann neu organisiert werden, was den Eindruck erweckt, dass die Transaktion fehlgeschlagen ist.Die Transaktion kann jedoch weiterhin gültig sein, aber in einem anderen Block enthalten.

    • The probability of reconfiguration deDie Wahrscheinlichkeit der Umkonfiguration nimmt mit jedem nachfolgenden Block abgebaut, d. H. Je mehr Bestätigungen, desto unüberwelter wird die Transaktion.

Expanding Resources

Last updated