Erstellen Sie die Zahlungsabwicklung für Kryptowährungen in der Flask-App mit Python

0

Gehen Sie kurz durch, wie Sie Python-, Infura- und Web3-Module verwenden, um eine Zahlungsabwicklung für Kryptowährungen auf der Website zu entwickeln

Die Kryptowährungs-Zahlungsmethode ermöglicht es Händlern, Gelder von Käufern zu erhalten, um strenge Vorschriften bei herkömmlichen Bankzahlungen zu vermeiden. In gewisser Weise können dadurch auch auf lange Sicht Kosten gespart und die Geschäftsausweitung erleichtert werden, indem hausintern entwickelte Kryptowährungs-Zahlungsmethoden verwendet werden.

In diesem Artikel würde ich kurz erläutern, wie man Python-, Infura- und Web3-Module verwendet, um eine Zahlungsabwicklung für Kryptowährungen auf der Website zu entwickeln. Am Ende dieses Tutorials können Sie dies auf Ihrer Website hinzufügen und Ihren Käufern erlauben, auszuchecken und Ihnen Geld über das Crypto-Netzwerk zu senden.

Inhaltsverzeichnis: Hinzufügen einer Kryptowährungs-Zahlungsmethode zu einer Flask-App mit Python, Infura, Metamask und Web3

Argumente und Werte, die zum Erstellen einer Transaktion erforderlich sind

Grundsätzlich gibt es in einer Transaktion einige unverzichtbare Argumente und Werte und das Datenformat befindet sich im Wörterbuch. Hier ist die Grundformel wie folgt:

transaction = { "gasPrice" : gasPrice , "chainId" : int (

        chain_id ), "from" : address , "to" : receiverAddress , "value" : valuetoSend , "nonce" : nonce }

    gas = w3 . eth . estimate_gas ( transaction )

    transaction [ 'gas' ] = gas

  • Absender-Wallet-Adresse: Käufer geben ihre Adresse an, indem sie sich beim Auschecken des Artikels auf der Website des Händlers anmelden
  • Empfänger-Wallet-Adresse (es ist das Händlerkonto, das standardmäßig in Flask .env hinzugefügt wird)
  • Zu zahlender Betrag
  • Gaspreis: Abwicklungspreis pro Transaktion
  • Ketten-ID: Blockchain-Knoten-ID, mit der Sie eine Verbindung herstellen
  • Nonce: Transaktionsanzahl aus der öffentlichen Wallet-ID des Absenders
  • Die Gesamtkosten für Gas

Einige Argumente können wie folgt gewonnen werden:

  • Gaspreis: w3.eth.gas_price
  • Ketten-ID: https://chainlist.org/
  • Nonce: w3.eth.getTransactionCount(Käufer-Wallet-Adresse)
  • Gaspreis: w3.eth.gas_price
  • Gesamtkosten für Gas:

gas = w3 . eth . estimate_gas ( transaction )

    transaction2 [ 'gas' ] = gas

Metamask- und Infura-API-Knoten zur Verbindung der Ethereum-Blockchain

Ich habe bereits in einem anderen Artikel über die Infura-API-Verbindung und Anweisungen zur Verwendung von Metamask berichtet. Weitere Informationen finden Sie in diesem Artikel.

https://www.easy2digital.com/web3/use-infura-and-metamask-in-python-scripts-to-deploy-web3-on-ethereum/

In der zur Flask-App hinzugefügten Zahlungsmethode „Kryptowährung“ kann dieser Abschnitt auf globaler Ebene eines Skripts hinzugefügt werden, das zur Verwendung in jeder lokalen Funktion gemeinsam genutzt werden kann. Probe wie folgt:

# -------------- Connect ETH network using a node: Infura -------------- ##

w3 = Web3 ( Web3 . HTTPProvider (

    "Your API endpoint" ))

gasPrice = w3 . eth . gas_price

chain_id = your chain ID

private_key = os . environ . get ( 'PRIVATE_KEY2' )

def accountBalance ( address ):

    accountBalance = w3 . eth . get_balance ( address )

    return accountBalance

Unterschreiben und senden Sie die Transaktion

Jetzt sind Netzwerkverbindung und Transaktionsmodul bereit. Wir können mit dem Testen des Checkouts von Käufern beginnen.

   signed_txn = w3 . eth . account . sign_transaction (

        transaction2 , private_key = 'buyer Metamask sign-in authentication' )

    tx_hash = w3 . eth . send_raw_transaction ( signed_txn .rawTransaction)

    tx_receipt = w3 . eth . wait_for_transaction_receipt ( tx_hash)

Flaschenroute

Zu guter Letzt müssen wir diese Funktion mit der Flask-Haupt-App-Route verbinden. Das Codebeispiel lautet wie folgt:

@ app .route ( '/' , methods =[ 'GET' , 'POST' ])

def web3Transaction123 ():

    if request . args . get ( 'SenderAddress' ) and request . args . get ( 'sendingValue' ):

        prompt = request . args . get ( 'SenderAddress' )

        prompt3 = request . args . get ( 'sendingValue' )

        if request . args . get ( 'user_signed' ):

            response2 = web3Transaction (

                prompt , prompt3 , request . args . get ( 'user_signed' ))

            flash ( "Done! Thank you for your payment" )

            return render_template ( 'test.html' , response22 = response2 )

    return render_template ( 'test.html' )

Die Benutzerauthentifizierung mithilfe der Metamas-Anmeldung werde ich im nächsten Artikel erläutern.

Vollständiges Python-Skript zur Erstellung einer Kryptowährungs-Zahlungsmethode mit Infura, Metamask und Web3

Wenn Sie sich für Web3.0-Tutorial 8 – Erstellung von Kryptowährungs-Zahlungsmethoden mit Infura, Metamask und Web3 interessieren, Bitte abonnieren Sie unseren Newsletter , indem Sie die Nachricht „Web3.0 Tutorial 8“ hinzufügen. . Wir senden Ihnen das Skript umgehend in Ihr Postfach.

Ich wünsche Ihnen viel Spaß beim Lesen des Web3.0-Tutorials 8 – Erstellung von Kryptowährungs-Zahlungsmethoden mit Infura, Metamask und Web3 . Wenn ja, unterstützen Sie uns bitte, indem Sie eine der unten aufgeführten Maßnahmen ergreifen, da dies unserem Kanal immer weiterhilft.

  • Unterstützen Sie meinen Kanal und spenden Sie über PayPal ( paypal.me/Easy2digital )
  • Abonnieren Sie meinen Kanal und aktivieren Sie die Benachrichtigungsglocke des Easy2Digital-Youtube-Kanals .
  • Folgen und liken Sie meine Easy2Digital-Facebook-Seite
  • Teilen Sie den Artikel in Ihrem sozialen Netzwerk mit dem Hashtag #easy2digital
  • Sie melden sich für unseren wöchentlichen Newsletter an, um die neuesten Artikel, Videos und Rabattcodes von Easy2Digital zu erhalten
  • Abonnieren Sie unsere monatliche Mitgliedschaft über Patreon, um exklusive Vorteile zu genießen ( www.patreon.com/louisludigital )

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert