Python を使用して Flask アプリの暗号通貨支払いチェックアウトを構築する

Python、Infura、Web3 モジュールを使用して Web サイト上で暗号通貨支払いチェックアウトを開発する方法を簡単に説明します。

暗号通貨の支払い方法により、販売者は購入者から資金を受け取りやすくなり、従来の銀行支払いによる厳しい規制を回避できます。ある意味、社内で構築された暗号通貨支払い方法を使用することで、長期的にはコストを節約し、ビジネスの拡大を促進することもできます。

この記事では、Python、Infura、Web3 モジュールを使用して Web サイト上で暗号通貨支払いチェックアウトを開発する方法を簡単に説明します。このチュートリアルが終わるまでに、これをウェブに追加し、購入者がチェックアウトして暗号ネットワーク経由で資金を送金できるようにすることができます。

目次: Python、Infura、Metamask、および Web3 を使用して Flask アプリに暗号通貨支払い方法を追加する

トランザクションの作成に必要な引数と値

基本的に、トランザクションには必須の引数と値がいくつかあり、データ形式はディクショナリにあります。基本的な公式は次のとおりです。

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

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

    gas = w3 . eth . estimate_gas ( transaction )

    transaction [ 'gas' ] = gas

  • 送信者のウォレットアドレス: 購入者は、商品をチェックアウトするときに販売者のウェブサイトにサインインして、自分のアドレスを追加します。
  • 受信者のウォレットアドレス (デフォルトでは Flask .env に追加される販売アカウントです)
  • お支払い金額
  • ガス価格: トランザクションあたりの処理価格
  • Chaine ID: 接続しているブロックチェーンのノードID
  • Nonce: 送信者の公開ウォレット ID からのトランザクション数
  • ガス代の合計

一部の引数値は次のように取得できます。

  • ガス価格: w3.eth.gas_price
  • チェーンID:https: //chainlist.org/
  • ナンス: w3.eth.getTransactionCount(購入者のウォレットアドレス)
  • ガス価格: w3.eth.gas_price
  • ガスの総コスト:

gas = w3 . eth . estimate_gas ( transaction )

    transaction2 [ 'gas' ] = gas

Ethereum ブロックチェーンに接続するための Metamask と Infura API ノード

Infura API 接続とメタマスクの使用手順については、以前別の記事で共有しました。詳細については、この記事を確認してください。

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

Flask アプリに追加された暗号通貨支払い方法では、このセクションをスクリプトのグローバル レベルに追加して、各ローカル関数で使用できるように共有できます。次のようにサンプルします。

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

トランザクションに署名して送信する

これでネットワーク接続とトランザクションモジュールの準備が整いました。購入者からのチェックアウトのテストを開始できます。

   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)

フラスコルート

最後になりましたが、この関数を Flask メイン アプリのルートに接続する必要があります。コードサンプルは次のとおりです。

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

Metamasサインインによるユーザー認証については、次回の記事で紹介します。

Infura、Metamask、Web3 を使用した暗号通貨支払い方法作成の完全な Python スクリプト

Web3.0 チュートリアル 8 – Infura、Metamask、および Web3 を使用した暗号通貨支払い方法の作成に興味がある場合は、 「Web3.0 チュートリアル 8」というメッセージを追加してニュースレターを購読してください。 。スクリプトはすぐにあなたのメールボックスに送信されます。

「Web3.0 チュートリアル 8 – Infura、Metamask、および Web3 を使用した暗号通貨支払い方法の作成」を楽しんで読んでいただければ幸いです。もしそうなら、以下にリストされているいずれかの方法で私たちをサポートしてください。それは常に私たちのチャンネルに役立ちます。

  • PayPal を通じて私のチャンネルをサポートし、寄付してください ( paypal.me/Easy2digital )
  • 私のチャンネルを購読し、 Easy2Digital Youtube チャンネルの通知ベルをオンにしてください。
  • Easy2Digital Facebook ページをフォローして「いいね!」してください
  • ハッシュタグ #easy2digital を付けて記事をソーシャル ネットワークで共有してください
  • Easy2Digital の最新記事、ビデオ、割引コードを受け取るには、毎週のニュースレターに登録してください。
  • Patreon を通じて月額メンバーシップに登録すると、限定特典をお楽しみいただけます ( www.patreon.com/louisludigital )

よくある質問:

Q1: 楽天の商品はどのように購入できますか?

A: 楽天の商品は、楽天モールや楽天市場のウェブサイトやアプリを通じて購入することができます。

Q2: 楽天の商品の配送にはどれくらい時間がかかりますか?

A: 楽天の商品の配送時間は、商品や配送地域によって異なります。通常、数日から1週間程度の時間がかかることが一般的です。

Q3: 楽天の商品の返品・交換はできますか?

A: はい、楽天の商品の返品や交換は可能です。ただし、商品や販売者によって返品・交換の条件が異なる場合がありますので、詳細は各商品の販売ページをご確認ください。

Q4: 楽天での支払い方法は何がありますか?

A: 楽天では、クレジットカードや銀行振込、代金引換など、さまざまな支払い方法が利用できます。詳細は購入手続き時にご確認ください。

Q5: 楽天の商品は国内外への配送が可能ですか?

A: はい、楽天の商品は国内外への配送が可能です。ただし、一部の商品や配送地域によっては配送が制限される場合がありますので、ご注意ください。

Q6: 楽天のポイントはどのように使用できますか?

A: 楽天のポイントは、楽天モールや楽天市場でのお買い物や楽天サービスの利用時に利用することができます。ポイントは現金やギフト券などに交換することも可能です。

Q7: 楽天の商品は保証付きですか?

A: 楽天の商品には、保証が付いている場合と付いていない場合があります。商品ページや販売者の情報をご確認いただき、保証の有無についてご確認ください。

Q8: 楽天での会員登録には費用がかかりますか?

A: 楽天での会員登録は無料です。誰でも簡単に会員登録をすることができますので、お気軽にご利用ください。

Q9: 楽天の商品は安心して購入できますか?

A: 楽天では、信頼性の高い販売者や商品を提供するための審査や評価システムを導入しています。また、規約違反やトラブルなどがあった場合には適切な対応を行っていますので、安心して楽天でのお買い物をお楽しみください。

Q10: 楽天の商品にはクーポンやキャンペーンがありますか?

A: はい、楽天では定期的にクーポンやキャンペーンを実施しています。特定の商品や期間限定のお得な情報をお見逃しなく、お買い物をお楽しみください。