Python을 사용하여 Flask 앱 암호화폐 결제 결제 구축

Python, Infura 및 Web3 모듈을 사용하여 웹사이트에서 암호화폐 결제 체크아웃을 개발하는 방법을 간략하게 살펴보세요.

암호화폐 결제 방법은 판매자가 구매자로부터 자금을 받을 수 있도록 하여 기존 은행 결제의 엄격한 규제를 피합니다. 어떤 면에서는 자체적으로 구축한 암호화폐 결제 방식을 활용함으로써 장기적으로 비용을 절감하고 사업 확장을 촉진할 수도 있습니다.

이 기사에서는 Python, Infura 및 Web3 모듈을 사용하여 웹사이트에서 암호화폐 결제 체크아웃을 개발하는 방법을 간략하게 살펴보겠습니다. 이 튜토리얼이 끝나면 이를 웹에 추가하고 구매자가 암호화폐 네트워크를 통해 자금을 확인하고 보낼 수 있게 할 수 있습니다.

목차: 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/
  • Nonce: w3.eth.getTransactionCount(구매자 지갑 주소)
  • 가스 가격: w3.eth.gas_price
  • 총 가스 비용:

gas = w3 . eth . estimate_gas ( transaction )

    transaction2 [ 'gas' ] = gas

이더리움 블록체인을 연결하기 위한 Metamask 및 Infura API 노드

Infura API 연결 및 Metamask 사용 지침에 대해서는 이전에 다른 기사에서 공유한 적이 있습니다. 자세한 내용은 이 기사를 확인하세요.

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

메타마스 로그인을 이용한 사용자 인증에 대해서는 다음 글에서 공유하겠습니다.

Infura, Metamask 및 Web3를 사용하여 암호화폐 결제 방법 생성에 대한 전체 Python 스크립트

Web3.0 튜토리얼 8 – Infura, Metamask 및 Web3를 사용한 암호화폐 결제 방법 생성 에 관심이 있다면, "Web3.0 tutorial 8"이라는 메시지를 추가하여 뉴스레터를 구독 해 주세요. . 우리는 즉시 귀하의 사서함으로 스크립트를 보내드립니다.

Web3.0 튜토리얼 8 – Infura, Metamask 및 Web3를 사용한 암호화폐 결제 방법 생성을 재미있게 읽으시기 바랍니다. 그렇게 했다면 아래 나열된 일 중 하나를 수행하여 우리를 지원해 주세요. 이는 항상 우리 채널에 도움이 되기 때문입니다.

  • PayPal( paypal.me/Easy2digital )을 통해 내 채널을 지원하고 기부하세요.
  • 내 채널을 구독하고 Easy2Digital Youtube 채널 알림 벨을 켜십시오.
  • 내 페이지 Easy2Digital Facebook 페이지를 팔로우하고 좋아요를 누르세요.
  • 해시태그 #easy2digital을 사용하여 소셜 네트워크에 기사를 공유하세요.
  • Easy2Digital 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하세요.
  • Patreon을 통해 월간 멤버십을 구독하여 독점적인 혜택을 누리세요( www.patreon.com/louisludigital )