Cree el pago con criptomonedas de la aplicación Flask usando Python

Explique brevemente cómo utilizar los módulos Python, Infura y Web3 para desarrollar un pago con criptomonedas en el sitio web.

El método de pago con criptomonedas facilita a los comerciantes recibir fondos de los compradores para evitar las estrictas regulaciones de los pagos bancarios tradicionales. En cierto modo, también puede ahorrar costos a largo plazo y facilitar la expansión del negocio mediante el uso de métodos de pago de criptomonedas creados internamente.

En este artículo, explicaré brevemente cómo usar los módulos de Python, Infura y Web3 para desarrollar un pago de criptomonedas en el sitio web. Al final de este tutorial, podrá agregar esto en su web y permitir que sus compradores realicen el pago y le envíen fondos a través de la red Crypto.

Tabla de contenido: agregue un método de pago con criptomonedas a una aplicación Flask usando Python, Infura, Metamask y Web3

Argumentos y valor necesarios para crear una transacción

Básicamente, hay algunos argumentos y valores imprescindibles en una transacción y el formato de datos está en el diccionario. Aquí está la fórmula fundamental de la siguiente manera:

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

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

    gas = w3 . eth . estimate_gas ( transaction )

    transaction [ 'gas' ] = gas

  • Dirección de la billetera del remitente: los compradores agregan su dirección iniciando sesión en el sitio web del comerciante al pagar el artículo
  • Dirección de la billetera del receptor (es la cuenta del comerciante agregada de forma predeterminada en Flask .env)
  • Monto a pagar
  • Precio del gas: Precio de procesamiento por transacción
  • Chaine ID: ID de nodo de Blockchain con el que se está conectando
  • Nonce: Recuento de transacciones del ID de monedero público del remitente
  • El costo total del gas.

Se puede obtener algún valor de argumento de la siguiente manera:

  • Precio de la gasolina: w3.eth.gas_price
  • ID de cadena: https://chainlist.org/
  • Nonce: w3.eth.getTransactionCount (dirección de la billetera del comprador)
  • Precio de la gasolina: w3.eth.gas_price
  • Costo Total del Gas:

gas = w3 . eth . estimate_gas ( transaction )

    transaction2 [ 'gas' ] = gas

Nodo Metamask e Infura API para conectar Ethereum Blockchain

He compartido en otro artículo antes sobre la conexión de la API de Infura y las instrucciones de uso de Metamask, consulte este artículo para obtener más detalles.

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

En el método de pago de Criptomonedas agregado a la aplicación Flask, esta sección se puede agregar a nivel global de un script que se puede compartir para usar en cada función local. Muestra de la siguiente manera:

# -------------- 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

Firmar y enviar la transacción

Ahora la conexión de red y el módulo de transacciones están listos. Podemos comenzar a probar el pago de los compradores.

   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)

Ruta del matraz

Por último, pero no menos importante, debemos conectar esta función con la ruta principal de la aplicación Flask. El ejemplo de código es el siguiente:

@ 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' )

Para la autenticación del usuario mediante el inicio de sesión de Metamas, lo compartiré en el próximo artículo.

Script Python completo de la creación de un método de pago de Criptomonedas usando Infura, Metamask y Web3

Si está interesado en el tutorial 8 de Web3.0: creación de métodos de pago de criptomonedas utilizando Infura, Metamask y Web3 , suscríbase a nuestro boletín de noticias agregando el mensaje "Web3.0 tutorial 8" . Le enviaremos el guión inmediatamente a su buzón.

Espero que disfrute leyendo el tutorial 8 de Web3.0: Creación de métodos de pago de criptomonedas utilizando Infura, Metamask y Web3 . Si lo hizo, apóyenos haciendo una de las cosas que se enumeran a continuación, porque siempre ayuda a nuestro canal.