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 requeridos para crear una transacción.
- Nodo API de Metamask e Infura para conectar Ethereum Blockchain
- Firmar y enviar la transacción
- Ruta del matraz
- Script Python completo de la creación de un método de pago de Criptomonedas usando 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.
- Apoye y done a mi canal a través de PayPal ( paypal.me/Easy2digital )
- Suscríbete a mi canal y activa la campana de notificaciones del canal de Youtube Easy2Digital .
- Sigue y dale me gusta a mi página Página de Facebook de Easy2Digital
- Comparte el artículo en tu red social con el hashtag #easy2digital
- Te registras en nuestro boletín semanal para recibir los últimos artículos, vídeos y códigos de descuento de Easy2Digital.
- Suscríbase a nuestra membresía mensual a través de Patreon para disfrutar de beneficios exclusivos ( www.patreon.com/louisludigital )